create-principles-disciple 1.99.0 → 1.101.0
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/README.md +2 -2
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js +63 -1
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +74 -23
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js +17 -0
- package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js +12 -0
- package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js +168 -1
- package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +53 -0
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts +21 -0
- package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/helpers.js +132 -0
- package/core/dist/runtime-v2/activation/__tests__/helpers.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +2 -117
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.js +18 -2
- package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +13 -5
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +15 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
- package/core/dist/runtime-v2/admission-gate.d.ts +27 -0
- package/core/dist/runtime-v2/admission-gate.d.ts.map +1 -1
- package/core/dist/runtime-v2/admission-gate.js +55 -0
- package/core/dist/runtime-v2/admission-gate.js.map +1 -1
- package/core/dist/runtime-v2/cli/diagnose.d.ts +4 -0
- package/core/dist/runtime-v2/cli/diagnose.d.ts.map +1 -1
- package/core/dist/runtime-v2/cli/diagnose.js +25 -0
- package/core/dist/runtime-v2/cli/diagnose.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +27 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js +6 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js +12 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js +8 -2
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +1 -1
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +1 -1
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js +21 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js +53 -1
- package/core/dist/runtime-v2/internalization/__tests__/internalization-task-guards.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.js +4 -1
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +7 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.js +4 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/index.d.ts +1 -1
- package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/index.js +1 -1
- package/core/dist/runtime-v2/internalization/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts +26 -0
- package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-task-guards.js +36 -0
- package/core/dist/runtime-v2/internalization/internalization-task-guards.js.map +1 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +57 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js +91 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js +19 -0
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js.map +1 -1
- package/core/dist/runtime-v2/store/schema-conformance.test.js +30 -0
- package/core/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +41 -7
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js +22 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +21 -0
- package/dist/installer.js.map +1 -1
- package/package.json +1 -1
- package/pd-cli/dist/commands/candidate.d.ts.map +1 -1
- package/pd-cli/dist/commands/candidate.js +89 -7
- package/pd-cli/dist/commands/candidate.js.map +1 -1
- package/pd-cli/dist/commands/pain-retry.d.ts +3 -0
- package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -1
- package/pd-cli/dist/commands/pain-retry.js +39 -14
- package/pd-cli/dist/commands/pain-retry.js.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.js +70 -7
- package/pd-cli/dist/commands/runtime-activation.js.map +1 -1
- package/pd-cli/dist/index.js +2 -21
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
- package/pd-cli/package.json +1 -1
- package/plugin/dist/core/rule-host.d.ts +21 -0
- package/plugin/dist/core/rule-host.js +67 -12
- package/plugin/dist/hooks/prompt.js +14 -0
- package/plugin/dist/index.js +2 -1
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ npx create-principles-disciple --yes --workspace "/path/to/workspace" --json
|
|
|
52
52
|
|
|
53
53
|
The installer automatically verifies the installation during setup:
|
|
54
54
|
|
|
55
|
-
1. **Feature flags** — `.pd/
|
|
55
|
+
1. **Feature flags** — `.pd/config.yaml` is generated and validated (ADR-0016: replaces the legacy `.pd/feature-flags.yaml`)
|
|
56
56
|
2. **Story A demo** — `pd demo story-a` is executed to confirm runtime integration
|
|
57
57
|
3. **Console health** — `/api/health` is checked on the local console instance
|
|
58
58
|
|
|
@@ -84,7 +84,7 @@ Open `http://127.0.0.1:3100` in your browser to access the console.
|
|
|
84
84
|
|
|
85
85
|
## Rerun / Reinstall
|
|
86
86
|
|
|
87
|
-
Re-running the installer updates the
|
|
87
|
+
Re-running the installer updates the `.pd/config.yaml`. All three MVP-Core channels
|
|
88
88
|
are always enabled — the installer does not allow partial disabling of core channels.
|
|
89
89
|
The installer reads actual enabled channels from disk and reports them in the output.
|
|
90
90
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { evaluateAdmission, evaluateCandidateAdmissions, ADMISSION_CONFIDENCE_THRESHOLD, } from '../admission-gate.js';
|
|
2
|
+
import { evaluateAdmission, evaluateCandidateAdmissions, evaluateCandidateAdmissionFromRecord, ADMISSION_CONFIDENCE_THRESHOLD, } from '../admission-gate.js';
|
|
3
3
|
const makeInput = (overrides = {}) => ({
|
|
4
4
|
recommendationKind: 'principle',
|
|
5
5
|
confidence: 0.8,
|
|
@@ -225,4 +225,66 @@ describe('PRI-345: input-evidence hard gate', () => {
|
|
|
225
225
|
expect(result.reason).toBe('input_evidence_empty');
|
|
226
226
|
});
|
|
227
227
|
});
|
|
228
|
+
describe('evaluateCandidateAdmissionFromRecord (CLI partial check)', () => {
|
|
229
|
+
it('admits when recommendationKind is actionable and confidence >= threshold', () => {
|
|
230
|
+
const result = evaluateCandidateAdmissionFromRecord({
|
|
231
|
+
recommendationKind: 'principle',
|
|
232
|
+
confidence: 0.8,
|
|
233
|
+
});
|
|
234
|
+
expect(result.decision).toBe('admitted');
|
|
235
|
+
expect(result.reason).toBe('cli_partial_check_passed_confidence_and_kind');
|
|
236
|
+
expect(result.nextAction).toBe('none');
|
|
237
|
+
});
|
|
238
|
+
it('admits at exactly the threshold (boundary)', () => {
|
|
239
|
+
const result = evaluateCandidateAdmissionFromRecord({
|
|
240
|
+
recommendationKind: 'principle',
|
|
241
|
+
confidence: ADMISSION_CONFIDENCE_THRESHOLD,
|
|
242
|
+
});
|
|
243
|
+
expect(result.decision).toBe('admitted');
|
|
244
|
+
});
|
|
245
|
+
it('defers when recommendationKind is defer', () => {
|
|
246
|
+
const result = evaluateCandidateAdmissionFromRecord({
|
|
247
|
+
recommendationKind: 'defer',
|
|
248
|
+
confidence: 0.9,
|
|
249
|
+
});
|
|
250
|
+
expect(result.decision).toBe('deferred');
|
|
251
|
+
expect(result.reason).toBe('recommendation_kind_defer_not_actionable');
|
|
252
|
+
expect(result.nextAction).toBe('review_defer_disposition_manually');
|
|
253
|
+
});
|
|
254
|
+
it('needs_evidence when confidence is below threshold', () => {
|
|
255
|
+
const result = evaluateCandidateAdmissionFromRecord({
|
|
256
|
+
recommendationKind: 'principle',
|
|
257
|
+
confidence: 0.35,
|
|
258
|
+
});
|
|
259
|
+
expect(result.decision).toBe('needs_evidence');
|
|
260
|
+
expect(result.reason).toContain('confidence_below_threshold');
|
|
261
|
+
expect(result.reason).toContain('0.35');
|
|
262
|
+
expect(result.nextAction).toBe('provide_additional_evidence_or_manual_review');
|
|
263
|
+
});
|
|
264
|
+
it('needs_evidence when confidence is null (rc-3 fail loud)', () => {
|
|
265
|
+
const result = evaluateCandidateAdmissionFromRecord({
|
|
266
|
+
recommendationKind: 'principle',
|
|
267
|
+
confidence: null,
|
|
268
|
+
});
|
|
269
|
+
expect(result.decision).toBe('needs_evidence');
|
|
270
|
+
expect(result.reason).toBe('confidence_missing_on_candidate_record');
|
|
271
|
+
expect(result.nextAction).toContain('re_run_diagnosis');
|
|
272
|
+
});
|
|
273
|
+
it('defers even when confidence is null (defer takes precedence)', () => {
|
|
274
|
+
const result = evaluateCandidateAdmissionFromRecord({
|
|
275
|
+
recommendationKind: 'defer',
|
|
276
|
+
confidence: null,
|
|
277
|
+
});
|
|
278
|
+
expect(result.decision).toBe('deferred');
|
|
279
|
+
expect(result.reason).toBe('recommendation_kind_defer_not_actionable');
|
|
280
|
+
});
|
|
281
|
+
it('needs_evidence at confidence = 0 (below threshold)', () => {
|
|
282
|
+
const result = evaluateCandidateAdmissionFromRecord({
|
|
283
|
+
recommendationKind: 'principle',
|
|
284
|
+
confidence: 0,
|
|
285
|
+
});
|
|
286
|
+
expect(result.decision).toBe('needs_evidence');
|
|
287
|
+
expect(result.reason).toContain('confidence_below_threshold');
|
|
288
|
+
});
|
|
289
|
+
});
|
|
228
290
|
//# sourceMappingURL=admission-gate.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission-gate.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/admission-gate.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admission-gate.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/admission-gate.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2072,12 +2072,16 @@ describe('PRI-146: RuleHostWriter shadow activation boundary', () => {
|
|
|
2072
2072
|
expect(src).not.toContain('eval(');
|
|
2073
2073
|
expect(src).not.toContain('new Function');
|
|
2074
2074
|
});
|
|
2075
|
-
it('
|
|
2075
|
+
it('SHADOW_AFTER_APPROVAL: rule-host-writer.ts uses shadow action for owner-approved activations (PRI-489)', async () => {
|
|
2076
2076
|
const { readFileSync } = await import('node:fs');
|
|
2077
2077
|
const { resolve } = await import('node:path');
|
|
2078
2078
|
const src = readFileSync(resolve(__dirname, '..', 'activation', 'writers', 'rule-host-writer.ts'), 'utf-8');
|
|
2079
|
-
|
|
2080
|
-
|
|
2079
|
+
// PRI-489: Owner approval creates a SHADOW activation first. The only
|
|
2080
|
+
// shadow -> live transition is `pd activation promote` (atomic action
|
|
2081
|
+
// rewrite in SqliteActivationStateStore.promoteActivation). Live action
|
|
2082
|
+
// must never appear as a return value from activate(), only in comments
|
|
2083
|
+
// documenting the promote path.
|
|
2084
|
+
expect(src).toContain("action: 'code_tool_hook_shadow_activate'");
|
|
2081
2085
|
expect(src).toContain('accepted_shadow');
|
|
2082
2086
|
});
|
|
2083
2087
|
it('USES_GATE: rule-host-writer.ts imports evaluateRefinerRuleHostGate', async () => {
|
|
@@ -3236,29 +3240,49 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
|
|
|
3236
3240
|
const ALLOWED_IO_FILES = new Set(isValidRegistry(registry)
|
|
3237
3241
|
? registry.seams.flatMap((s) => s.files)
|
|
3238
3242
|
: []);
|
|
3239
|
-
// Extract all import module paths from source code.
|
|
3243
|
+
// Extract all RUNTIME import module paths from source code.
|
|
3240
3244
|
// Handles: import ... from 'mod', import 'mod' (side-effect), and multiline imports.
|
|
3241
|
-
//
|
|
3245
|
+
// EXCLUDES `import type ... from` — type-only imports are erased at compile time
|
|
3246
|
+
// and do not introduce runtime I/O. Reuses the same pattern proven in the
|
|
3247
|
+
// PRI-215 extractImportModulePaths helper.
|
|
3248
|
+
//
|
|
3249
|
+
// The negative lookahead `(?!type\b)` after `import\s+` prevents matching
|
|
3250
|
+
// `import type { X } from 'mod'` and `import type X from 'mod'`.
|
|
3242
3251
|
function extractImportPaths(src) {
|
|
3243
3252
|
const paths = [];
|
|
3244
|
-
|
|
3253
|
+
// `import ... from 'mod'` — but NOT `import type ... from 'mod'`.
|
|
3254
|
+
for (const m of src.matchAll(/import\s+(?!type\b)[\s\S]*?from\s+['"]([^'"]+)['"]/g)) {
|
|
3245
3255
|
if (m[1] != null)
|
|
3246
3256
|
paths.push(m[1]);
|
|
3247
3257
|
}
|
|
3248
|
-
|
|
3258
|
+
// Side-effect `import 'mod'` — `import type 'mod'` is not valid TS so no
|
|
3259
|
+
// exclusion needed, but the lookahead keeps it defensive.
|
|
3260
|
+
for (const m of src.matchAll(/import\s+(?!type\b)['"]([^'"]+)['"]/g)) {
|
|
3249
3261
|
if (m[1] != null && !paths.includes(m[1]))
|
|
3250
3262
|
paths.push(m[1]);
|
|
3251
3263
|
}
|
|
3252
3264
|
return paths;
|
|
3253
3265
|
}
|
|
3254
|
-
// Check if any import path references
|
|
3255
|
-
|
|
3266
|
+
// Check if any runtime import path references a Node I/O module.
|
|
3267
|
+
// Covers fs, path, child_process, better-sqlite3 (including sub-paths like fs/promises).
|
|
3268
|
+
// Type-only imports (`import type ... from 'fs'`) are excluded by extractImportPaths.
|
|
3269
|
+
//
|
|
3270
|
+
// This MUST stay in sync with eslint.config.js `no-restricted-imports` patterns.
|
|
3271
|
+
// ESLint uses `allowTypeImports: true` for child_process/better-sqlite3, so the
|
|
3272
|
+
// arch test is the runtime-I/O backstop for those modules.
|
|
3273
|
+
function importsNodeIo(src) {
|
|
3256
3274
|
const paths = extractImportPaths(src);
|
|
3257
3275
|
return paths.some((p) => p === 'fs' || p.startsWith('fs/') ||
|
|
3258
3276
|
p === 'node:fs' || p.startsWith('node:fs/') ||
|
|
3259
3277
|
p === 'path' || p.startsWith('path/') ||
|
|
3260
|
-
p === 'node:path' || p.startsWith('node:path/')
|
|
3278
|
+
p === 'node:path' || p.startsWith('node:path/') ||
|
|
3279
|
+
p === 'child_process' || p.startsWith('child_process/') ||
|
|
3280
|
+
p === 'node:child_process' || p.startsWith('node:child_process/') ||
|
|
3281
|
+
p === 'better-sqlite3');
|
|
3261
3282
|
}
|
|
3283
|
+
// Back-compat alias: keep the old name working for any external callers/tests
|
|
3284
|
+
// that referenced importsFsOrPath directly. New code should use importsNodeIo.
|
|
3285
|
+
const importsFsOrPath = importsNodeIo;
|
|
3262
3286
|
function collectTsFiles(dir, acc) {
|
|
3263
3287
|
const entries = fsSync.readdirSync(dir, { withFileTypes: true });
|
|
3264
3288
|
for (const entry of entries) {
|
|
@@ -3319,14 +3343,14 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
|
|
|
3319
3343
|
expect(weak).toEqual([]);
|
|
3320
3344
|
});
|
|
3321
3345
|
// ── Registry ↔ production files (PRI-450, EP-02) ──────────────────────────
|
|
3322
|
-
it('core/src/ production files: only registry-listed files import fs/path', () => {
|
|
3346
|
+
it('core/src/ production files: only registry-listed files import Node I/O modules (fs/path/child_process/better-sqlite3)', () => {
|
|
3323
3347
|
const coreSrcDir = pathSync.resolve(__dirname, '..', '..');
|
|
3324
3348
|
const allFiles = [];
|
|
3325
3349
|
collectTsFiles(coreSrcDir, allFiles);
|
|
3326
3350
|
const violations = [];
|
|
3327
3351
|
for (const filePath of allFiles) {
|
|
3328
3352
|
const content = fsSync.readFileSync(filePath, 'utf-8');
|
|
3329
|
-
if (
|
|
3353
|
+
if (importsNodeIo(content)) {
|
|
3330
3354
|
const relPath = pathSync.relative(coreSrcDir, filePath).replace(/\\/g, '/');
|
|
3331
3355
|
if (!ALLOWED_IO_FILES.has(relPath)) {
|
|
3332
3356
|
violations.push(relPath);
|
|
@@ -3334,8 +3358,9 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
|
|
|
3334
3358
|
}
|
|
3335
3359
|
}
|
|
3336
3360
|
if (violations.length > 0) {
|
|
3337
|
-
throw new Error(`Found ${violations.length} file(s) importing fs/path that are NOT in io-seam-registry.json.\n` +
|
|
3361
|
+
throw new Error(`Found ${violations.length} file(s) importing fs/path/child_process/better-sqlite3 that are NOT in io-seam-registry.json.\n` +
|
|
3338
3362
|
`Add them to the appropriate seam in packages/principles-core/io-seam-registry.json.\n` +
|
|
3363
|
+
`Note: \`import type\` from these modules is allowed (erased at runtime) and won't trigger this.\n` +
|
|
3339
3364
|
`Violations:\n ` + violations.join('\n '));
|
|
3340
3365
|
}
|
|
3341
3366
|
});
|
|
@@ -3363,19 +3388,45 @@ describe('PRI-450 / PRI-462: core I/O seam registry guard', () => {
|
|
|
3363
3388
|
expect(eslintSrc).toContain('io-seam-registry.json');
|
|
3364
3389
|
});
|
|
3365
3390
|
// ── Helper unit tests ─────────────────────────────────────────────────────
|
|
3366
|
-
it('
|
|
3391
|
+
it('importsNodeIo detects sub-path imports (fs/promises) and side-effect imports', () => {
|
|
3367
3392
|
// Sub-path import
|
|
3368
|
-
expect(
|
|
3369
|
-
expect(
|
|
3393
|
+
expect(importsNodeIo(`import { mkdir } from 'node:fs/promises';`)).toBe(true);
|
|
3394
|
+
expect(importsNodeIo(`import { posix } from 'path/posix';`)).toBe(true);
|
|
3370
3395
|
// Side-effect import
|
|
3371
|
-
expect(
|
|
3372
|
-
expect(
|
|
3396
|
+
expect(importsNodeIo(`import 'fs';`)).toBe(true);
|
|
3397
|
+
expect(importsNodeIo(`import "node:path";`)).toBe(true);
|
|
3373
3398
|
// Standard import
|
|
3374
|
-
expect(
|
|
3375
|
-
expect(
|
|
3376
|
-
// Non-
|
|
3377
|
-
expect(
|
|
3378
|
-
expect(
|
|
3399
|
+
expect(importsNodeIo(`import * as fs from 'fs';`)).toBe(true);
|
|
3400
|
+
expect(importsNodeIo(`import { resolve } from 'node:path';`)).toBe(true);
|
|
3401
|
+
// Non-I/O imports
|
|
3402
|
+
expect(importsNodeIo(`import { foo } from 'bar';`)).toBe(false);
|
|
3403
|
+
expect(importsNodeIo(``)).toBe(false);
|
|
3404
|
+
});
|
|
3405
|
+
it('importsNodeIo detects child_process and better-sqlite3 runtime imports', () => {
|
|
3406
|
+
// Runtime child_process imports
|
|
3407
|
+
expect(importsNodeIo(`import { spawn } from 'child_process';`)).toBe(true);
|
|
3408
|
+
expect(importsNodeIo(`import { execSync } from 'node:child_process';`)).toBe(true);
|
|
3409
|
+
expect(importsNodeIo(`import { fork } from 'child_process/promises';`)).toBe(true);
|
|
3410
|
+
// Runtime better-sqlite3 import
|
|
3411
|
+
expect(importsNodeIo(`import Database from 'better-sqlite3';`)).toBe(true);
|
|
3412
|
+
// Mixed runtime + type import from child_process (still runtime I/O)
|
|
3413
|
+
expect(importsNodeIo(`import { spawn, type SpawnOptions } from 'child_process';`)).toBe(true);
|
|
3414
|
+
});
|
|
3415
|
+
it('importsNodeIo EXCLUDES `import type` (erased at runtime, no I/O)', () => {
|
|
3416
|
+
// Type-only imports from forbidden modules — must NOT trigger
|
|
3417
|
+
expect(importsNodeIo(`import type { Database } from 'better-sqlite3';`)).toBe(false);
|
|
3418
|
+
expect(importsNodeIo(`import type BetterSqlite3 from 'better-sqlite3';`)).toBe(false);
|
|
3419
|
+
expect(importsNodeIo(`import type { SpawnOptions } from 'child_process';`)).toBe(false);
|
|
3420
|
+
expect(importsNodeIo(`import type { Stats } from 'node:fs';`)).toBe(false);
|
|
3421
|
+
expect(importsNodeIo(`import type { Platform } from 'node:process';`)).toBe(false);
|
|
3422
|
+
// Mixed: a real `import type` next to a runtime import from a DIFFERENT module
|
|
3423
|
+
// — the type import is excluded, the runtime import is detected.
|
|
3424
|
+
expect(importsNodeIo(`import type { Database } from 'better-sqlite3';\nimport { spawn } from 'child_process';`)).toBe(true);
|
|
3425
|
+
});
|
|
3426
|
+
it('importsFsOrPath alias stays in sync with importsNodeIo', () => {
|
|
3427
|
+
// The back-compat alias must point to the same implementation.
|
|
3428
|
+
expect(importsFsOrPath(`import { spawn } from 'child_process';`)).toBe(true);
|
|
3429
|
+
expect(importsFsOrPath(`import type { Database } from 'better-sqlite3';`)).toBe(false);
|
|
3379
3430
|
});
|
|
3380
3431
|
});
|
|
3381
3432
|
//# sourceMappingURL=architecture-regression.test.js.map
|