@camera.ui/cli 0.0.50 → 0.0.51
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/commands/artifacts.d.ts +2 -2
- package/dist/commands/artifacts.js +28 -19
- package/dist/commands/artifacts.js.map +1 -1
- package/dist/commands/bundle.d.ts +16 -1
- package/dist/commands/bundle.js +103 -70
- package/dist/commands/bundle.js.map +1 -1
- package/dist/commands/publish.js +35 -20
- package/dist/commands/publish.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/package.json +1 -1
- package/templates/go/postinstall.js +54 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import type { GoTarget } from '../types.js';
|
|
1
2
|
export interface ArtifactsOptions {
|
|
2
3
|
dir?: string;
|
|
3
4
|
}
|
|
4
5
|
export interface DiscoveredBinary {
|
|
5
|
-
|
|
6
|
-
goarch: string;
|
|
6
|
+
target: GoTarget;
|
|
7
7
|
sourcePath: string;
|
|
8
8
|
}
|
|
9
9
|
export declare function artifactsCommand(options?: ArtifactsOptions): Promise<void>;
|
|
@@ -5,9 +5,12 @@ import { showIntro, showOutro } from '../utils/banners.js';
|
|
|
5
5
|
import * as log from '../utils/logger.js';
|
|
6
6
|
import { parseConfig } from '../utils/parser.js';
|
|
7
7
|
import { detectLanguage, ensureDir } from '../utils/utils.js';
|
|
8
|
+
import { finalizeBundle, stagePlatformPackages, targetKey } from './bundle.js';
|
|
8
9
|
async function discoverBinaries(artifactsDir, pluginName, knownTargets) {
|
|
9
10
|
const found = [];
|
|
10
|
-
|
|
11
|
+
// Map each canonical key (incl. -musl) back to its target so we recover the
|
|
12
|
+
// full target (libc and all) instead of re-parsing the name.
|
|
13
|
+
const byKey = new Map(knownTargets.map((t) => [targetKey(t), t]));
|
|
11
14
|
async function walk(dir) {
|
|
12
15
|
const entries = await readdir(dir, { withFileTypes: true });
|
|
13
16
|
for (const entry of entries) {
|
|
@@ -16,18 +19,17 @@ async function discoverBinaries(artifactsDir, pluginName, knownTargets) {
|
|
|
16
19
|
await walk(fullPath);
|
|
17
20
|
continue;
|
|
18
21
|
}
|
|
19
|
-
// Match `<pluginName>-<
|
|
22
|
+
// Match `<pluginName>-<key>` or `<pluginName>-<key>.exe`, where key is
|
|
23
|
+
// `<goos>-<goarch>[-musl]`.
|
|
20
24
|
const stripped = entry.name.endsWith('.exe') ? entry.name.slice(0, -4) : entry.name;
|
|
21
25
|
const prefix = `${pluginName}-`;
|
|
22
26
|
if (!stripped.startsWith(prefix))
|
|
23
27
|
continue;
|
|
24
|
-
const rest = stripped.slice(prefix.length);
|
|
25
|
-
|
|
28
|
+
const rest = stripped.slice(prefix.length);
|
|
29
|
+
const target = byKey.get(rest);
|
|
30
|
+
if (!target)
|
|
26
31
|
continue;
|
|
27
|
-
|
|
28
|
-
const goos = rest.slice(0, dashIdx);
|
|
29
|
-
const goarch = rest.slice(dashIdx + 1);
|
|
30
|
-
found.push({ goos, goarch, sourcePath: fullPath });
|
|
32
|
+
found.push({ target, sourcePath: fullPath });
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
if (!existsSync(artifactsDir)) {
|
|
@@ -65,32 +67,29 @@ export async function artifactsCommand(options = {}) {
|
|
|
65
67
|
}
|
|
66
68
|
const discovered = await discoverBinaries(artifactsDir, pluginName, knownTargets);
|
|
67
69
|
if (discovered.length === 0) {
|
|
68
|
-
throw new Error(`No matching binaries found in ${artifactsDir} (looking for "${pluginName}-<goos>-<goarch>[.exe]")`);
|
|
70
|
+
throw new Error(`No matching binaries found in ${artifactsDir} (looking for "${pluginName}-<goos>-<goarch>[-musl][.exe]")`);
|
|
69
71
|
}
|
|
70
72
|
log.info(`Found ${discovered.length}/${knownTargets.length} target binaries:`);
|
|
71
73
|
for (const b of discovered) {
|
|
72
|
-
log.info(` ${b.
|
|
74
|
+
log.info(` ${targetKey(b.target)}`);
|
|
73
75
|
}
|
|
74
|
-
const missingTargets = knownTargets.filter((t) => !discovered.some((d) => d.
|
|
76
|
+
const missingTargets = knownTargets.filter((t) => !discovered.some((d) => targetKey(d.target) === targetKey(t)));
|
|
75
77
|
if (missingTargets.length > 0) {
|
|
76
|
-
log.error(` Missing: ${missingTargets.map((t) =>
|
|
78
|
+
log.error(` Missing: ${missingTargets.map((t) => targetKey(t)).join(', ')}`);
|
|
77
79
|
throw new Error('Some target binaries are missing — refusing to ship a partial bundle.');
|
|
78
80
|
}
|
|
79
81
|
// Stage binaries into bundle/dist/bin/ with the canonical naming convention
|
|
80
|
-
// `<pluginName>-<
|
|
81
|
-
//
|
|
82
|
+
// `<pluginName>-<key>[.exe]`, then hand off to the same staging routine that
|
|
83
|
+
// the multi-target build uses.
|
|
82
84
|
const bundleDir = resolve(targetRootDir, 'bundle');
|
|
83
85
|
const binDir = resolve(bundleDir, 'dist', 'bin');
|
|
84
86
|
await ensureDir(binDir);
|
|
85
87
|
for (const b of discovered) {
|
|
86
|
-
const ext = b.goos === 'windows' ? '.exe' : '';
|
|
87
|
-
const targetPath = resolve(binDir, `${pluginName}-${b.
|
|
88
|
+
const ext = b.target.goos === 'windows' ? '.exe' : '';
|
|
89
|
+
const targetPath = resolve(binDir, `${pluginName}-${targetKey(b.target)}${ext}`);
|
|
88
90
|
await mkdir(dirname(targetPath), { recursive: true });
|
|
89
91
|
await rename(b.sourcePath, targetPath);
|
|
90
92
|
}
|
|
91
|
-
// Late import of staging helper avoids a top-level require cycle between
|
|
92
|
-
// bundle.ts and artifacts.ts.
|
|
93
|
-
const { stagePlatformPackages } = await import('./bundle.js');
|
|
94
93
|
await stagePlatformPackages({
|
|
95
94
|
targets: knownTargets,
|
|
96
95
|
binDir,
|
|
@@ -100,6 +99,16 @@ export async function artifactsCommand(options = {}) {
|
|
|
100
99
|
packageJson,
|
|
101
100
|
rootDir,
|
|
102
101
|
});
|
|
102
|
+
await finalizeBundle({
|
|
103
|
+
targetRootDir,
|
|
104
|
+
bundleDir,
|
|
105
|
+
rootDir,
|
|
106
|
+
pluginLanguage,
|
|
107
|
+
external: Array.isArray(userConfig.external) ? userConfig.external : [],
|
|
108
|
+
additionalFiles: userConfig.additionalFiles,
|
|
109
|
+
goTargets: knownTargets,
|
|
110
|
+
isDev: false,
|
|
111
|
+
});
|
|
103
112
|
const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
104
113
|
log.success(`Artifacts aggregated in ${elapsed}s — bundle/ is ready to publish`);
|
|
105
114
|
showOutro('Done');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/commands/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/commands/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { GoTarget } from '../types.js';
|
|
1
|
+
import type { GoTarget, PluginLanguage } from '../types.js';
|
|
2
|
+
export declare function targetKey(t: Pick<GoTarget, 'goos' | 'goarch' | 'libc'>): string;
|
|
2
3
|
export interface StagePlatformPackagesArgs {
|
|
3
4
|
targets: GoTarget[];
|
|
4
5
|
binDir: string;
|
|
@@ -13,6 +14,20 @@ export interface StagePlatformPackagesArgs {
|
|
|
13
14
|
rootDir: string;
|
|
14
15
|
}
|
|
15
16
|
export declare function stagePlatformPackages(args: StagePlatformPackagesArgs): Promise<void>;
|
|
17
|
+
export interface FinalizeBundleArgs {
|
|
18
|
+
targetRootDir: string;
|
|
19
|
+
bundleDir: string;
|
|
20
|
+
rootDir: string;
|
|
21
|
+
pluginLanguage: PluginLanguage;
|
|
22
|
+
external: (string | RegExp)[];
|
|
23
|
+
additionalFiles?: string[] | {
|
|
24
|
+
source: string;
|
|
25
|
+
target: string;
|
|
26
|
+
}[];
|
|
27
|
+
goTargets?: GoTarget[];
|
|
28
|
+
isDev: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare function finalizeBundle(args: FinalizeBundleArgs): Promise<void>;
|
|
16
31
|
export interface BuildOptions {
|
|
17
32
|
target?: string;
|
|
18
33
|
}
|
package/dist/commands/bundle.js
CHANGED
|
@@ -28,10 +28,18 @@ function nodeArchToGoarch(a) {
|
|
|
28
28
|
return a === 'x64' ? 'amd64' : a;
|
|
29
29
|
}
|
|
30
30
|
function goosToNpmOs(g) {
|
|
31
|
-
return g === 'windows' ? 'win32' : g;
|
|
31
|
+
return g === 'windows' ? 'win32' : g; // 'linux'/'darwin' map through unchanged
|
|
32
32
|
}
|
|
33
33
|
function goarchToNpmCpu(g) {
|
|
34
|
-
return g === 'amd64' ? 'x64' : g;
|
|
34
|
+
return g === 'amd64' ? 'x64' : g; // 'arm64' is the same in both
|
|
35
|
+
}
|
|
36
|
+
function targetLibc(t) {
|
|
37
|
+
if (t.goos !== 'linux')
|
|
38
|
+
return undefined;
|
|
39
|
+
return t.libc ?? 'glibc';
|
|
40
|
+
}
|
|
41
|
+
export function targetKey(t) {
|
|
42
|
+
return targetLibc(t) === 'musl' ? `${t.goos}-${t.goarch}-musl` : `${t.goos}-${t.goarch}`;
|
|
35
43
|
}
|
|
36
44
|
function resolveGoTargets(mode, goOpts) {
|
|
37
45
|
if (mode === 'development') {
|
|
@@ -51,25 +59,31 @@ export async function stagePlatformPackages(args) {
|
|
|
51
59
|
const platformsDir = resolve(args.bundleDir, 'platforms');
|
|
52
60
|
await ensureDir(platformsDir);
|
|
53
61
|
const optionalDeps = {};
|
|
54
|
-
for (const
|
|
62
|
+
for (const target of args.targets) {
|
|
63
|
+
const { goos, goarch } = target;
|
|
64
|
+
const key = targetKey(target);
|
|
65
|
+
const libc = targetLibc(target);
|
|
55
66
|
const ext = goos === 'windows' ? '.exe' : '';
|
|
56
|
-
const platformDir = resolve(platformsDir,
|
|
67
|
+
const platformDir = resolve(platformsDir, key);
|
|
57
68
|
await ensureDir(platformDir);
|
|
58
|
-
const binaryName = `${args.pluginName}-${
|
|
69
|
+
const binaryName = `${args.pluginName}-${key}${ext}`;
|
|
59
70
|
const sourcePath = resolve(args.binDir, binaryName);
|
|
60
71
|
const targetBinaryName = `${args.pluginName}${ext}`;
|
|
61
72
|
if (!existsSync(sourcePath)) {
|
|
62
|
-
log.error(` Missing binary for ${
|
|
73
|
+
log.error(` Missing binary for ${key}: ${sourcePath}`);
|
|
63
74
|
throw new Error(`Binary not found: ${sourcePath}`);
|
|
64
75
|
}
|
|
65
76
|
await cp(sourcePath, resolve(platformDir, targetBinaryName));
|
|
66
77
|
await rm(sourcePath);
|
|
67
|
-
const platformPkgName = args.packageScope ? `${args.packageScope}/${args.pluginName}-${
|
|
78
|
+
const platformPkgName = args.packageScope ? `${args.packageScope}/${args.pluginName}-${key}` : `${args.pluginName}-${key}`;
|
|
68
79
|
const platformPkg = {
|
|
69
80
|
name: platformPkgName,
|
|
70
81
|
version: args.packageJson.version ?? '0.0.1',
|
|
71
82
|
os: [goosToNpmOs(goos)],
|
|
72
83
|
cpu: [goarchToNpmCpu(goarch)],
|
|
84
|
+
// `libc` lets npm skip a glibc build on musl systems (e.g. Alpine) and
|
|
85
|
+
// vice versa — without it npm would install a binary that can't exec.
|
|
86
|
+
...(libc ? { libc: [libc] } : {}),
|
|
73
87
|
main: targetBinaryName,
|
|
74
88
|
files: [targetBinaryName],
|
|
75
89
|
license: args.packageJson.license ?? 'MIT',
|
|
@@ -149,6 +163,7 @@ async function processPackageJson({ rootDir, outDir, external, pluginLanguage, g
|
|
|
149
163
|
const mainFile = pluginLanguage === 'python' ? 'main.py' : pluginLanguage === 'go' ? 'main.go' : 'index.js';
|
|
150
164
|
packageJson.main = pluginLanguage === 'go' ? './main.go' : `./dist/${mainFile}`;
|
|
151
165
|
packageJson.type = 'commonjs';
|
|
166
|
+
delete packageJson.private;
|
|
152
167
|
// TODO: Uncomment when server-side compatibility check is implemented
|
|
153
168
|
// // Extract @camera.ui/sdk version from devDependencies before deleting
|
|
154
169
|
// // This will be added as peerDependency for runtime compatibility checking
|
|
@@ -199,13 +214,21 @@ async function processPackageJson({ rootDir, outDir, external, pluginLanguage, g
|
|
|
199
214
|
const packageScope = packageJson.name.includes('/') ? packageJson.name.split('/')[0] : undefined;
|
|
200
215
|
const version = packageJson.version ?? '0.0.1';
|
|
201
216
|
const optionalDeps = {};
|
|
202
|
-
for (const
|
|
203
|
-
const
|
|
217
|
+
for (const target of goTargets) {
|
|
218
|
+
const key = targetKey(target);
|
|
219
|
+
const platformPkgName = packageScope ? `${packageScope}/${pluginName}-${key}` : `${pluginName}-${key}`;
|
|
204
220
|
optionalDeps[platformPkgName] = version;
|
|
205
221
|
}
|
|
206
222
|
packageJson.optionalDependencies = optionalDeps;
|
|
207
223
|
packageJson.scripts = { ...packageJson.scripts, postinstall: 'node postinstall.js' };
|
|
208
224
|
}
|
|
225
|
+
// Lean main package: the server only needs bundle.zip (it extracts it on
|
|
226
|
+
// install). This keeps the platform binaries staged under bundle/platforms/
|
|
227
|
+
// out of the main tarball — each ships in its own platform package via
|
|
228
|
+
// optionalDependencies instead of being duplicated into every install.
|
|
229
|
+
// package.json/README/LICENSE are auto-included by npm; CHANGELOG isn't, so
|
|
230
|
+
// it's listed explicitly to keep it on the npm page.
|
|
231
|
+
packageJson.files = ['bundle.zip', 'CHANGELOG.md'];
|
|
209
232
|
const targetPath = resolve(outDir, 'package.json');
|
|
210
233
|
await writeFile(targetPath, JSON.stringify(packageJson, null, 2));
|
|
211
234
|
log.success('Package.json processed');
|
|
@@ -245,6 +268,59 @@ async function createBundleZip(bundleDir) {
|
|
|
245
268
|
throw error;
|
|
246
269
|
}
|
|
247
270
|
}
|
|
271
|
+
export async function finalizeBundle(args) {
|
|
272
|
+
const { targetRootDir, bundleDir, rootDir, pluginLanguage, external, additionalFiles, goTargets, isDev } = args;
|
|
273
|
+
// Bundle contract.ts (always at root level, required for all plugins)
|
|
274
|
+
const contractInput = resolve(targetRootDir, 'contract.ts');
|
|
275
|
+
if (!existsSync(contractInput)) {
|
|
276
|
+
throw new Error(`Missing contract.ts at ${contractInput}. Every plugin requires a contract.ts file at the project root.`);
|
|
277
|
+
}
|
|
278
|
+
log.info('Bundling contract...');
|
|
279
|
+
// Bundle contract with esbuild - no externals, enum values are inlined
|
|
280
|
+
// Use .cjs extension to ensure Node.js treats it as CommonJS regardless of package.json "type"
|
|
281
|
+
await esbuild.build({
|
|
282
|
+
entryPoints: [contractInput],
|
|
283
|
+
bundle: true,
|
|
284
|
+
platform: 'node',
|
|
285
|
+
target: 'node18',
|
|
286
|
+
format: 'cjs',
|
|
287
|
+
outfile: resolve(bundleDir, 'contract.cjs'),
|
|
288
|
+
sourcemap: isDev,
|
|
289
|
+
minify: false, // Keep contract readable for debugging
|
|
290
|
+
logLevel: 'warning',
|
|
291
|
+
});
|
|
292
|
+
log.success('Contract bundled');
|
|
293
|
+
// Validate contract
|
|
294
|
+
log.info('Validating contract...');
|
|
295
|
+
const contractPath = resolve(bundleDir, 'contract.cjs');
|
|
296
|
+
const contractModule = await import(pathToFileURL(contractPath).href);
|
|
297
|
+
const contract = contractModule.contract ?? contractModule.default;
|
|
298
|
+
if (!contract) {
|
|
299
|
+
throw new Error('Contract not found. Ensure your contract.ts exports "contract" or uses a default export.');
|
|
300
|
+
}
|
|
301
|
+
const validationErrors = getContractValidationErrors(contract);
|
|
302
|
+
if (validationErrors.length > 0) {
|
|
303
|
+
const errorList = validationErrors.map((e) => ` - ${e}`).join('\n');
|
|
304
|
+
throw new Error(`Invalid contract structure:\n${errorList}`);
|
|
305
|
+
}
|
|
306
|
+
validateContractConsistency(contract);
|
|
307
|
+
log.success('Contract validated');
|
|
308
|
+
await copyStandardFiles(rootDir, bundleDir);
|
|
309
|
+
if (additionalFiles?.length) {
|
|
310
|
+
await copyAdditionalFiles(rootDir, additionalFiles, bundleDir);
|
|
311
|
+
}
|
|
312
|
+
await processPackageJson({
|
|
313
|
+
rootDir,
|
|
314
|
+
outDir: bundleDir,
|
|
315
|
+
external,
|
|
316
|
+
pluginLanguage,
|
|
317
|
+
goTargets,
|
|
318
|
+
isDev,
|
|
319
|
+
});
|
|
320
|
+
if (!isDev) {
|
|
321
|
+
await createBundleZip(bundleDir);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
248
324
|
export async function buildProject(options = {}) {
|
|
249
325
|
const startTime = Date.now();
|
|
250
326
|
showIntro();
|
|
@@ -274,15 +350,11 @@ export async function buildProject(options = {}) {
|
|
|
274
350
|
// skipped — that's the `artifacts` command's job once all matrix jobs
|
|
275
351
|
// have uploaded their respective binaries.
|
|
276
352
|
if (options.target) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}
|
|
281
|
-
const wantGoos = options.target.slice(0, dashIdx);
|
|
282
|
-
const wantGoarch = options.target.slice(dashIdx + 1);
|
|
283
|
-
const match = targets.find((t) => t.goos === wantGoos && t.goarch === wantGoarch);
|
|
353
|
+
// The --target value is a canonical target key: <goos>-<goarch> or, for
|
|
354
|
+
// musl linux builds, <goos>-<goarch>-musl (e.g. linux-amd64-musl).
|
|
355
|
+
const match = targets.find((t) => targetKey(t) === options.target);
|
|
284
356
|
if (!match) {
|
|
285
|
-
const available = targets.map((t) =>
|
|
357
|
+
const available = targets.map((t) => targetKey(t)).join(', ');
|
|
286
358
|
throw new Error(`--target ${options.target} not in plugin's configured targets [${available}]`);
|
|
287
359
|
}
|
|
288
360
|
targets = [match];
|
|
@@ -294,13 +366,15 @@ export async function buildProject(options = {}) {
|
|
|
294
366
|
const isDev = userConfig.mode === 'development';
|
|
295
367
|
for (const target of targets) {
|
|
296
368
|
const { goos, goarch } = target;
|
|
369
|
+
const key = targetKey(target);
|
|
297
370
|
const ext = goos === 'windows' ? '.exe' : '';
|
|
298
371
|
// Naming:
|
|
299
372
|
// - dev mode (no --target): unsuffixed `plugin` for direct local run
|
|
300
|
-
// - --target / production: `<pluginName>-<
|
|
301
|
-
// matrix runners can upload an
|
|
302
|
-
// target, and the `artifacts`
|
|
303
|
-
|
|
373
|
+
// - --target / production: `<pluginName>-<key>[.exe]` (key encodes the
|
|
374
|
+
// target incl. a -musl suffix) so matrix runners can upload an
|
|
375
|
+
// artifact whose name encodes the target, and the `artifacts`
|
|
376
|
+
// command can match it back
|
|
377
|
+
const outputName = isDev && !options.target ? `plugin${ext}` : `${pluginName}-${key}${ext}`;
|
|
304
378
|
const outputPath = resolve(binDir, outputName);
|
|
305
379
|
// Per-target CGo + CC overrides — `cameraui.config.ts` can opt in
|
|
306
380
|
// CGo only for the platforms that need it (e.g. darwin Foundation
|
|
@@ -317,7 +391,7 @@ export async function buildProject(options = {}) {
|
|
|
317
391
|
if (target.cc)
|
|
318
392
|
targetEnv.CC = target.cc;
|
|
319
393
|
const cgoLabel = targetCgoEnabled === '1' ? ' [CGO]' : '';
|
|
320
|
-
log.info(` Building ${pluginName}-${
|
|
394
|
+
log.info(` Building ${pluginName}-${key}${ext}${cgoLabel}...`);
|
|
321
395
|
try {
|
|
322
396
|
// execFileSync (no shell) avoids cross-platform quoting headaches —
|
|
323
397
|
// PowerShell on Windows doesn't strip single quotes, so a shell-style
|
|
@@ -329,10 +403,10 @@ export async function buildProject(options = {}) {
|
|
|
329
403
|
stdio: 'pipe',
|
|
330
404
|
env: { ...process.env, ...targetEnv },
|
|
331
405
|
});
|
|
332
|
-
log.success(` Built ${pluginName}-${
|
|
406
|
+
log.success(` Built ${pluginName}-${key}${ext}`);
|
|
333
407
|
}
|
|
334
408
|
catch (err) {
|
|
335
|
-
log.error(` Failed to build ${pluginName}-${
|
|
409
|
+
log.error(` Failed to build ${pluginName}-${key}${ext}: ${err.message}`);
|
|
336
410
|
throw err;
|
|
337
411
|
}
|
|
338
412
|
}
|
|
@@ -424,58 +498,17 @@ export async function buildProject(options = {}) {
|
|
|
424
498
|
});
|
|
425
499
|
log.success('Plugin bundled');
|
|
426
500
|
}
|
|
427
|
-
// Bundle contract.ts (always at root level, required for all plugins)
|
|
428
|
-
const contractInput = resolve(targetRootDir, 'contract.ts');
|
|
429
|
-
if (!existsSync(contractInput)) {
|
|
430
|
-
throw new Error(`Missing contract.ts at ${contractInput}. Every plugin requires a contract.ts file at the project root.`);
|
|
431
|
-
}
|
|
432
|
-
log.info('Bundling contract...');
|
|
433
|
-
const isDevelopment = userConfig.mode === 'development';
|
|
434
|
-
// Bundle contract with esbuild - no externals, enum values are inlined
|
|
435
|
-
// Use .cjs extension to ensure Node.js treats it as CommonJS regardless of package.json "type"
|
|
436
|
-
await esbuild.build({
|
|
437
|
-
entryPoints: [contractInput],
|
|
438
|
-
bundle: true,
|
|
439
|
-
platform: 'node',
|
|
440
|
-
target: 'node18',
|
|
441
|
-
format: 'cjs',
|
|
442
|
-
outfile: resolve(bundleDir, 'contract.cjs'),
|
|
443
|
-
sourcemap: isDevelopment,
|
|
444
|
-
minify: false, // Keep contract readable for debugging
|
|
445
|
-
logLevel: 'warning',
|
|
446
|
-
});
|
|
447
|
-
log.success('Contract bundled');
|
|
448
|
-
// Validate contract
|
|
449
|
-
log.info('Validating contract...');
|
|
450
|
-
const contractPath = resolve(bundleDir, 'contract.cjs');
|
|
451
|
-
const contractModule = await import(pathToFileURL(contractPath).href);
|
|
452
|
-
const contract = contractModule.contract ?? contractModule.default;
|
|
453
|
-
if (!contract) {
|
|
454
|
-
throw new Error('Contract not found. Ensure your contract.ts exports "contract" or uses a default export.');
|
|
455
|
-
}
|
|
456
|
-
const validationErrors = getContractValidationErrors(contract);
|
|
457
|
-
if (validationErrors.length > 0) {
|
|
458
|
-
const errorList = validationErrors.map((e) => ` - ${e}`).join('\n');
|
|
459
|
-
throw new Error(`Invalid contract structure:\n${errorList}`);
|
|
460
|
-
}
|
|
461
|
-
validateContractConsistency(contract);
|
|
462
|
-
log.success('Contract validated');
|
|
463
|
-
await copyStandardFiles(rootDir, bundleDir);
|
|
464
|
-
if (userConfig.additionalFiles?.length) {
|
|
465
|
-
await copyAdditionalFiles(rootDir, userConfig.additionalFiles, bundleDir);
|
|
466
|
-
}
|
|
467
501
|
const external = Array.isArray(userConfig.external) ? userConfig.external : [];
|
|
468
|
-
await
|
|
502
|
+
await finalizeBundle({
|
|
503
|
+
targetRootDir,
|
|
504
|
+
bundleDir,
|
|
469
505
|
rootDir,
|
|
470
|
-
outDir: bundleDir,
|
|
471
|
-
external,
|
|
472
506
|
pluginLanguage,
|
|
507
|
+
external,
|
|
508
|
+
additionalFiles: userConfig.additionalFiles,
|
|
473
509
|
goTargets,
|
|
474
510
|
isDev: userConfig.mode === 'development',
|
|
475
511
|
});
|
|
476
|
-
if (userConfig.mode !== 'development') {
|
|
477
|
-
await createBundleZip(bundleDir);
|
|
478
|
-
}
|
|
479
512
|
const duration = Date.now() - startTime;
|
|
480
513
|
log.buildSuccess(bundleDir, duration);
|
|
481
514
|
showOutro('Build complete!');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/commands/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKlF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,kBAAkB,GAAe;IACrC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAClC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;IACpC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;CACrC,CAAC;AAEF,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAwB,EAAE,MAAuB;IACzE,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAqB,CAAC;QAC9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAuB,CAAC;QAClE,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAC7F,OAAO,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,EAAE,OAAO,EAAE,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IACnD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAA+B;IACzE,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;IAE9B,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;QAC/D,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;QAE7B,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QAEpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC7D,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;QAErB,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QAEjJ,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,OAAO;YAC5C,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,CAAC,gBAAgB,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,KAAK;SAC3C,CAAC;QAEF,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,YAAY,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;IACtD,CAAC;IAED,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;IACxF,MAAM,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEnF,wEAAwE;IACxE,wEAAwE;IACxE,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAwF,CAAC;IAC9H,OAAO,CAAC,oBAAoB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC;IAC5F,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrF,MAAM,SAAS,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtE,2EAA2E;IAC3E,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,sBAAsB,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,cAAc,GAAmB;IACrC;QACE,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,eAAe;KACzB;IACD;QACE,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,cAAc;KACxB;IACD;QACE,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAc;IAC9D,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,KAAsD,EAAE,MAAc;IACxH,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC;AAyCD,KAAK,UAAU,kBAAkB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAA6B;IAC1H,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAEvC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAC5G,WAAW,CAAC,IAAI,GAAG,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC;QAEhF,WAAW,CAAC,IAAI,GAAG,UAAU,CAAC;QAE9B,sEAAsE;QACtE,yEAAyE;QACzE,6EAA6E;QAC7E,+BAA+B;QAC/B,yJAAyJ;QACzJ,EAAE;QACF,kFAAkF;QAClF,+GAA+G;QAE/G,OAAO,WAAW,CAAC,eAAe,CAAC;QAEnC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,eAAe,GAA2B,EAAE,CAAC;YAEnD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAS,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9E,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5B,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBAClD,CAAC;oBACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;gBAEH,IAAI,kBAAkB,EAAE,CAAC;oBACvB,eAAe,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,WAAW,CAAC,YAAY,GAAG,eAAe,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,OAAO,WAAW,CAAC,YAAY,CAAC;YAClC,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,4DAA4D;QAC5D,uDAAuD;QACvD,EAAE;QACF,8BAA8B;QAC9B,+DAA+D;QAC/D,IAAI;QACJ,EAAE;QACF,4BAA4B;QAC5B,4DAA4D;QAC5D,IAAI;QACJ,EAAE;QACF,kDAAkD;QAClD,qDAAqD;QACrD,IAAI;QAEJ,oEAAoE;QACpE,IAAI,cAAc,KAAK,IAAI,IAAI,SAAS,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAI,WAAW,CAAC,IAAe,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzE,MAAM,YAAY,GAAI,WAAW,CAAC,IAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,WAAW,CAAC,IAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;YAE/C,MAAM,YAAY,GAA2B,EAAE,CAAC;YAChD,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBACzC,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,UAAU,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC7H,YAAY,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;YAC1C,CAAC;YAED,WAAW,CAAC,oBAAoB,GAAG,YAAY,CAAC;YAChD,WAAW,CAAC,OAAO,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACvF,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB;IAC9C,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACpH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC5C,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAwB,EAAE;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,SAAS,EAAE,CAAC;IAEZ,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE9B,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IAElF,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChG,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,IAAI,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAE9E,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,IAAI,SAAiC,CAAC;IAEtC,IAAI,CAAC;QACH,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,6BAA6B;YAC7B,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YAExB,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAEzC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACzD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACnD,MAAM,UAAU,GAAI,WAAW,CAAC,IAAe,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzE,MAAM,YAAY,GAAI,WAAW,CAAC,IAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,WAAW,CAAC,IAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEzH,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;YAC7B,IAAI,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAExD,oEAAoE;YACpE,uEAAuE;YACvE,sEAAsE;YACtE,2CAA2C;YAC3C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC5F,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;gBAClF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,MAAM,wCAAwC,SAAS,GAAG,CAAC,CAAC;gBAClG,CAAC;gBACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM,cAAc,GAAG,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC;YAClD,MAAM,iBAAiB,GAAG,MAAM,EAAE,UAAU,IAAI,GAAG,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YAEnC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC;YAEhD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;gBAChC,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,UAAU;gBACV,sEAAsE;gBACtE,oEAAoE;gBACpE,kEAAkE;gBAClE,2DAA2D;gBAC3D,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;gBACvG,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,kEAAkE;gBAClE,kEAAkE;gBAClE,mEAAmE;gBACnE,yBAAyB;gBACzB,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,IAAI,iBAAiB,CAAC;gBAChE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC;gBACvD,MAAM,SAAS,GAA2B;oBACxC,GAAG,QAAQ;oBACX,WAAW,EAAE,gBAAgB;oBAC7B,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,MAAM;iBACf,CAAC;gBACF,IAAI,MAAM,CAAC,EAAE;oBAAE,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,gBAAgB,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,cAAc,UAAU,IAAI,IAAI,IAAI,MAAM,GAAG,GAAG,GAAG,QAAQ,KAAK,CAAC,CAAC;gBAC3E,IAAI,CAAC;oBACH,oEAAoE;oBACpE,sEAAsE;oBACtE,gEAAgE;oBAChE,qEAAqE;oBACrE,YAAY;oBACZ,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACnF,GAAG,EAAE,OAAO;wBACZ,KAAK,EAAE,MAAM;wBACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;qBACtC,CAAC,CAAC;oBACH,GAAG,CAAC,OAAO,CAAC,WAAW,UAAU,IAAI,IAAI,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,qBAAqB,UAAU,IAAI,IAAI,IAAI,MAAM,GAAG,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChG,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,wEAAwE;YACxE,uEAAuE;YACvE,iCAAiC;YACjC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,qBAAqB,CAAC;oBAC1B,OAAO;oBACP,MAAM;oBACN,SAAS;oBACT,UAAU;oBACV,YAAY;oBACZ,WAAW;oBACX,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAElC,mEAAmE;YACnE,kEAAkE;YAClE,sEAAsE;YACtE,oEAAoE;YACpE,iEAAiE;YACjE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtC,SAAS,CAAC,iBAAiB,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,qCAAqC;YACrC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,kFAAkF;YAClF,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAE/B,uDAAuD;YACvD,MAAM,SAAS,GAAa,CAAC,gBAAgB,CAAC,CAAC;YAE/C,6EAA6E;YAC7E,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC;oBACD,4DAA4D;gBAC9D,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,CAAC;gBAClB,WAAW,EAAE,CAAC,UAAU,CAAC;gBACzB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,UAAU;gBACnB,SAAS,EAAE,UAAU,CAAC,IAAI,KAAK,aAAa;gBAC5C,MAAM,EAAE,UAAU,CAAC,IAAI,KAAK,aAAa;gBACzC,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,aAAa;gBAC9C,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,SAAS;gBACnB,gEAAgE;gBAChE,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,KAAK,CAAC,KAAK;4BACT,mCAAmC;4BACnC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gCAChD,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,QAAQ,EAAE,IAAI;6BACf,CAAC,CAAC,CAAC;4BAEJ,iDAAiD;4BACjD,uEAAuE;4BACvE,MAAM,qBAAqB,GAAG,CAAC,qBAAqB,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;4BAE3H,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gCACzC,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;oCAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wCAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oCAC7C,CAAC;gCACH,CAAC;gCACD,OAAO,IAAI,CAAC;4BACd,CAAC,CAAC,CAAC;wBACL,CAAC;qBACF;iBACF;aACF,CAAC,CAAC;YACH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;QAED,sEAAsE;QACtE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,iEAAiE,CAAC,CAAC;QAC5H,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC;QAExD,uEAAuE;QACvE,+FAA+F;QAC/F,MAAM,OAAO,CAAC,KAAK,CAAC;YAClB,WAAW,EAAE,CAAC,aAAa,CAAC;YAC5B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;YAC3C,SAAS,EAAE,aAAa;YACxB,MAAM,EAAE,KAAK,EAAE,uCAAuC;YACtD,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEhC,oBAAoB;QACpB,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC;QAEnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QAED,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QACtC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAElC,MAAM,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE5C,IAAI,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YACvC,MAAM,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,kBAAkB,CAAC;YACvB,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,QAAQ;YACR,cAAc;YACd,SAAS;YACT,KAAK,EAAE,UAAU,CAAC,IAAI,KAAK,aAAa;SACzC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACtC,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEtC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/commands/bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/publish.js
CHANGED
|
@@ -92,29 +92,40 @@ export async function publishProject(options) {
|
|
|
92
92
|
const pJson = JSON.parse(readFileSync(pJsonPath, 'utf-8'));
|
|
93
93
|
const { name, version } = pJson;
|
|
94
94
|
const tag = options.alpha ? 'alpha' : options.beta ? 'beta' : options.latest ? 'latest' : 'latest';
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
95
|
+
// Non-interactive mode (CI): publish exactly the version baked into
|
|
96
|
+
// bundle/package.json — no prompts. The version is the single source of
|
|
97
|
+
// truth (set by the release tag), so there's nothing to confirm.
|
|
98
|
+
const targetVersion = options.yes
|
|
99
|
+
? version
|
|
100
|
+
: handleCancel(await text({
|
|
101
|
+
message: 'Version:',
|
|
102
|
+
placeholder: version,
|
|
103
|
+
defaultValue: version,
|
|
104
|
+
validate: (value) => {
|
|
105
|
+
if (!semver.valid(value)) {
|
|
106
|
+
return 'Invalid version format. Please use semver (e.g. 1.0.0)';
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
},
|
|
110
|
+
}));
|
|
111
|
+
if (!semver.valid(targetVersion)) {
|
|
112
|
+
log.error(`Invalid version in bundle/package.json: ${targetVersion}`);
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
106
115
|
// Validate version doesn't already exist
|
|
107
116
|
const versionValid = await validateVersion(name, targetVersion);
|
|
108
117
|
if (!versionValid) {
|
|
109
118
|
process.exit(1);
|
|
110
119
|
}
|
|
111
|
-
const action =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
{
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
120
|
+
const action = options.yes
|
|
121
|
+
? 'publish'
|
|
122
|
+
: handleCancel(await select({
|
|
123
|
+
message: `Publishing ${name}@${targetVersion} (${tag}). Pick an action:`,
|
|
124
|
+
options: [
|
|
125
|
+
{ value: 'publish', label: 'Publish' },
|
|
126
|
+
{ value: 'cancel', label: 'Cancel' },
|
|
127
|
+
],
|
|
128
|
+
}));
|
|
118
129
|
if (action === 'cancel') {
|
|
119
130
|
showCancel('Operation cancelled');
|
|
120
131
|
process.exit(0);
|
|
@@ -123,6 +134,10 @@ export async function publishProject(options) {
|
|
|
123
134
|
try {
|
|
124
135
|
log.info('Updating package version...');
|
|
125
136
|
pJson.version = targetVersion;
|
|
137
|
+
// `--access public` is required for the first publish of a scoped
|
|
138
|
+
// package and harmless afterwards, so it's always passed. `--provenance`
|
|
139
|
+
// additionally emits an OIDC-signed provenance attestation (CI only).
|
|
140
|
+
const extraArgs = ['--access', 'public', ...(options.provenance ? ['--provenance'] : [])];
|
|
126
141
|
// Publish platform packages first
|
|
127
142
|
const platformsDir = resolve(process.cwd(), 'bundle', 'platforms');
|
|
128
143
|
if (existsSync(platformsDir)) {
|
|
@@ -141,7 +156,7 @@ export async function publishProject(options) {
|
|
|
141
156
|
await writeFile(platformPkgPath, JSON.stringify(platformPkg, null, 2));
|
|
142
157
|
log.info(` Publishing ${platformPkg.name}@${targetVersion}...`);
|
|
143
158
|
process.env.SAFE_PUBLISH = 'true';
|
|
144
|
-
await spawnPromise('npm', ['publish', '--tag', tag], platformDir);
|
|
159
|
+
await spawnPromise('npm', ['publish', '--tag', tag, ...extraArgs], platformDir);
|
|
145
160
|
log.success(` Published ${platformPkg.name}@${targetVersion}`);
|
|
146
161
|
}
|
|
147
162
|
// Update optionalDependencies versions in main package
|
|
@@ -155,7 +170,7 @@ export async function publishProject(options) {
|
|
|
155
170
|
await writeFile(pJsonPath, JSON.stringify(pJson, null, 2));
|
|
156
171
|
log.info('Publishing to npm...');
|
|
157
172
|
process.env.SAFE_PUBLISH = 'true';
|
|
158
|
-
const args = ['publish', '--tag', tag];
|
|
173
|
+
const args = ['publish', '--tag', tag, ...extraArgs];
|
|
159
174
|
await spawnPromise('npm', args, resolve(process.cwd(), 'bundle'));
|
|
160
175
|
showOutro(`Successfully published ${name}@${targetVersion}`);
|
|
161
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -33,6 +33,8 @@ program
|
|
|
33
33
|
.option('-a, --alpha', 'Publish an alpha version')
|
|
34
34
|
.option('-b, --beta', 'Publish a beta version')
|
|
35
35
|
.option('-l, --latest', 'Publish a latest version')
|
|
36
|
+
.option('-y, --yes', 'Non-interactive: publish the version in bundle/package.json without prompts (CI)')
|
|
37
|
+
.option('--provenance', 'Publish with npm provenance (--provenance --access public); requires OIDC in CI')
|
|
36
38
|
.action(async (options) => {
|
|
37
39
|
await publishProject(options);
|
|
38
40
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,MAAM,kBAAkB,CAAC;AAErC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAE3C,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,4BAA4B,EAAE,sFAAsF,CAAC;KAC5H,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC7C,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,8GAA8G,CAAC;KAC3H,MAAM,CAAC,kBAAkB,EAAE,kEAAkE,CAAC;KAC9F,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;IAC1C,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAC9C,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,MAAM,kBAAkB,CAAC;AAErC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAE3C,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,4BAA4B,EAAE,sFAAsF,CAAC;KAC5H,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC7C,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,8GAA8G,CAAC;KAC3H,MAAM,CAAC,kBAAkB,EAAE,kEAAkE,CAAC;KAC9F,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;IAC1C,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAC9C,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,WAAW,EAAE,kFAAkF,CAAC;KACvG,MAAM,CAAC,cAAc,EAAE,iFAAiF,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export type PluginLanguage = 'python' | 'typescript' | 'go';
|
|
|
3
3
|
export interface GoTarget {
|
|
4
4
|
goos: 'linux' | 'darwin' | 'windows';
|
|
5
5
|
goarch: 'amd64' | 'arm64';
|
|
6
|
+
libc?: 'glibc' | 'musl';
|
|
6
7
|
cgoEnabled?: '0' | '1';
|
|
7
8
|
cc?: string;
|
|
8
9
|
ldflags?: string;
|
|
@@ -39,4 +40,6 @@ export interface PublishOptions {
|
|
|
39
40
|
alpha?: boolean;
|
|
40
41
|
beta?: boolean;
|
|
41
42
|
latest?: boolean;
|
|
43
|
+
yes?: boolean;
|
|
44
|
+
provenance?: boolean;
|
|
42
45
|
}
|
package/package.json
CHANGED
|
@@ -1,25 +1,75 @@
|
|
|
1
1
|
// postinstall.js — generated by @camera.ui/cli
|
|
2
2
|
const { platform, arch } = require('os');
|
|
3
|
-
const { existsSync, copyFileSync, mkdirSync, chmodSync } = require('fs');
|
|
3
|
+
const { existsSync, copyFileSync, mkdirSync, chmodSync, readFileSync } = require('fs');
|
|
4
4
|
const { join, dirname } = require('path');
|
|
5
5
|
|
|
6
6
|
const os = platform();
|
|
7
7
|
const a = arch();
|
|
8
|
+
// Map Node's arch/platform names back to Go's so the right platform package
|
|
9
|
+
// resolves. Most match; the one exception is x64->amd64.
|
|
8
10
|
const goArch = a === 'x64' ? 'amd64' : a;
|
|
9
|
-
const goos = os === 'win32' ? 'windows' : os;
|
|
11
|
+
const goos = os === 'win32' ? 'windows' : os; // 'linux'/'darwin' match as-is
|
|
10
12
|
const ext = os === 'win32' ? '.exe' : '';
|
|
11
13
|
|
|
14
|
+
// On Linux, glibc and musl builds ship as separate platform packages (the musl
|
|
15
|
+
// one carries a `-musl` suffix). Detect musl so the matching binary is chosen —
|
|
16
|
+
// a glibc binary can't exec on Alpine/musl and vice versa.
|
|
17
|
+
function isMusl() {
|
|
18
|
+
if (os !== 'linux') return false;
|
|
19
|
+
// 1) The process report lists the runtime's shared objects + glibc version.
|
|
20
|
+
try {
|
|
21
|
+
if (process.report && typeof process.report.getReport === 'function') {
|
|
22
|
+
process.report.excludeNetwork = true;
|
|
23
|
+
const rep = process.report.getReport();
|
|
24
|
+
if (rep && rep.header && rep.header.glibcVersionRuntime) return false;
|
|
25
|
+
if (rep && Array.isArray(rep.sharedObjects) && rep.sharedObjects.some((f) => f.includes('libc.musl-') || f.includes('ld-musl-'))) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
} catch {
|
|
30
|
+
// fall through to the ldd-based checks
|
|
31
|
+
}
|
|
32
|
+
// 2) The dynamic loader on musl systems references musl.
|
|
33
|
+
try {
|
|
34
|
+
if (readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')) return true;
|
|
35
|
+
} catch {
|
|
36
|
+
// /usr/bin/ldd may not exist — try invoking ldd directly
|
|
37
|
+
}
|
|
38
|
+
// 3) Last resort: ask ldd for its version banner.
|
|
39
|
+
try {
|
|
40
|
+
if (require('child_process').execSync('ldd --version 2>&1', { encoding: 'utf-8' }).includes('musl')) return true;
|
|
41
|
+
} catch {
|
|
42
|
+
// give up — assume glibc
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const key = goos + '-' + goArch + (isMusl() ? '-musl' : '');
|
|
48
|
+
|
|
12
49
|
const pkg = require('./package.json');
|
|
13
50
|
const pluginName = pkg.name.replace(/^@[^/]+\//, '');
|
|
14
51
|
const scope = pkg.name.includes('/') ? pkg.name.split('/')[0] : undefined;
|
|
15
|
-
const platformPkgName = scope ? scope + '/' + pluginName + '-' +
|
|
52
|
+
const platformPkgName = scope ? scope + '/' + pluginName + '-' + key : pluginName + '-' + key;
|
|
16
53
|
|
|
17
54
|
let binarySource;
|
|
18
55
|
try {
|
|
19
56
|
const pkgDir = dirname(require.resolve(platformPkgName + '/package.json'));
|
|
20
57
|
binarySource = join(pkgDir, pluginName + ext);
|
|
21
58
|
} catch {
|
|
22
|
-
|
|
59
|
+
// The matching platform package isn't installed. Either this platform isn't
|
|
60
|
+
// supported, or npm skipped the optional dependency (a known npm bug:
|
|
61
|
+
// https://github.com/npm/cli/issues/4828). Warn but don't fail the install.
|
|
62
|
+
console.warn(
|
|
63
|
+
'[' +
|
|
64
|
+
pluginName +
|
|
65
|
+
'] no native binary for ' +
|
|
66
|
+
key +
|
|
67
|
+
' (expected package ' +
|
|
68
|
+
platformPkgName +
|
|
69
|
+
').\n' +
|
|
70
|
+
' If your platform should be supported, remove node_modules + package-lock.json and reinstall.',
|
|
71
|
+
);
|
|
72
|
+
process.exit(0);
|
|
23
73
|
}
|
|
24
74
|
|
|
25
75
|
if (!existsSync(binarySource)) process.exit(0);
|