`files` was ["dist"], but dist carries 256KB of .js.map and .d.ts.map whose `sources` point at ../../src/*.ts — which was not published. Every shipped sourcemap resolved to nothing: 44% of the tarball, dead weight. The source is 116KB and its comments are the most detailed explanation of why the engine does what it does, so it now ships (tests and the demo excluded) and the maps resolve. Verified from a real `npm pack` install: both utils.js.map and utils.d.ts.map now resolve to a file that exists, so stepping into cereale in a debugger and "go to definition" from a decorator both land in the real TypeScript. Also: CHANGELOG.md ships; the repository/homepage/bugs URLs said Avalon-Vanguard and only worked via GitHub's redirect, now lowercase to match the org; publishConfig.access is explicit so a later move to a scoped name cannot quietly attempt a private publish. Adds a Publish to npm workflow, deliberately manual — pushing a tag does not publish, because a tag is a decision to cut a release and publishing is a decision to make it public and immutable. It asserts the tag exists and points at the commit being published, refuses a version already on the registry, runs the full verify gate, prints the file list, and defaults to a dry run. Checked end to end against the tarball: a strict consumer (no skipLibCheck, no DOM lib) compiles and runs against both `cereale` and `cereale/vite`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAcqrz3FcadkYr3xG32CjK
90 lines
2.6 KiB
JSON
90 lines
2.6 KiB
JSON
{
|
|
"name": "cereale",
|
|
"version": "0.3.0",
|
|
"description": "Strongly typed JSON mapping and validation for TypeScript classes \u2014 validated domain objects, not validated data. A zero-dependency replacement for class-validator + class-transformer, on TC39 standard decorators.",
|
|
"type": "module",
|
|
"main": "./dist/cjs/index.js",
|
|
"module": "./dist/esm/index.js",
|
|
"types": "./dist/esm/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/esm/index.d.ts",
|
|
"import": "./dist/esm/index.js",
|
|
"require": "./dist/cjs/index.js"
|
|
},
|
|
"./vite": {
|
|
"types": "./dist/esm/vite.d.ts",
|
|
"import": "./dist/esm/vite.js",
|
|
"require": "./dist/cjs/vite.js"
|
|
}
|
|
},
|
|
"sideEffects": [
|
|
"./dist/esm/metadata.js",
|
|
"./dist/cjs/metadata.js"
|
|
],
|
|
"files": [
|
|
"dist",
|
|
"src",
|
|
"CHANGELOG.md",
|
|
"!src/**/*.test.ts",
|
|
"!src/example.ts"
|
|
],
|
|
"scripts": {
|
|
"build": "rm -rf dist && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json",
|
|
"build:docs": "node scripts/build-docs.mjs",
|
|
"demo": "node --no-warnings=ExperimentalWarning --loader ts-node/esm src/example.ts",
|
|
"type-check": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"verify": "npm run type-check && npm run lint && npm run test && npm run build && npm run check:types && npm run check:docs",
|
|
"prepublishOnly": "npm run verify",
|
|
"check:docs": "node scripts/check-docs.mjs",
|
|
"check:types": "node scripts/check-types.mjs"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.0.0"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/avalon-vanguard/cereale.git"
|
|
},
|
|
"keywords": [
|
|
"json",
|
|
"validation",
|
|
"decorators",
|
|
"standard-decorators",
|
|
"typescript",
|
|
"dto",
|
|
"serialization",
|
|
"class-validator",
|
|
"class-transformer",
|
|
"class-validator-alternative"
|
|
],
|
|
"author": "Avalon Vanguard",
|
|
"license": "MIT",
|
|
"bugs": {
|
|
"url": "https://github.com/avalon-vanguard/cereale/issues"
|
|
},
|
|
"homepage": "https://github.com/avalon-vanguard/cereale#readme",
|
|
"devDependencies": {
|
|
"@babel/standalone": "^8.0.4",
|
|
"@eslint/js": "^10.0.1",
|
|
"@swc/core": "^1.15.47",
|
|
"@types/node": "^25.6.0",
|
|
"@vitest/coverage-v8": "^4.1.4",
|
|
"esbuild": "^0.25.0",
|
|
"eslint": "^10.2.1",
|
|
"globals": "^17.5.0",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^6.0.2",
|
|
"typescript-eslint": "^8.58.2",
|
|
"vitest": "^4.1.4"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
}
|
|
}
|