@koppajs/koppajs-kpa-check 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,7 +1,38 @@
1
- # Changelog
1
+ # Change Log
2
2
 
3
- All notable changes to `@koppajs/koppajs-kpa-check` are recorded here.
3
+ All notable changes to **@koppajs/koppajs-kpa-check** are documented in this file.
4
4
 
5
+ This project uses a **manual, tag-driven release process**.
6
+ Only tagged versions represent official releases.
7
+
8
+ This changelog documents **intentional milestones and guarantees**,
9
+ not every internal refactor.
10
+
11
+ ---
12
+
13
+ ## [Unreleased]
14
+
15
+ This section is intentionally empty.
16
+
17
+ ## [0.1.2]
18
+
19
+ - Fix the published ESM runtime by resolving `package.json` without `__dirname`
20
+ and add a post-build `dist` smoke test to `validate`.
21
+ - Raise the minimum supported Node.js version to `>= 22`, keep the maintainer
22
+ default on Node 22, and expand CI validation to Node 22 and Node 24.
23
+ - Add semantic documentation checks, tracked engine enforcement, workflow
24
+ documentation, and real `@koppajs/koppajs-language-core` CLI regression
25
+ coverage to keep the repository aligned with the KoppaJS package baseline.
26
+
27
+ ## [0.1.1]
28
+
29
+ - Add the governed repository documentation contract, local `check:docs`
30
+ validation, and the matching Husky pre-commit hook for required root docs.
31
+ - Align the published package with Node ESM expectations and validate the
32
+ supported `@koppajs/koppajs-language-core` range at `^0.1.3`.
33
+ - Expand the root governance and contributor documents to match the current
34
+ KoppaJS repository standards for branding and repository guidance.
35
+ ---
5
36
  ## [0.1.0]
6
37
 
7
38
  - Establish the initial published CLI package boundary for deterministic `.kpa`
package/README.md CHANGED
@@ -1,8 +1,67 @@
1
- # @koppajs/koppajs-kpa-check
2
-
3
- `@koppajs/koppajs-kpa-check` is the KoppaJS CLI diagnostics runner for `.kpa` files.
4
- It resolves one or more filesystem targets, delegates semantic analysis to
5
- `@koppajs/koppajs-language-core`, and emits deterministic command-line diagnostics.
1
+ <a id="readme-top"></a>
2
+
3
+ <div align="center">
4
+ <img src="https://public-assets-1b57ca06-687a-4142-a525-0635f7649a5c.s3.eu-central-1.amazonaws.com/koppajs/koppajs-logo-text-900x226.png" width="500" alt="KoppaJS Logo">
5
+ </div>
6
+
7
+ <br>
8
+
9
+ <div align="center">
10
+ <a href="https://www.npmjs.com/package/@koppajs/koppajs-kpa-check"><img src="https://img.shields.io/npm/v/@koppajs/koppajs-kpa-check?style=flat-square" alt="npm version"></a>
11
+ <a href="https://github.com/koppajs/koppajs-kpa-check/actions"><img src="https://img.shields.io/github/actions/workflow/status/koppajs/koppajs-kpa-check/ci.yml?branch=main&style=flat-square" alt="CI Status"></a>
12
+ <a href="./LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue?style=flat-square" alt="License"></a>
13
+ </div>
14
+
15
+ <br>
16
+
17
+ <div align="center">
18
+ <h1 align="center">@koppajs/koppajs-kpa-check</h1>
19
+ <h3 align="center">CLI diagnostics runner for KoppaJS .kpa files</h3>
20
+ <p align="center">
21
+ <i>Deterministic command-line diagnostics powered by the shared KoppaJS language layer.</i>
22
+ </p>
23
+ </div>
24
+
25
+ <br>
26
+
27
+ <div align="center">
28
+ <p align="center">
29
+ <a href="https://github.com/koppajs/koppajs-documentation">Documentation</a>
30
+ &middot;
31
+ <a href="https://github.com/koppajs/koppajs-language-core">Language Core</a>
32
+ &middot;
33
+ <a href="https://github.com/koppajs/koppajs-language-server">Language Server</a>
34
+ &middot;
35
+ <a href="https://github.com/koppajs/koppajs-vscode-extension">VS Code Extension</a>
36
+ &middot;
37
+ <a href="https://github.com/koppajs/koppajs-kpa-check/issues">Issues</a>
38
+ </p>
39
+ </div>
40
+
41
+ <br>
42
+
43
+ <details>
44
+ <summary>Table of Contents</summary>
45
+ <ol>
46
+ <li><a href="#purpose">Purpose</a></li>
47
+ <li><a href="#repository-classification">Repository Classification</a></li>
48
+ <li><a href="#ownership-boundaries">Ownership Boundaries</a></li>
49
+ <li><a href="#public-contract">Public Contract</a></li>
50
+ <li><a href="#installation">Installation</a></li>
51
+ <li><a href="#requirements">Requirements</a></li>
52
+ <li><a href="#usage">Usage</a></li>
53
+ <li><a href="#json-output">JSON Output</a></li>
54
+ <li><a href="#exit-codes">Exit Codes</a></li>
55
+ <li><a href="#ecosystem-fit">Ecosystem Fit</a></li>
56
+ <li><a href="#quality-baseline">Quality Baseline</a></li>
57
+ <li><a href="#release-model">Release Model</a></li>
58
+ <li><a href="#architecture-governance">Architecture & Governance</a></li>
59
+ <li><a href="#community-contribution">Community & Contribution</a></li>
60
+ <li><a href="#license">License</a></li>
61
+ </ol>
62
+ </details>
63
+
64
+ ---
6
65
 
7
66
  ## Purpose
8
67
 
@@ -16,6 +75,8 @@ This repository exists to do one job well:
16
75
 
17
76
  It is not a parser fork, a formatter, or a replacement for the language server.
18
77
 
78
+ ---
79
+
19
80
  ## Repository Classification
20
81
 
21
82
  - Repo type: CLI diagnostics package
@@ -26,6 +87,8 @@ It is not a parser fork, a formatter, or a replacement for the language server.
26
87
  - UI surface: none
27
88
  - Maturity level: `v0` stabilization
28
89
 
90
+ ---
91
+
29
92
  ## Ownership Boundaries
30
93
 
31
94
  - [`src/cli.ts`](./src/cli.ts) owns executable startup only.
@@ -42,6 +105,8 @@ It is not a parser fork, a formatter, or a replacement for the language server.
42
105
  Language analysis rules, diagnostic messages, and workspace indexing remain the
43
106
  responsibility of `@koppajs/koppajs-language-core`.
44
107
 
108
+ ---
109
+
45
110
  ## Public Contract
46
111
 
47
112
  The stable public surface of this repository is intentionally small:
@@ -61,6 +126,51 @@ The stable public surface of this repository is intentionally small:
61
126
  The governing behavior spec is
62
127
  [docs/specs/diagnostics-runner-contract.md](./docs/specs/diagnostics-runner-contract.md).
63
128
 
129
+ ---
130
+
131
+ ## Core Compatibility
132
+
133
+ This release line validates against:
134
+
135
+ - `@koppajs/koppajs-language-core: ^0.1.4`
136
+
137
+ The effective compatibility contract is the dependency range in
138
+ `package.json`. The maintenance policy lives in
139
+ [`docs/meta/version-compatibility.md`](./docs/meta/version-compatibility.md).
140
+
141
+ ---
142
+
143
+ ## Installation
144
+
145
+ Install the package into a workspace that should run local `.kpa` diagnostics:
146
+
147
+ ```bash
148
+ npm install --save-dev @koppajs/koppajs-kpa-check
149
+ ```
150
+
151
+ Run it without adding a custom wrapper:
152
+
153
+ ```bash
154
+ npx kpa-check src
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Requirements
160
+
161
+ For package consumers:
162
+
163
+ - Node.js >= 22
164
+
165
+ For local repository work:
166
+
167
+ - Node.js >= 22
168
+ - npm >= 10
169
+
170
+ The maintainer default remains pinned to Node 22 through `.nvmrc`.
171
+
172
+ ---
173
+
64
174
  ## Usage
65
175
 
66
176
  Installed command:
@@ -117,6 +227,8 @@ const exitCode = runKpaCheck(['src'], {
117
227
  });
118
228
  ```
119
229
 
230
+ ---
231
+
120
232
  ## JSON Output
121
233
 
122
234
  `--json` writes exactly one JSON document to stdout for each invocation,
@@ -132,6 +244,8 @@ For diagnostics runs, the payload includes:
132
244
 
133
245
  The current JSON severity is always `warning`, matching the text output format.
134
246
 
247
+ ---
248
+
135
249
  ## Exit Codes
136
250
 
137
251
  - `0`: all reachable `.kpa` files were checked and no diagnostics were found,
@@ -140,12 +254,14 @@ The current JSON severity is always `warning`, matching the text output format.
140
254
  - `2`: the invocation itself was invalid, currently because at least one target
141
255
  path does not exist or an unknown/conflicting CLI option was provided
142
256
 
257
+ ---
258
+
143
259
  ## Ecosystem Fit
144
260
 
145
261
  `@koppajs/koppajs-kpa-check` complements the rest of the KoppaJS language toolchain:
146
262
 
147
263
  - `@koppajs/koppajs-language-core` owns parsing, indexing, and diagnostics
148
- - `@koppajs/language-server` exposes the same language layer through LSP
264
+ - `@koppajs/koppajs-language-server` exposes the same language layer through LSP
149
265
  - editor integrations can use the language server for interactive workflows
150
266
  - `@koppajs/koppajs-kpa-check` remains the narrow non-editor entry point for CI,
151
267
  scripts, and local validation
@@ -153,10 +269,20 @@ The current JSON severity is always `warning`, matching the text output format.
153
269
  The package intentionally stays thin so diagnostics behavior evolves in one
154
270
  place.
155
271
 
272
+ ---
273
+
156
274
  ## Quality Baseline
157
275
 
158
276
  The enforced repository checks are:
159
277
 
278
+ - `npm run check:docs`
279
+ - `npm run check:meta`
280
+ - `npm run format:check`
281
+ - `npm run lint`
282
+ - `npm run typecheck`
283
+ - `npm test`
284
+ - `npm run build`
285
+ - `npm run test:dist`
160
286
  - `npm run check`
161
287
  - `npm run validate`
162
288
 
@@ -164,6 +290,17 @@ The release candidate should also pass:
164
290
 
165
291
  - `npm run release:check`
166
292
 
293
+ GitHub Actions runs `npm run validate` on Node.js 22 and 24 for pushes to
294
+ `main` and `develop` and for pull requests. Tagged releases rerun
295
+ `npm run validate` and `npm run release:check` on the maintainer default from
296
+ `.nvmrc` before publish.
297
+
298
+ `npm run check:docs` includes both the governed root-document contract and a
299
+ semantic consistency check that keeps version, workflow, and quality-gate claims
300
+ aligned with the actual repository state.
301
+
302
+ ---
303
+
167
304
  ## Release Model
168
305
 
169
306
  Releases are manual and tag-driven through GitHub Actions.
@@ -173,26 +310,53 @@ Releases are manual and tag-driven through GitHub Actions.
173
310
  - `RELEASE.md` defines the repository-specific release workflow
174
311
  - `.github/workflows/release.yml` validates and publishes tagged releases
175
312
 
176
- ## Governance
313
+ ---
314
+
315
+ ## Architecture & Governance
177
316
 
178
- Repository governance lives in:
317
+ Project intent, contributor rules, and documentation contracts live in the local repo meta layer:
179
318
 
180
319
  - [AI_CONSTITUTION.md](./AI_CONSTITUTION.md)
181
320
  - [ARCHITECTURE.md](./ARCHITECTURE.md)
182
- - [CHANGELOG.md](./CHANGELOG.md)
183
321
  - [DECISION_HIERARCHY.md](./DECISION_HIERARCHY.md)
184
322
  - [DEVELOPMENT_RULES.md](./DEVELOPMENT_RULES.md)
185
- - [RELEASE.md](./RELEASE.md)
186
323
  - [TESTING_STRATEGY.md](./TESTING_STRATEGY.md)
187
- - [CONTRIBUTING.md](./CONTRIBUTING.md)
324
+ - [RELEASE.md](./RELEASE.md)
188
325
  - [ROADMAP.md](./ROADMAP.md)
189
- - [docs/meta/README.md](./docs/meta/README.md)
190
- - [docs/meta/maintenance.md](./docs/meta/maintenance.md)
191
- - [docs/meta/tooling-baseline.md](./docs/meta/tooling-baseline.md)
192
- - [docs/meta/version-compatibility.md](./docs/meta/version-compatibility.md)
326
+ - [CHANGELOG.md](./CHANGELOG.md)
327
+ - [CONTRIBUTING.md](./CONTRIBUTING.md)
328
+ - [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)
329
+ - [docs/specs/README.md](./docs/specs/README.md)
330
+ - [docs/specs/repository-documentation-contract.md](./docs/specs/repository-documentation-contract.md)
193
331
  - [docs/architecture/README.md](./docs/architecture/README.md)
332
+ - [docs/meta/README.md](./docs/meta/README.md)
333
+ - [docs/meta/repository-map.md](./docs/meta/repository-map.md)
194
334
  - [docs/quality/README.md](./docs/quality/README.md)
335
+ - [docs/quality/validation-baseline.md](./docs/quality/validation-baseline.md)
336
+ - [.github/workflows/README.md](./.github/workflows/README.md)
337
+
338
+ The file-shape contract for `README.md`, `CHANGELOG.md`, `CODE_OF_CONDUCT.md`, and `CONTRIBUTING.md` is defined in [docs/specs/repository-documentation-contract.md](./docs/specs/repository-documentation-contract.md).
339
+
340
+ Run the local document guard before committing:
341
+
342
+ ```bash
343
+ npm run check:docs
344
+ ```
345
+
346
+ ---
347
+
348
+ ## Community & Contribution
349
+
350
+ Issues and pull requests are welcome:
351
+
352
+ https://github.com/koppajs/koppajs-kpa-check/issues
353
+
354
+ Contributor workflow details live in [CONTRIBUTING.md](./CONTRIBUTING.md).
355
+
356
+ Community expectations live in [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
357
+
358
+ ---
195
359
 
196
360
  ## License
197
361
 
198
- Apache License 2.0
362
+ Apache License 2.0 — © 2026 KoppaJS, Bastian Bensch
package/dist/cli.js CHANGED
@@ -1,6 +1,4 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const index_1 = require("./index");
5
- process.exitCode = (0, index_1.runKpaCheck)(process.argv.slice(2));
2
+ import { runKpaCheck } from './index.js';
3
+ process.exitCode = runKpaCheck(process.argv.slice(2));
6
4
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,mCAAsC;AAEtC,OAAO,CAAC,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { runKpaCheck, type KpaCheckExitCode, type KpaCheckIo, type KpaCheckOutputFormat, type RunKpaCheckOptions, } from './runner';
1
+ export { runKpaCheck, type KpaCheckExitCode, type KpaCheckIo, type KpaCheckOutputFormat, type RunKpaCheckOptions, } from './runner.js';
package/dist/index.js CHANGED
@@ -1,6 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runKpaCheck = void 0;
4
- var runner_1 = require("./runner");
5
- Object.defineProperty(exports, "runKpaCheck", { enumerable: true, get: function () { return runner_1.runKpaCheck; } });
1
+ export { runKpaCheck, } from './runner.js';
6
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAMkB;AALhB,qGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAKZ,MAAM,aAAa,CAAC"}
package/dist/runner.js CHANGED
@@ -1,14 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resolveCliTargets = resolveCliTargets;
7
- exports.formatDiagnostic = formatDiagnostic;
8
- exports.runKpaCheck = runKpaCheck;
9
- const fs_1 = __importDefault(require("fs"));
10
- const path_1 = __importDefault(require("path"));
11
- const koppajs_language_core_1 = require("@koppajs/koppajs-language-core");
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ import { KpaWorkspaceGraph, } from '@koppajs/koppajs-language-core';
12
5
  const defaultIo = {
13
6
  error(message) {
14
7
  console.error(message);
@@ -32,6 +25,7 @@ const helpOptions = [
32
25
  },
33
26
  ];
34
27
  let cachedPackageMetadata;
28
+ const packageRootDirectory = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
35
29
  function compareDiagnostics(left, right) {
36
30
  if (left.range.line !== right.range.line) {
37
31
  return left.range.line - right.range.line;
@@ -45,8 +39,8 @@ function getPackageMetadata() {
45
39
  if (cachedPackageMetadata) {
46
40
  return cachedPackageMetadata;
47
41
  }
48
- const packageJsonPath = path_1.default.resolve(__dirname, '..', 'package.json');
49
- const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
42
+ const packageJsonPath = path.join(packageRootDirectory, 'package.json');
43
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
50
44
  cachedPackageMetadata = {
51
45
  name: packageJson.name,
52
46
  version: packageJson.version,
@@ -54,6 +48,12 @@ function getPackageMetadata() {
54
48
  return cachedPackageMetadata;
55
49
  }
56
50
  function getEffectivePackageMetadata(options) {
51
+ if (options.packageName !== undefined && options.version !== undefined) {
52
+ return {
53
+ name: options.packageName,
54
+ version: options.version,
55
+ };
56
+ }
57
57
  const packageMetadata = getPackageMetadata();
58
58
  return {
59
59
  name: options.packageName ?? packageMetadata.name,
@@ -61,7 +61,7 @@ function getEffectivePackageMetadata(options) {
61
61
  };
62
62
  }
63
63
  function formatRelativePath(cwd, filePath) {
64
- return path_1.default.relative(cwd, filePath) || path_1.default.basename(filePath);
64
+ return path.relative(cwd, filePath) || path.basename(filePath);
65
65
  }
66
66
  function formatHelpText(packageName, version) {
67
67
  return [
@@ -162,13 +162,13 @@ function toJsonDiagnostic(filePath, diagnostic, cwd) {
162
162
  severity: 'warning',
163
163
  };
164
164
  }
165
- function resolveCliTargets(argv, options = {}) {
165
+ export function resolveCliTargets(argv, options = {}) {
166
166
  const cwd = options.cwd ?? process.cwd();
167
- const fileExists = options.fileExists ?? fs_1.default.existsSync;
167
+ const fileExists = options.fileExists ?? fs.existsSync;
168
168
  const cliTargets = argv.length > 0 ? argv : [cwd];
169
169
  const uniqueTargets = new Set();
170
170
  const resolvedTargets = cliTargets
171
- .map((targetPath) => path_1.default.resolve(cwd, targetPath))
171
+ .map((targetPath) => path.resolve(cwd, targetPath))
172
172
  .filter((targetPath) => {
173
173
  if (uniqueTargets.has(targetPath)) {
174
174
  return false;
@@ -195,16 +195,15 @@ function resolveCliTargets(argv, options = {}) {
195
195
  targets: resolvedTargets,
196
196
  };
197
197
  }
198
- function formatDiagnostic(filePath, diagnostic, cwd = process.cwd()) {
198
+ export function formatDiagnostic(filePath, diagnostic, cwd = process.cwd()) {
199
199
  const relativeFilePath = formatRelativePath(cwd, filePath);
200
200
  const line = diagnostic.range.line + 1;
201
201
  const character = diagnostic.range.startChar + 1;
202
202
  return `${relativeFilePath}:${line}:${character} warning ${diagnostic.message}`;
203
203
  }
204
- function runKpaCheck(argv, options = {}) {
204
+ export function runKpaCheck(argv, options = {}) {
205
205
  const cwd = options.cwd ?? process.cwd();
206
206
  const io = options.io ?? defaultIo;
207
- const packageMetadata = getEffectivePackageMetadata(options);
208
207
  const parsedInvocation = parseCliInvocation(argv, options.outputFormat ?? 'text');
209
208
  if (parsedInvocation.status === 'error') {
210
209
  if (parsedInvocation.outputFormat === 'json') {
@@ -232,6 +231,7 @@ function runKpaCheck(argv, options = {}) {
232
231
  return parsedInvocation.exitCode;
233
232
  }
234
233
  if (parsedInvocation.command === 'help') {
234
+ const packageMetadata = getEffectivePackageMetadata(options);
235
235
  if (parsedInvocation.outputFormat === 'json') {
236
236
  writeJson(io, {
237
237
  description: 'Run KoppaJS diagnostics for .kpa files.',
@@ -248,6 +248,7 @@ function runKpaCheck(argv, options = {}) {
248
248
  return 0;
249
249
  }
250
250
  if (parsedInvocation.command === 'version') {
251
+ const packageMetadata = getEffectivePackageMetadata(options);
251
252
  if (parsedInvocation.outputFormat === 'json') {
252
253
  writeJson(io, {
253
254
  kind: 'version',
@@ -290,7 +291,7 @@ function runKpaCheck(argv, options = {}) {
290
291
  return resolvedTargets.exitCode;
291
292
  }
292
293
  const createWorkspaceGraph = options.createWorkspaceGraph ??
293
- ((targets) => new koppajs_language_core_1.KpaWorkspaceGraph({ rootPaths: targets }));
294
+ ((targets) => new KpaWorkspaceGraph({ rootPaths: targets }));
294
295
  const workspaceGraph = createWorkspaceGraph(resolvedTargets.targets);
295
296
  const filePaths = [...workspaceGraph.getKpaFilePaths(resolvedTargets.targets)].sort((left, right) => left.localeCompare(right));
296
297
  if (filePaths.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koppajs/koppajs-kpa-check",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "CLI diagnostics runner for KoppaJS .kpa files.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -30,6 +30,8 @@
30
30
  },
31
31
  "scripts": {
32
32
  "check:meta": "node scripts/check-meta-layer.mjs",
33
+ "check:docs:contract": "node scripts/check-doc-contract.mjs",
34
+ "check:docs:semantics": "node scripts/check-doc-semantics.mjs",
33
35
  "format:check": "node scripts/format-check.mjs",
34
36
  "build": "tsc -p tsconfig.build.json",
35
37
  "lint": "eslint . --ext .ts,.mjs --ignore-pattern dist --ignore-pattern node_modules --max-warnings=0",
@@ -37,26 +39,33 @@
37
39
  "prepack": "npm run validate",
38
40
  "release:check": "npm pack --dry-run",
39
41
  "test": "vitest run",
42
+ "test:dist": "node scripts/check-dist-runtime.mjs",
40
43
  "test:watch": "vitest",
41
44
  "typecheck": "tsc --noEmit -p tsconfig.json",
42
- "check": "npm run validate && npm run release:check",
43
- "validate": "npm run check:meta && npm run format:check && npm run lint && npm run typecheck && npm run test && npm run build"
45
+ "check": "npm run check:docs && npm run validate && npm run release:check",
46
+ "validate": "npm run check:docs && npm run check:meta && npm run format:check && npm run lint && npm run typecheck && npm run test && npm run build && npm run test:dist",
47
+ "check:docs": "npm run check:docs:contract && npm run check:docs:semantics",
48
+ "prepare": "husky"
44
49
  },
45
50
  "engines": {
46
- "node": ">=20"
51
+ "node": ">=22",
52
+ "npm": ">=10"
47
53
  },
48
54
  "dependencies": {
49
- "@koppajs/koppajs-language-core": "^0.1.2"
55
+ "@koppajs/koppajs-language-core": "^0.1.4"
50
56
  },
51
57
  "devDependencies": {
52
58
  "@types/node": "^22.19.15",
53
59
  "@typescript-eslint/eslint-plugin": "^8.46.2",
54
60
  "@typescript-eslint/parser": "^8.46.2",
55
61
  "eslint": "^9.38.0",
62
+ "husky": "^9.1.7",
56
63
  "typescript": "^5.3.3",
57
64
  "vitest": "^3.2.4"
58
65
  },
59
66
  "publishConfig": {
60
67
  "access": "public"
61
- }
68
+ },
69
+ "type": "module",
70
+ "private": false
62
71
  }