@orkestrel/scaffold 0.0.40 → 0.0.42
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/dist/bin/main.js +8 -1
- package/dist/bin/main.js.map +1 -1
- package/dist/host/AGENTS.md +2 -2
- package/dist/host/agents/skills/enterprise-bootstrap/references/bootstrap-reference.md +16 -16
- package/dist/host/agents/skills/enterprise-bootstrap/references/components.md +3 -3
- package/dist/host/agents/skills/orkestrel-align-packages/references/integration.md +1 -1
- package/dist/host/agents/skills/orkestrel-build-application/SKILL.md +7 -2
- package/dist/host/claude/agents/builder.md +2 -2
- package/dist/host/claude/agents/orkestrel.md +48 -48
- package/dist/host/claude/rules/application.md +6 -4
- package/dist/host/claude/rules/architecture.md +2 -0
- package/dist/host/claude/rules/documentation.md +6 -0
- package/dist/host/claude/rules/tests.md +11 -1
- package/dist/host/claude/rules/typescript.md +15 -1
- package/dist/host/claude/rules/workspace.md +43 -13
- package/dist/host/claude/rules/writing.md +125 -0
- package/dist/host/claude/skills/enterprise-bootstrap/SKILL.md +10 -1
- package/dist/host/claude/skills/orkestrel-align-packages/SKILL.md +1 -1
- package/dist/host/claude/skills/orkestrel-build-application/SKILL.md +1 -1
- package/dist/host/claude/skills/orkestrel-harden-package/SKILL.md +1 -1
- package/dist/host/configs/policy.ts +185 -0
- package/dist/host/dotfiles/oxlintrc.json +13 -1
- package/dist/host/dotfiles/prettierignore +3 -0
- package/dist/host/guides/scaffold.md +23 -10
- package/dist/host/manifest.json +11 -7
- package/dist/host/scripts/codex.sh +0 -0
- package/dist/host/scripts/cursor.sh +0 -0
- package/dist/host/scripts/deps.sh +0 -0
- package/dist/host/scripts/ollama.sh +0 -0
- package/dist/host/tests/config.test.ts +217 -4
- package/dist/host/tests/policy.test.ts +82 -0
- package/dist/host/tests/setupPolicy.ts +863 -21
- package/dist/src/core/index.cjs +97 -22
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.d.cts +45 -29
- package/dist/src/core/index.d.ts +45 -29
- package/dist/src/core/index.js +96 -22
- package/dist/src/core/index.js.map +1 -1
- package/package.json +7 -7
- package/dist/host/agents/skills/orkestrel-build-application/references/application.md +0 -129
package/dist/src/core/index.js
CHANGED
|
@@ -128,6 +128,7 @@ var HOST_PATHS = Object.freeze([
|
|
|
128
128
|
"tests/policy.test.ts",
|
|
129
129
|
"tests/config.test.ts",
|
|
130
130
|
"configs/helpers.ts",
|
|
131
|
+
"configs/policy.ts",
|
|
131
132
|
".editorconfig",
|
|
132
133
|
".gitattributes",
|
|
133
134
|
".gitignore",
|
|
@@ -233,16 +234,16 @@ var NAME_PATTERN = /^[a-z][a-z0-9-]*$/;
|
|
|
233
234
|
*/
|
|
234
235
|
var DEPENDENCY_NAME_PATTERN = /^@orkestrel\/[a-z][a-z0-9-]*$/;
|
|
235
236
|
/**
|
|
236
|
-
* The
|
|
237
|
+
* The package name syntax for a dependency this package does not publish.
|
|
237
238
|
*
|
|
238
239
|
* @remarks
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
240
|
+
* A foreign package is one this package does not publish, so its name reaches
|
|
241
|
+
* no path. It may carry any scope or no scope at all. Each name segment begins
|
|
242
|
+
* with an alphanumeric character after an optional leading `@`, and the name
|
|
243
|
+
* carries at most one `/`. No segment can therefore be `..`, and no backslash
|
|
244
|
+
* is admitted, so the shape cannot express a traversal.
|
|
244
245
|
*/
|
|
245
|
-
var
|
|
246
|
+
var FOREIGN_NAME_PATTERN = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/;
|
|
246
247
|
/** The exact three-component version syntax a blueprint declares. */
|
|
247
248
|
var VERSION_PATTERN = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/;
|
|
248
249
|
/**
|
|
@@ -257,6 +258,15 @@ var VERSION_PATTERN = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/;
|
|
|
257
258
|
var ORKESTREL_RANGE_PATTERN = /^\^0\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/;
|
|
258
259
|
/** The registry-only semver subset accepted for a development extra's range. */
|
|
259
260
|
var EXTRA_RANGE_PATTERN = /^(?:\^|~)?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][0-9A-Za-z-]*))*)?$/;
|
|
261
|
+
/**
|
|
262
|
+
* The exact three-component floor accepted for a foreign peer's range.
|
|
263
|
+
*
|
|
264
|
+
* @remarks
|
|
265
|
+
* This is independent from {@link ENGINES_PATTERN}. An engine floors the Node
|
|
266
|
+
* runtime a workspace supports, while a peer floors a tool the consumer
|
|
267
|
+
* supplies. Either obligation may change without changing the other.
|
|
268
|
+
*/
|
|
269
|
+
var FLOOR_RANGE_PATTERN = /^>=(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/;
|
|
260
270
|
/** The minimum-Node engine syntax a blueprint declares. */
|
|
261
271
|
var ENGINES_PATTERN = /^>=(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/;
|
|
262
272
|
/** Exact lowercase hexadecimal bytes: two digits per byte, and empty content is valid. */
|
|
@@ -304,7 +314,7 @@ var DEFAULT_ENGINES = `>=${MINIMUM_NODE_VERSION}`;
|
|
|
304
314
|
/** The tooling versions scaffold and every generated workspace share. */
|
|
305
315
|
var BASE_DEV_DEPENDENCIES = Object.freeze({
|
|
306
316
|
"@orkestrel/guide": "^0.0.12",
|
|
307
|
-
"@orkestrel/scaffold": "^0.0.
|
|
317
|
+
"@orkestrel/scaffold": "^0.0.41",
|
|
308
318
|
"@orkestrel/test": "^0.0.6",
|
|
309
319
|
"@types/node": "^26.2.0",
|
|
310
320
|
oxfmt: "^0.62.0",
|
|
@@ -404,6 +414,7 @@ var CONFIG_TEMPLATES = Object.freeze({
|
|
|
404
414
|
`,
|
|
405
415
|
vite: `import type { {{viteTypes}} } from 'vite'
|
|
406
416
|
{{imports}}import { defineConfig, mergeConfig } from 'vitest/config'
|
|
417
|
+
import manifest from './package.json' with { type: 'json' }
|
|
407
418
|
import tsconfig from './tsconfig.json' with { type: 'json' }
|
|
408
419
|
{{helpers}}{{browsers}}import { fileURLToPath, URL } from 'node:url'
|
|
409
420
|
|
|
@@ -411,6 +422,18 @@ import tsconfig from './tsconfig.json' with { type: 'json' }
|
|
|
411
422
|
return fileURLToPath(new URL(relativePath, import.meta.url))
|
|
412
423
|
}
|
|
413
424
|
|
|
425
|
+
const peerDependencies = 'peerDependencies' in manifest ? manifest.peerDependencies : undefined
|
|
426
|
+
if (
|
|
427
|
+
peerDependencies !== undefined &&
|
|
428
|
+
(typeof peerDependencies !== 'object' ||
|
|
429
|
+
peerDependencies === null ||
|
|
430
|
+
Array.isArray(peerDependencies))
|
|
431
|
+
) {
|
|
432
|
+
throw new Error('package peerDependencies must be an object')
|
|
433
|
+
}
|
|
434
|
+
export const peers: readonly string[] =
|
|
435
|
+
peerDependencies === undefined ? [] : Object.keys(peerDependencies)
|
|
436
|
+
|
|
414
437
|
const resolve = {
|
|
415
438
|
alias: Object.entries(tsconfig.compilerOptions.paths).reduce((aliases, [key, values]) => {
|
|
416
439
|
const [path] = values
|
|
@@ -538,7 +561,13 @@ const resolve = {
|
|
|
538
561
|
},
|
|
539
562
|
outDir: 'dist/bin',
|
|
540
563
|
target: 'node22',
|
|
541
|
-
rolldownOptions: {
|
|
564
|
+
rolldownOptions: {
|
|
565
|
+
external: (id: string) =>
|
|
566
|
+
id.startsWith('node:') ||
|
|
567
|
+
id.startsWith('@orkestrel/') ||
|
|
568
|
+
id.startsWith('@src/') ||
|
|
569
|
+
peers.some((peer) => id === peer || id.startsWith(peer + '/')),
|
|
570
|
+
},
|
|
542
571
|
},
|
|
543
572
|
test: {
|
|
544
573
|
name: { label: 'src:bin', color: 'yellow' },
|
|
@@ -659,6 +688,24 @@ export function appBrowser(): UserConfig {
|
|
|
659
688
|
setupFiles: ['./tests/setup.ts'],
|
|
660
689
|
environment: 'node',
|
|
661
690
|
browser: { enabled: false },
|
|
691
|
+
// A config test validates every target wrapper and runs the real linter twice with
|
|
692
|
+
// 15-second child caps, so this budget clears both caps and reports their diagnostics.
|
|
693
|
+
testTimeout: 45_000,
|
|
694
|
+
},
|
|
695
|
+
},
|
|
696
|
+
options ?? {},
|
|
697
|
+
)
|
|
698
|
+
`,
|
|
699
|
+
setup: `export const setup = (options?: UserConfig): UserConfig =>
|
|
700
|
+
mergeConfig(
|
|
701
|
+
{
|
|
702
|
+
resolve,
|
|
703
|
+
test: {
|
|
704
|
+
name: { label: 'setup', color: 'white' },
|
|
705
|
+
include: ['tests/setup*.test.ts'],
|
|
706
|
+
setupFiles: ['./tests/setup.ts'],
|
|
707
|
+
environment: 'node',
|
|
708
|
+
browser: { enabled: false },
|
|
662
709
|
},
|
|
663
710
|
},
|
|
664
711
|
options ?? {},
|
|
@@ -894,7 +941,7 @@ export const probe = (options?: UserConfig): UserConfig =>
|
|
|
894
941
|
core: `import { defineConfig } from 'vite'
|
|
895
942
|
import dts from 'vite-plugin-dts'
|
|
896
943
|
import { environmentBoundary, outputBoundary } from '../helpers.js'
|
|
897
|
-
import { srcCore, resolveWorkspacePath } from '../../vite.config.ts'
|
|
944
|
+
import { peers, srcCore, resolveWorkspacePath } from '../../vite.config.ts'
|
|
898
945
|
|
|
899
946
|
export default defineConfig(
|
|
900
947
|
srcCore({
|
|
@@ -922,7 +969,12 @@ export default defineConfig(
|
|
|
922
969
|
fileName: (format) => (format === 'es' ? 'index.js' : 'index.cjs'),
|
|
923
970
|
},
|
|
924
971
|
outDir: 'dist/src/core',
|
|
925
|
-
rolldownOptions: {
|
|
972
|
+
rolldownOptions: {
|
|
973
|
+
external: (id: string) =>
|
|
974
|
+
id.startsWith('node:') ||
|
|
975
|
+
id.startsWith('@orkestrel/') ||
|
|
976
|
+
peers.some((peer) => id === peer || id.startsWith(peer + '/')),
|
|
977
|
+
},
|
|
926
978
|
},
|
|
927
979
|
}),
|
|
928
980
|
)
|
|
@@ -1715,6 +1767,7 @@ var isBlueprint = recordOf({
|
|
|
1715
1767
|
engines: isString,
|
|
1716
1768
|
overrides: andOf(isCollection, arrayOf(isOverride)),
|
|
1717
1769
|
bin: isBoolean,
|
|
1770
|
+
setup: isBoolean,
|
|
1718
1771
|
guides: isBoolean,
|
|
1719
1772
|
distribution: isBoolean,
|
|
1720
1773
|
integration: isBoolean,
|
|
@@ -2972,7 +3025,10 @@ function srcToExports(src) {
|
|
|
2972
3025
|
* each declared axis adds the set its host needs. A declared extra or peer is
|
|
2973
3026
|
* applied after those, so a workspace that pins a range for a package the
|
|
2974
3027
|
* conditional sets also name gets the range it declared. An extra that restates
|
|
2975
|
-
* a shared toolchain pin never reaches here, because the gate refuses it.
|
|
3028
|
+
* a shared toolchain pin never reaches here, because the gate refuses it. A peer
|
|
3029
|
+
* that names a development tool already selected keeps that tool's pin, because
|
|
3030
|
+
* the peer's floor states what consumers may supply rather than what this workspace
|
|
3031
|
+
* develops against.
|
|
2976
3032
|
*
|
|
2977
3033
|
* A peer is declared here as well as under `peerDependencies`, because a peer is
|
|
2978
3034
|
* not installed by the workspace that declares it and developing against one
|
|
@@ -3005,7 +3061,7 @@ function blueprintToDevDependencies(blueprint) {
|
|
|
3005
3061
|
...blueprint.app.includes("server") ? APP_SERVER_DEV_DEPENDENCIES : {}
|
|
3006
3062
|
};
|
|
3007
3063
|
for (const extra of blueprint.extras) merged[extra.name] = extra.range;
|
|
3008
|
-
for (const peer of blueprint.peers) merged[peer.name] = peer.range;
|
|
3064
|
+
for (const peer of blueprint.peers) if (!Object.hasOwn(merged, peer.name)) merged[peer.name] = peer.range;
|
|
3009
3065
|
const own = blueprint.src.length > 0 ? `@orkestrel/${blueprint.name}` : blueprint.name;
|
|
3010
3066
|
const runtime = new Set(blueprint.dependencies.map((dependency) => dependency.name));
|
|
3011
3067
|
return Object.fromEntries(Object.entries(merged).filter(([name]) => name !== own && !runtime.has(name)).sort(([left], [right]) => compareValues(left, right)));
|
|
@@ -3078,6 +3134,7 @@ function blueprintToScripts(blueprint) {
|
|
|
3078
3134
|
...blueprint.app.length > 0 ? ["npm run test:app"] : [],
|
|
3079
3135
|
"npm run test:policy",
|
|
3080
3136
|
"npm run test:config",
|
|
3137
|
+
...blueprint.setup ? ["npm run test:setup"] : [],
|
|
3081
3138
|
...blueprint.guides ? ["npm run test:guides"] : [],
|
|
3082
3139
|
...blueprint.conformance ? ["npm run test:conformance"] : [],
|
|
3083
3140
|
...integrates ? ["npm run test:integration"] : [],
|
|
@@ -3098,6 +3155,7 @@ function blueprintToScripts(blueprint) {
|
|
|
3098
3155
|
}
|
|
3099
3156
|
scripts["test:policy"] = `${vitest} --project policy`;
|
|
3100
3157
|
scripts["test:config"] = `${vitest} --project config`;
|
|
3158
|
+
if (blueprint.setup) scripts["test:setup"] = `${vitest} --project setup`;
|
|
3101
3159
|
if (blueprint.guides) scripts["test:guides"] = `${vitest} --project guides`;
|
|
3102
3160
|
if (blueprint.conformance) scripts["test:conformance"] = `${vitest} --project conformance`;
|
|
3103
3161
|
scripts["test:probe"] = "vitest run --config vite.config.ts --no-cache --reporter=verbose --project probe";
|
|
@@ -3321,7 +3379,12 @@ function blueprintToRootVite(blueprint) {
|
|
|
3321
3379
|
if (blueprint.src.includes("browser")) {
|
|
3322
3380
|
const core = blueprint.src.includes("core");
|
|
3323
3381
|
factories.push(fillTemplate(CONFIG_TEMPLATES.factories.src.browser, {
|
|
3324
|
-
external: core ?
|
|
3382
|
+
external: core ? `external: (id: string) =>
|
|
3383
|
+
id === '@src/core' ||
|
|
3384
|
+
id.startsWith('@orkestrel/') ||
|
|
3385
|
+
peers.some((peer) => id === peer || id.startsWith(peer + '/')),` : `external: (id: string) =>
|
|
3386
|
+
id.startsWith('@orkestrel/') ||
|
|
3387
|
+
peers.some((peer) => id === peer || id.startsWith(peer + '/')),`,
|
|
3325
3388
|
output: core ? " output: { paths: { '@src/core': '../core/index.js' } }," : " output: {},",
|
|
3326
3389
|
exclude: core ? " exclude: ['tests/src/core/**/*.test.ts'],\n" : "",
|
|
3327
3390
|
global: blueprint.global ? " globalSetup: ['./tests/setupGlobal.ts'],\n" : ""
|
|
@@ -3332,7 +3395,13 @@ function blueprintToRootVite(blueprint) {
|
|
|
3332
3395
|
const core = blueprint.src.includes("core");
|
|
3333
3396
|
factories.push(fillTemplate(CONFIG_TEMPLATES.factories.src.server, {
|
|
3334
3397
|
external: core ? `external: (id: string) =>
|
|
3335
|
-
id === '@src/core' ||
|
|
3398
|
+
id === '@src/core' ||
|
|
3399
|
+
id.startsWith('node:') ||
|
|
3400
|
+
id.startsWith('@orkestrel/') ||
|
|
3401
|
+
peers.some((peer) => id === peer || id.startsWith(peer + '/')),` : `external: (id: string) =>
|
|
3402
|
+
id.startsWith('node:') ||
|
|
3403
|
+
id.startsWith('@orkestrel/') ||
|
|
3404
|
+
peers.some((peer) => id === peer || id.startsWith(peer + '/')),`,
|
|
3336
3405
|
output: core ? `\t\t\t\t\toutput: [
|
|
3337
3406
|
{
|
|
3338
3407
|
format: 'es',
|
|
@@ -3419,6 +3488,10 @@ export function appShowcase(): UserConfig {
|
|
|
3419
3488
|
projects.push("policy");
|
|
3420
3489
|
factories.push(CONFIG_TEMPLATES.factories.config);
|
|
3421
3490
|
projects.push("config");
|
|
3491
|
+
if (blueprint.setup) {
|
|
3492
|
+
factories.push(CONFIG_TEMPLATES.factories.setup);
|
|
3493
|
+
projects.push("setup");
|
|
3494
|
+
}
|
|
3422
3495
|
if (blueprint.guides) {
|
|
3423
3496
|
factories.push(CONFIG_TEMPLATES.factories.guides);
|
|
3424
3497
|
projects.push("guides");
|
|
@@ -4077,11 +4150,11 @@ function planToFindings(plan, current) {
|
|
|
4077
4150
|
* range, in list order.
|
|
4078
4151
|
*
|
|
4079
4152
|
* @remarks
|
|
4080
|
-
* The
|
|
4081
|
-
* rules live here once and each caller supplies its own patterns.
|
|
4082
|
-
* dependency name reaches a path through its guide mirror and is
|
|
4083
|
-
* `@orkestrel` scope
|
|
4084
|
-
* valid npm name.
|
|
4153
|
+
* The declared lists and peer partitions differ only in the two syntaxes they
|
|
4154
|
+
* accept, so the rules live here once and each caller supplies its own patterns.
|
|
4155
|
+
* A runtime dependency name reaches a path through its guide mirror and is
|
|
4156
|
+
* fixed to the `@orkestrel` scope. A foreign peer or development extra reaches
|
|
4157
|
+
* no path and admits any valid npm name.
|
|
4085
4158
|
*
|
|
4086
4159
|
* Both patterns must be stateless. A global or sticky pattern carries a
|
|
4087
4160
|
* `lastIndex` between calls, so it would answer differently for the same input
|
|
@@ -4239,7 +4312,7 @@ function blueprintToQuestions(blueprint) {
|
|
|
4239
4312
|
message: "showcase projects a browser app, and this workspace declares none, so it emits nothing.",
|
|
4240
4313
|
blocking: false
|
|
4241
4314
|
});
|
|
4242
|
-
questions.push(...dependenciesToQuestions(blueprint.dependencies, "dependencies", DEPENDENCY_NAME_PATTERN, ORKESTREL_RANGE_PATTERN), ...dependenciesToQuestions(blueprint.peers, "peers", DEPENDENCY_NAME_PATTERN, ORKESTREL_RANGE_PATTERN), ...dependenciesToQuestions(blueprint.extras, "extras",
|
|
4315
|
+
questions.push(...dependenciesToQuestions(blueprint.dependencies, "dependencies", DEPENDENCY_NAME_PATTERN, ORKESTREL_RANGE_PATTERN), ...dependenciesToQuestions(blueprint.peers.filter((peer) => peer.name.startsWith("@orkestrel/")), "peers", DEPENDENCY_NAME_PATTERN, ORKESTREL_RANGE_PATTERN), ...dependenciesToQuestions(blueprint.peers.filter((peer) => !peer.name.startsWith("@orkestrel/")), "peers", FOREIGN_NAME_PATTERN, FLOOR_RANGE_PATTERN), ...dependenciesToQuestions(blueprint.extras, "extras", FOREIGN_NAME_PATTERN, EXTRA_RANGE_PATTERN));
|
|
4243
4316
|
const lists = [
|
|
4244
4317
|
["dependencies", blueprint.dependencies],
|
|
4245
4318
|
["peers", blueprint.peers],
|
|
@@ -4741,6 +4814,7 @@ function createBlueprint(name, input) {
|
|
|
4741
4814
|
engines: input?.engines ?? DEFAULT_ENGINES,
|
|
4742
4815
|
overrides: input?.overrides ?? [],
|
|
4743
4816
|
bin: input?.bin ?? false,
|
|
4817
|
+
setup: input?.setup ?? false,
|
|
4744
4818
|
guides: input?.guides ?? false,
|
|
4745
4819
|
distribution: input?.distribution ?? false,
|
|
4746
4820
|
integration: input?.integration ?? false,
|
|
@@ -4773,6 +4847,6 @@ function createCompiler(options) {
|
|
|
4773
4847
|
return new Compiler(options);
|
|
4774
4848
|
}
|
|
4775
4849
|
//#endregion
|
|
4776
|
-
export { APP_BROWSER_DEV_DEPENDENCIES, APP_DEV_DEPENDENCIES, APP_MATRIX, APP_SERVER_DEV_DEPENDENCIES, ARTIFACT_TEMPLATES, BASE_DEV_DEPENDENCIES, BIN_CONFIGS, BIN_ENTRY_PATH, CATALOG_AGENT_PATH, CONFIG_TEMPLATES, CONFORMANCE_TEST_PATH, CONTROL_CHARACTER_PATTERN, Compiler, DECLARATION_DEV_DEPENDENCIES, DEFAULT_ENGINES, DEFAULT_VERSION, DEPENDENCY_NAME_PATTERN, DISTRIBUTION_TEST_PATH, ENGINES_PATTERN, ENVIRONMENTS, EXECUTABLE_PATHS,
|
|
4850
|
+
export { APP_BROWSER_DEV_DEPENDENCIES, APP_DEV_DEPENDENCIES, APP_MATRIX, APP_SERVER_DEV_DEPENDENCIES, ARTIFACT_TEMPLATES, BASE_DEV_DEPENDENCIES, BIN_CONFIGS, BIN_ENTRY_PATH, CATALOG_AGENT_PATH, CONFIG_TEMPLATES, CONFORMANCE_TEST_PATH, CONTROL_CHARACTER_PATTERN, Compiler, DECLARATION_DEV_DEPENDENCIES, DEFAULT_ENGINES, DEFAULT_VERSION, DEPENDENCY_NAME_PATTERN, DISTRIBUTION_TEST_PATH, ENGINES_PATTERN, ENVIRONMENTS, EXECUTABLE_PATHS, EXTRA_RANGE_PATTERN, FLOOR_RANGE_PATTERN, FOREIGN_NAME_PATTERN, GLOBAL_SETUP_PATH, GROUPS, GUIDES_TEST_PATH, HEX_PATTERN, HOST_PATHS, INTEGRATION_TEST_PATH, INVALID_PATH_CHARACTER_PATTERN, MAX_ARTIFACT_BYTES, MAX_ARTIFACT_HEX_LENGTH, MAX_AUDIT_FINDINGS, MAX_COLLECTION_ITEMS, MAX_DEPENDENCY_NAME_LENGTH, MAX_MANIFEST_BYTES, MAX_NAME_LENGTH, MAX_PATH_LENGTH, MAX_RANGE_LENGTH, MAX_TOTAL_ARTIFACT_BYTES, MINIMUM_NODE_VERSION, NAME_PATTERN, ORCHESTRATION_PATH_NAMES, ORCHESTRATION_PATH_PREFIXES, ORKESTREL_RANGE_PATTERN, PRINT_WIDTH, SERVICE_SCRIPT_PATH, SERVICE_SETUP_PATH, SERVICE_TEST_INCLUDE, SHOWCASE_CONFIG_PATH, SHOWCASE_DEV_DEPENDENCIES, SOURCE_BROWSER_DEV_DEPENDENCIES, SRC_MATRIX, ScaffoldError, TAB_WIDTH, VERSION_PATTERN, WORKSPACE_OWNED_PATHS, applyOverrides, artifactToFinding, artifactToHex, artifactsToQuestions, blueprintToConfigArtifacts, blueprintToDevDependencies, blueprintToDocumentArtifacts, blueprintToGuideArtifacts, blueprintToMachinery, blueprintToManifest, blueprintToOrchestrationArtifacts, blueprintToQuestions, blueprintToRootTsconfig, blueprintToRootVite, blueprintToScripts, blueprintToSourceArtifacts, blueprintToTestArtifacts, bytesToHex, catalogToLayers, cloneValue, compareVersions, computeBytes, computeHash, contentToHex, createBlueprint, createCompiler, dependenciesToQuestions, extractVersion, inferDrift, inferGroup, isArtifact, isAudit, isBlueprint, isCatalogEntry, isCollection, isCompilerHooks, isCompilerOptions, isContent, isDependency, isDependencyName, isEnvironment, isFinding, isGroup, isGroups, isHex, isMirror, isOverride, isPath, isPlan, isQuestion, isScaffoldError, isSnapshot, manifestToDependencies, manifestToName, matchesDriftReachability, matchesEngines, matchesOrchestrationPath, matchesPrintWidth, matchesRange, nameToGuide, nameToHostArtifacts, nameToRewrite, overridesToQuestions, parseBlueprint, parseCompilerOptions, parseGroups, parseSnapshot, pathToCondition, planToFindings, planToHash, planToSummary, selectGroups, selectHostPaths, serializeTypeScriptString, srcToEntry, srcToExports, srcToRoot };
|
|
4777
4851
|
|
|
4778
4852
|
//# sourceMappingURL=index.js.map
|