@orkestrel/scaffold 0.0.78 → 0.0.80

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.
@@ -490,7 +490,7 @@
490
490
  "storage": "claude/agents/orkestrel.md",
491
491
  "destination": ".claude/agents/orkestrel.md",
492
492
  "executable": false,
493
- "digest": "b226c5f60963fdaafc596537f54aa191ee1512a9940f3a7ff68ff32b91643e39"
493
+ "digest": "b5f9da510d1d5d387c8538cb5c3e7d9ad3ae24f01008a6d91b5bc4337f8df69e"
494
494
  },
495
495
  {
496
496
  "storage": "claude/agents/planner.md",
@@ -592,7 +592,7 @@
592
592
  "storage": "claude/rules/workspace.md",
593
593
  "destination": ".claude/rules/workspace.md",
594
594
  "executable": false,
595
- "digest": "10413ce79cf3a6542b8b43288844d70ff8db4518a6cbc9089ece6d1b76af87f1"
595
+ "digest": "c41f15b048f534ceb0e0572eed29deaee288c53c69abf1a7e3bc93cee6b90740"
596
596
  },
597
597
  {
598
598
  "storage": "claude/rules/writing.md",
@@ -982,7 +982,7 @@
982
982
  "storage": "guides/probe.md",
983
983
  "destination": "guides/probe.md",
984
984
  "executable": false,
985
- "digest": "b136f1da1a51485a9c8efb894fe318ca2b325df913f8f929f049aeda7e2c0e9c"
985
+ "digest": "8082bfb642ba16d64e06aba0e1c5d0774ecebd77443d500821e4482bb0916cbe"
986
986
  },
987
987
  {
988
988
  "storage": "guides/process.md",
@@ -1036,7 +1036,7 @@
1036
1036
  "storage": "guides/scaffold.md",
1037
1037
  "destination": "guides/scaffold.md",
1038
1038
  "executable": false,
1039
- "digest": "8ae47398e145dab91d6eba4d8c201221c486e34075387939eb7d83461000ddc4"
1039
+ "digest": "32b5b6284d7e1c92e692cf2b74c77b6b8ed8e38c20d29c7b23201b6b034dc268"
1040
1040
  },
1041
1041
  {
1042
1042
  "storage": "guides/sea.md",
@@ -1090,7 +1090,7 @@
1090
1090
  "storage": "guides/test.md",
1091
1091
  "destination": "guides/test.md",
1092
1092
  "executable": false,
1093
- "digest": "d50b6617ec4bff87db8f1d050a7e6ec2103237b7b97ba5f009360e14bce913d8"
1093
+ "digest": "1a3bea6f17d3c54fd20e4350a76e89c8f1457f2ef1bc83e0b04775a3727af4cd"
1094
1094
  },
1095
1095
  {
1096
1096
  "storage": "guides/timeout.md",
@@ -1162,7 +1162,7 @@
1162
1162
  "storage": "tests/config.test.ts",
1163
1163
  "destination": "tests/config.test.ts",
1164
1164
  "executable": false,
1165
- "digest": "cff18c34bd10c836faecddba480523f21223b53831cf760ac57c8b94ee1051f7"
1165
+ "digest": "9a77213f81289f8a0b55df24d6a735371ac4eabb5557a3413004ab221b7d3169"
1166
1166
  },
1167
1167
  {
1168
1168
  "storage": "tests/policy.test.ts",
@@ -2138,5 +2138,5 @@
2138
2138
  ]
2139
2139
  }
2140
2140
  ],
2141
- "digest": "5de2d67b01f94fb81b632c8cecc9badcb5934d9ffd83b9f054f50c9294d012a0"
2141
+ "digest": "7e9a938815aea1bb7591441767c4e31aeee9b325f71dc9245cd041243ead1805"
2142
2142
  }
@@ -2462,12 +2462,18 @@ describe('configuration helpers', () => {
2462
2462
  'rolls one face into a single declaration and rewrites its core specifier',
2463
2463
  async () => {
2464
2464
  const scratch = createPolicyScratch({ prefix: 'orkestrel-config-rollup-' })
2465
- // The hook's temporary declaration emit is proven removed: no name beginning
2466
- // `orkestrel-declarations-` present after the builds that was absent before them.
2467
- const before = new Set(
2468
- readdirSync(tmpdir()).filter((entry) => entry.startsWith('orkestrel-declarations-')),
2469
- )
2465
+ // The hook's temporary declaration emit is proven removed from a host temporary
2466
+ // directory this case alone writes to. `os.tmpdir()` reads `TMPDIR`, `TMP`, and `TEMP`
2467
+ // when it is called, so pointing all three into the case's own scratch places every
2468
+ // `orkestrel-declarations-` directory these builds make there, and a build another
2469
+ // process runs meanwhile makes its own elsewhere.
2470
+ const temporary = join(scratch.path, 'temporary')
2471
+ mkdirSync(temporary)
2472
+ const variables = ['TMPDIR', 'TMP', 'TEMP']
2473
+ const inherited = variables.map((name) => [name, process.env[name]] as const)
2470
2474
  try {
2475
+ for (const name of variables) process.env[name] = temporary
2476
+ expect(tmpdir()).toBe(temporary)
2471
2477
  const workspace = scratch.path
2472
2478
  const project = join(workspace, 'tsconfig.json')
2473
2479
  const source = join(workspace, 'source', 'server', 'index.ts')
@@ -2551,10 +2557,9 @@ describe('configuration helpers', () => {
2551
2557
  ])
2552
2558
  await Reflect.apply(close, undefined, [])
2553
2559
 
2554
- const after = readdirSync(tmpdir()).filter((entry) =>
2555
- entry.startsWith('orkestrel-declarations-'),
2556
- )
2557
- expect(after.every((entry) => before.has(entry))).toBe(true)
2560
+ expect(
2561
+ readdirSync(temporary).filter((entry) => entry.startsWith('orkestrel-declarations-')),
2562
+ ).toStrictEqual([])
2558
2563
 
2559
2564
  // The face ships exactly one declaration: the emit's scratch tree leaves with it.
2560
2565
  expect(globSync('**/*.d.ts', { cwd: rewritten })).toStrictEqual(['index.d.ts'])
@@ -2573,6 +2578,10 @@ describe('configuration helpers', () => {
2573
2578
  expect(control).toContain('@src/core')
2574
2579
  expect(control).not.toContain(`from '${name}'`)
2575
2580
  } finally {
2581
+ for (const [name, value] of inherited) {
2582
+ if (value === undefined) Reflect.deleteProperty(process.env, name)
2583
+ else process.env[name] = value
2584
+ }
2576
2585
  scratch.destroy()
2577
2586
  }
2578
2587
  },
@@ -4,7 +4,7 @@ let _orkestrel_template = require("@orkestrel/template");
4
4
  let _orkestrel_emitter = require("@orkestrel/emitter");
5
5
  var package_default = {
6
6
  name: "@orkestrel/scaffold",
7
- version: "0.0.78",
7
+ version: "0.0.80",
8
8
  description: "Scaffold workspaces with commands: new, audit, repair, catalog, and overwrite.",
9
9
  keywords: [
10
10
  "audit",
@@ -94,18 +94,18 @@ var package_default = {
94
94
  "prepublishOnly": "npm run format:check && npm run lint:check && npm run check && npm run build && npm test && npm run test:distribution -- --mode release"
95
95
  },
96
96
  dependencies: {
97
- "@orkestrel/console": "^0.0.14",
97
+ "@orkestrel/console": "^0.0.15",
98
98
  "@orkestrel/contract": "^0.0.18",
99
- "@orkestrel/emitter": "^0.0.10",
100
- "@orkestrel/markdown": "^0.0.15",
101
- "@orkestrel/process": "^0.0.13",
102
- "@orkestrel/template": "^0.0.8"
99
+ "@orkestrel/emitter": "^0.0.11",
100
+ "@orkestrel/markdown": "^0.0.16",
101
+ "@orkestrel/process": "^0.0.14",
102
+ "@orkestrel/template": "^0.0.9"
103
103
  },
104
104
  devDependencies: {
105
105
  "@microsoft/api-extractor": "^7.59.3",
106
106
  "@orkestrel/guide": "^0.0.20",
107
- "@orkestrel/html": "^0.0.10",
108
- "@orkestrel/probe": "^0.0.16",
107
+ "@orkestrel/html": "^0.0.11",
108
+ "@orkestrel/probe": "^0.0.18",
109
109
  "@orkestrel/test": "^0.0.24",
110
110
  "@types/node": "^26.6.3",
111
111
  "@vitest/browser-playwright": "^4.1.11",
@@ -1151,7 +1151,7 @@ export function appShowcase(override?: UserConfig): UserConfig {
1151
1151
  name: { label: 'setup:browser', color: 'blue' },
1152
1152
  include: ['tests/setupBrowser.test.ts'],
1153
1153
  setupFiles: ['./tests/setup.ts', './tests/setupBrowser.ts'],
1154
- browser: {
1154
+ {{global}} browser: {
1155
1155
  enabled: true,
1156
1156
  provider: playwright(browserOptions),
1157
1157
  instances: [{ browser: 'chromium', headless: true }],
@@ -5332,6 +5332,7 @@ function blueprintToRootTsconfig(blueprint) {
5332
5332
  function blueprintToRootVite(blueprint) {
5333
5333
  const machinery = blueprintToMachinery(blueprint);
5334
5334
  const publishes = blueprint.src.length > 0;
5335
+ const global = blueprint.global ? " globalSetup: ['./tests/setupGlobal.ts'],\n" : "";
5335
5336
  const imports = [];
5336
5337
  if (machinery.browser) imports.push("import { playwright } from '@vitest/browser-playwright'");
5337
5338
  if (machinery.vue) imports.push("import vue from '@vitejs/plugin-vue'");
@@ -5353,7 +5354,7 @@ function blueprintToRootVite(blueprint) {
5353
5354
  peers.some((peer) => id === peer || id.startsWith(peer + '/')),`,
5354
5355
  output: core ? " output: { paths: { '@src/core': '../core/index.js' } }," : " output: {},",
5355
5356
  exclude: core ? " exclude: ['tests/src/core/**/*.test.ts'],\n" : "",
5356
- global: blueprint.global ? " globalSetup: ['./tests/setupGlobal.ts'],\n" : ""
5357
+ global
5357
5358
  }));
5358
5359
  projects.push("srcBrowser");
5359
5360
  }
@@ -5414,7 +5415,10 @@ function blueprintToRootVite(blueprint) {
5414
5415
  projects.push("setup");
5415
5416
  }
5416
5417
  if (blueprint.setup.includes("browser")) {
5417
- factories.push((0, _orkestrel_template.fillTemplate)(CONFIG_TEMPLATES.factories.browser, { plugins: machinery.vue ? " plugins: [vue()],\n" : "" }));
5418
+ factories.push((0, _orkestrel_template.fillTemplate)(CONFIG_TEMPLATES.factories.browser, {
5419
+ plugins: machinery.vue ? " plugins: [vue()],\n" : "",
5420
+ global
5421
+ }));
5418
5422
  projects.push("setupBrowser");
5419
5423
  }
5420
5424
  if (blueprint.guides) {
@@ -5438,7 +5442,7 @@ function blueprintToRootVite(blueprint) {
5438
5442
  projects.push("distribution");
5439
5443
  }
5440
5444
  if (blueprint.integration) {
5441
- factories.push((0, _orkestrel_template.fillTemplate)(CONFIG_TEMPLATES.factories.integration, { global: blueprint.global ? " globalSetup: ['./tests/setupGlobal.ts'],\n" : "" }));
5445
+ factories.push((0, _orkestrel_template.fillTemplate)(CONFIG_TEMPLATES.factories.integration, { global }));
5442
5446
  projects.push("integration");
5443
5447
  }
5444
5448
  factories.push(CONFIG_TEMPLATES.factories.probe);