@ankhorage/studio 5.10.7 → 5.10.9
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 +1 -1
- package/apm/update.json +1 -1
- package/dist/constants/projectIdentity.d.ts +4 -0
- package/dist/constants/projectIdentity.d.ts.map +1 -0
- package/dist/constants/projectIdentity.js +4 -0
- package/dist/constants/projectIdentity.js.map +1 -0
- package/dist/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.d.ts.map +1 -1
- package/dist/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.js +4 -4
- package/dist/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.js.map +1 -1
- package/dist/host/layout/navigator/generateNavigatorLayoutFiles.d.ts.map +1 -1
- package/dist/host/layout/navigator/generateNavigatorLayoutFiles.js +8 -2
- package/dist/host/layout/navigator/generateNavigatorLayoutFiles.js.map +1 -1
- package/dist/host/orchestrator/projectPaths.d.ts.map +1 -1
- package/dist/host/orchestrator/projectPaths.js +3 -4
- package/dist/host/orchestrator/projectPaths.js.map +1 -1
- package/dist/projectIdentity.d.ts.map +1 -1
- package/dist/projectIdentity.js +3 -4
- package/dist/projectIdentity.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# @ankhorage/studio
|
|
5
5
|
|
|
6
|
-
         
|
|
7
7
|
|
|
8
8
|
Studio authoring package for Ankhorage apps
|
|
9
9
|
|
package/apm/update.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"protocolVersion": 1,
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"owner": { "name": "@ankhorage/studio", "version": "5.10.
|
|
4
|
+
"owner": { "name": "@ankhorage/studio", "version": "5.10.9" },
|
|
5
5
|
"history": {
|
|
6
6
|
"supported": [{ "sourceRange": ">=2.5.7 <3.0.0", "mode": "no-migration" }],
|
|
7
7
|
"unsupported": [],
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectIdentity.d.ts","sourceRoot":"","sources":["../../src/constants/projectIdentity.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,QAAgC,CAAC;AACvE,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectIdentity.js","sourceRoot":"","sources":["../../src/constants/projectIdentity.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGeneratedPackagePolicy.d.ts","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getGeneratedPackagePolicy.d.ts","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEnF,6FAA6F;AAC7F,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { isRecord, readOwnProperty } from '@ankhorage/utility/object';
|
|
4
|
+
import { SEMVER_PATTERNS } from '@ankhorage/utility/semver';
|
|
4
5
|
/*** Return Studio-owned generated-app dependency policy from this exact package artifact. */
|
|
5
6
|
export function getGeneratedPackagePolicy() {
|
|
6
7
|
return GENERATED_PACKAGE_POLICY;
|
|
@@ -9,8 +10,6 @@ const REQUIRE = createRequire(import.meta.url);
|
|
|
9
10
|
const STUDIO_PACKAGE_JSON_URL = new URL('../../../../../package.json', import.meta.url);
|
|
10
11
|
const STUDIO_SELF_CONSUMER_PACKAGE_JSON_URL = new URL('../../../../../apps/studio/package.json', import.meta.url);
|
|
11
12
|
const COLOR_THEORY_PACKAGE_JSON_PATH = REQUIRE.resolve('@ankhorage/color-theory/package.json');
|
|
12
|
-
const SEMVER_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
|
|
13
|
-
const BUN_PACKAGE_MANAGER_PATTERN = /^bun@\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
|
|
14
13
|
const GENERATED_PACKAGE_POLICY = readGeneratedPackagePolicy();
|
|
15
14
|
/*** Read and validate owner package metadata used as generated-app dependency floors. */
|
|
16
15
|
function readGeneratedPackagePolicy() {
|
|
@@ -100,7 +99,7 @@ function readPackageManifest(source, ownerName) {
|
|
|
100
99
|
/*** Read and validate Studio's exact package version. */
|
|
101
100
|
function readStudioVersion(studio) {
|
|
102
101
|
const version = readRequiredString(studio, 'version', 'Studio');
|
|
103
|
-
if (!
|
|
102
|
+
if (!SEMVER_PATTERNS.exactWithPrerelease.test(version)) {
|
|
104
103
|
throw new Error('Studio package.json version must be exact semver.');
|
|
105
104
|
}
|
|
106
105
|
return version;
|
|
@@ -108,7 +107,8 @@ function readStudioVersion(studio) {
|
|
|
108
107
|
/*** Read and validate Studio's exact Bun package-manager pin. */
|
|
109
108
|
function readStudioPackageManager(studio) {
|
|
110
109
|
const packageManager = readRequiredString(studio, 'packageManager', 'Studio');
|
|
111
|
-
if (!
|
|
110
|
+
if (!packageManager.startsWith('bun@') ||
|
|
111
|
+
!SEMVER_PATTERNS.exactWithPrerelease.test(packageManager.slice('bun@'.length))) {
|
|
112
112
|
throw new Error('Studio package.json packageManager must pin an exact Bun version.');
|
|
113
113
|
}
|
|
114
114
|
return packageManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGeneratedPackagePolicy.js","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"getGeneratedPackagePolicy.js","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAI5D,6FAA6F;AAC7F,MAAM,UAAU,yBAAyB;IACvC,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxF,MAAM,qCAAqC,GAAG,IAAI,GAAG,CACnD,yCAAyC,EACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;AACF,MAAM,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;AAC/F,MAAM,wBAAwB,GAAG,0BAA0B,EAAE,CAAC;AAE9D,yFAAyF;AACzF,SAAS,0BAA0B;IACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,mBAAmB,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACnF,MAAM,0BAA0B,GAAG,mBAAmB,CACpD,WAAW,EACX,iBAAiB,EACjB,cAAc,CACf,CAAC;IACF,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,4BAA4B,CAAC;QAClC,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,kBAAkB,CAAC,0BAA0B,EAAE,eAAe,EAAE,cAAc,CAAC;QAC5F,YAAY;QACZ,qBAAqB,EAAE,kCAAkC,CAAC,YAAY,CAAC;QACvE,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC;KACjD,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,4BAA4B,CAAC,KAQrC;IACC,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,YAAY,EAAE,gCAAgC,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,qBAAqB,CAAC;QAC/F,eAAe,EAAE;YACf,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,iBAAiB,EAAE,QAAQ,CAAC;YAC5E,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,qBAAqB,EAAE,QAAQ,CAAC;YACpF,QAAQ,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC;YAC3E,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC;SAChF;QACD,gBAAgB,EAAE,6BAA6B,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,gCAAgC,CACvC,YAA+C,EAC/C,qBAA6B;IAE7B,OAAO;QACL,SAAS,EAAE,kBAAkB,CAAC,YAAY,EAAE,sBAAsB,EAAE,QAAQ,CAAC;QAC7E,WAAW,EAAE,kBAAkB,CAAC,YAAY,EAAE,yBAAyB,EAAE,QAAQ,CAAC;QAClF,WAAW,EAAE,kBAAkB,CAAC,YAAY,EAAE,yBAAyB,EAAE,QAAQ,CAAC;QAClF,SAAS,EAAE,kBAAkB,CAAC,YAAY,EAAE,sBAAsB,EAAE,QAAQ,CAAC;QAC7E,OAAO,EAAE,kBAAkB,CAAC,YAAY,EAAE,oBAAoB,EAAE,QAAQ,CAAC;QACzE,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,kBAAkB,CAAC,YAAY,EAAE,oBAAoB,EAAE,QAAQ,CAAC;QACzE,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,0BAA0B,EAAE,QAAQ,CAAC;QACpF,eAAe,EAAE,kBAAkB,CAAC,YAAY,EAAE,6BAA6B,EAAE,QAAQ,CAAC;QAC1F,IAAI,EAAE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACnE,cAAc,EAAE,sCAAsC,CAAC,YAAY,CAAC;KACrE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kCAAkC,CAAC,YAAoB;IAC9D,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC;QAAE,OAAO,IAAI,YAAY,EAAE,CAAC;IAClF,MAAM,YAAY,GAAG,mBAAmB,CACtC,qCAAqC,EACrC,sBAAsB,CACvB,CAAC;IACF,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;IAC/F,OAAO,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;AACvF,CAAC;AAED,wFAAwF;AACxF,SAAS,sCAAsC,CAC7C,YAA+C;IAE/C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SACtB,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;SACnE,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,6BAA6B,CACpC,gBAAmD;IAEnD,OAAO;QACL,WAAW,EAAE,kBAAkB,CAC7B,gBAAgB,EAChB,wCAAwC,EACxC,QAAQ,CACT;QACD,YAAY,EAAE,kBAAkB,CAC9B,gBAAgB,EAChB,yCAAyC,EACzC,QAAQ,CACT;QACD,YAAY,EAAE,kBAAkB,CAC9B,gBAAgB,EAChB,yCAAyC,EACzC,QAAQ,CACT;QACD,QAAQ,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,qCAAqC,EAAE,QAAQ,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,mBAAmB,CAC1B,MAAoB,EACpB,SAAiB;IAEjB,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,uCAAuC,CAAC,CAAC;IAC9F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,yDAAyD;AACzD,SAAS,iBAAiB,CAAC,MAAyC;IAClE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,iEAAiE;AACjE,SAAS,wBAAwB,CAAC,MAAyC;IACzE,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC9E,IACE,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;QAClC,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC9E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,8DAA8D;AAC9D,SAAS,mBAAmB,CAC1B,QAA2C,EAC3C,WAAmB,EACnB,SAAiB;IAEjB,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,iBAAiB,WAAW,qBAAqB,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0EAA0E;AAC1E,SAAS,kBAAkB,CACzB,MAAyC,EACzC,GAAW,EACX,SAAiB;IAEjB,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,iCAAiC,GAAG,yBAAyB,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateNavigatorLayoutFiles.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAEV,2BAA2B,EAC3B,aAAa,EAEd,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"generateNavigatorLayoutFiles.d.ts","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAEV,2BAA2B,EAC3B,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAKxC,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iCAAiC;IACzC,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qHAAqH;AACrH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,wBAAwB,EAAE,CA0B5B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EXPO_PLATFORM } from '@ankhorage/expo-runtime/platform';
|
|
2
2
|
import { createNavigatorPlan, generateNavigator } from '@ankhorage/navigator';
|
|
3
|
+
import { parseSemanticVersion } from '@ankhorage/utility/semver';
|
|
3
4
|
/*** Generate Navigator-owned layouts for enabled targets while leaving root-shell and screen ownership in Studio. */
|
|
4
5
|
export function generateNavigatorLayoutFiles(input) {
|
|
5
6
|
const platforms = enabledPlatforms(input.targets);
|
|
@@ -133,10 +134,15 @@ function resolvePublicRoutePath(parentPath, routeName, authoredPath) {
|
|
|
133
134
|
}
|
|
134
135
|
/*** Read the concrete semantic version from Expo Runtime's package range. */
|
|
135
136
|
function resolveExactVersion(versionRange) {
|
|
136
|
-
const
|
|
137
|
+
const normalized = versionRange.startsWith('>=')
|
|
138
|
+
? versionRange.slice(2)
|
|
139
|
+
: versionRange.startsWith('^') || versionRange.startsWith('~')
|
|
140
|
+
? versionRange.slice(1)
|
|
141
|
+
: versionRange;
|
|
142
|
+
const version = parseSemanticVersion(normalized);
|
|
137
143
|
if (!version)
|
|
138
144
|
throw new Error(`Expo Router range ${JSON.stringify(versionRange)} has no version.`);
|
|
139
|
-
return version
|
|
145
|
+
return `${version.major}.${version.minor}.${version.patch}`;
|
|
140
146
|
}
|
|
141
147
|
/*** Add an Expo platform suffix to a generated TypeScript layout path. */
|
|
142
148
|
function platformPath(filePath, platform) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateNavigatorLayoutFiles.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"generateNavigatorLayoutFiles.js","sourceRoot":"","sources":["../../../../src/host/layout/navigator/generateNavigatorLayoutFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectPaths.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectPaths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectPaths.d.ts","sourceRoot":"","sources":["../../../src/host/orchestrator/projectPaths.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,UAE3C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,UAUhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAQjE"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
|
|
3
|
-
const RESERVED_PROJECT_IDS = new Set(['studio']);
|
|
2
|
+
import { STUDIO_PROJECT_ID_PATTERN, STUDIO_RESERVED_PROJECT_IDS, } from '../../constants/projectIdentity';
|
|
4
3
|
/***
|
|
5
4
|
* Resolve the Studio workspace directory containing generated application projects.
|
|
6
5
|
* @todo Move project path policy from generic `host/orchestrator` into the `projects/` domain host edge.
|
|
@@ -15,8 +14,8 @@ export function getAppsRoot(rootPath) {
|
|
|
15
14
|
export function assertProjectId(projectId) {
|
|
16
15
|
if (projectId.length === 0 ||
|
|
17
16
|
path.basename(projectId) !== projectId ||
|
|
18
|
-
!
|
|
19
|
-
|
|
17
|
+
!STUDIO_PROJECT_ID_PATTERN.test(projectId) ||
|
|
18
|
+
STUDIO_RESERVED_PROJECT_IDS.has(projectId)) {
|
|
20
19
|
throw new Error(`Invalid project id: ${projectId}`);
|
|
21
20
|
}
|
|
22
21
|
return projectId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectPaths.js","sourceRoot":"","sources":["../../../src/host/orchestrator/projectPaths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,
|
|
1
|
+
{"version":3,"file":"projectPaths.js","sourceRoot":"","sources":["../../../src/host/orchestrator/projectPaths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS;QACtC,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1C,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,EAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,SAAiB;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectIdentity.d.ts","sourceRoot":"","sources":["../src/projectIdentity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectIdentity.d.ts","sourceRoot":"","sources":["../src/projectIdentity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gCAAgC,EAChC,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO3D;AAkBD,yGAAyG;AACzG,qBAAa,8BAA+B,SAAQ,KAAK;IAE3C,QAAQ,CAAC,MAAM,EAAE,gCAAgC;IAD7D,gFAAgF;gBAC3D,MAAM,EAAE,gCAAgC;CAI9D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD,GAAG,+BAA+B,CAwDlC"}
|
package/dist/projectIdentity.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const PROJECT_ID_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/u;
|
|
1
|
+
import { STUDIO_PROJECT_ID_PATTERN, STUDIO_RESERVED_PROJECT_IDS, } from './constants/projectIdentity';
|
|
3
2
|
/***
|
|
4
3
|
* Normalize a project name into a lowercase hyphenated identifier.
|
|
5
4
|
* @utility @ankhorage/utility/string
|
|
@@ -24,7 +23,7 @@ function normalizeProjectName(projectName) {
|
|
|
24
23
|
* @todo Move project identity/reserved-id policy under src/projects/.
|
|
25
24
|
*/
|
|
26
25
|
function isReservedProjectId(projectId) {
|
|
27
|
-
return
|
|
26
|
+
return STUDIO_RESERVED_PROJECT_IDS.has(projectId);
|
|
28
27
|
}
|
|
29
28
|
/*** Represent a failed Studio project-creation validation as an Error carrying its structured reason. */
|
|
30
29
|
export class ProjectCreationValidationError extends Error {
|
|
@@ -50,7 +49,7 @@ export function validateProjectCreationInput(args) {
|
|
|
50
49
|
reason: { code: 'empty-name', message: 'Project name is required.' },
|
|
51
50
|
};
|
|
52
51
|
}
|
|
53
|
-
if (!
|
|
52
|
+
if (!STUDIO_PROJECT_ID_PATTERN.test(projectId)) {
|
|
54
53
|
return {
|
|
55
54
|
ok: false,
|
|
56
55
|
projectId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectIdentity.js","sourceRoot":"","sources":["../src/projectIdentity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectIdentity.js","sourceRoot":"","sources":["../src/projectIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAOrC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,WAAW;SACf,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,yGAAyG;AACzG,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAElC;IADrB,gFAAgF;IAChF,YAAqB,MAAwC;QAC3D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QADH,WAAM,GAAN,MAAM,CAAkC;QAE3D,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAG5C;IACC,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS;YACT,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,2BAA2B,EAAE;SACrE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,kEAAkE;aAC5E;SACF,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,IAAI,SAAS,6CAA6C;aACpE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QACtE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS;YACT,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,SAAS,mBAAmB,EAAE;SAC5F,CAAC;IACJ,CAAC;IAED,IACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,EAC9F,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB;aAC9D;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
|