@nocobase/app-installer 0.1.0-beta.3 → 0.1.0-beta.4

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.
@@ -1,10 +1,8 @@
1
1
  import { readdir } from 'node:fs/promises';
2
2
  import { createServer } from 'node:net';
3
- import { EXIT_INVALID, InstallerError, } from "./errors.js";
4
- import { runCommand } from "./run-command.js";
3
+ import { EXIT_INVALID, InstallerError } from "./errors.js";
5
4
  import { compareVersions } from "./version.js";
6
5
  export const MINIMUM_NODE_MAJOR = 24;
7
- export const MINIMUM_PNPM_MAJOR = 11;
8
6
  /**
9
7
  * pm2 recognises `ecosystem.config.cjs` as a configuration from 4.3 on; an older one runs the file as the application
10
8
  * instead, which exits at once and looks like an application that cannot start.
@@ -25,41 +23,6 @@ export function checkPlatform(platform = process.platform) {
25
23
  });
26
24
  }
27
25
  }
28
- export async function checkPnpm(run = runCommand) {
29
- let version;
30
- try {
31
- version = (await run('pnpm', ['--version'])).stdout.trim();
32
- }
33
- catch {
34
- throw new InstallerError('PNPM_MISSING', 'pnpm was not found on PATH.', {
35
- exitCode: EXIT_INVALID,
36
- suggestions: installPnpmAdvice(),
37
- });
38
- }
39
- if (!(majorOf(version) >= MINIMUM_PNPM_MAJOR)) {
40
- throw new InstallerError('PNPM_UNSUPPORTED', `pnpm ${MINIMUM_PNPM_MAJOR} or later is required; found ${version}.`, {
41
- exitCode: EXIT_INVALID,
42
- suggestions: installPnpmAdvice(),
43
- });
44
- }
45
- return version;
46
- }
47
- /** Two steps, since a suggestion runs one command: corepack is enabled, then pnpm is activated through it. */
48
- function installPnpmAdvice() {
49
- return [
50
- {
51
- message: `Enable corepack, which provides pnpm ${MINIMUM_PNPM_MAJOR}:`,
52
- run: { command: 'corepack', args: ['enable'] },
53
- },
54
- {
55
- message: `Then activate pnpm ${MINIMUM_PNPM_MAJOR}, and open a new shell:`,
56
- run: {
57
- command: 'corepack',
58
- args: ['prepare', `pnpm@${MINIMUM_PNPM_MAJOR}`, '--activate'],
59
- },
60
- },
61
- ];
62
- }
63
26
  /** The C library Node runs on, which a Linux build's native modules are compiled against. */
64
27
  export function currentLibc() {
65
28
  if (process.platform !== 'linux')
@@ -1 +1 @@
1
- {"version":3,"file":"prechecks.js","sourceRoot":"","sources":["../../src/lib/prechecks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,cAAc,GAGf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAE3C,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,cAAc,CACtB,sBAAsB,EACtB,wGAAwG,EACxG;YACE,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;SACzD,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAkB,UAAU;IAC1D,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,6BAA6B,EAAE;YACtE,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,cAAc,CACtB,kBAAkB,EAClB,QAAQ,kBAAkB,gCAAgC,OAAO,GAAG,EACpE;YACE,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB,EAAE;SACjC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8GAA8G;AAC9G,SAAS,iBAAiB;IACxB,OAAO;QACL;YACE,OAAO,EAAE,wCAAwC,kBAAkB,GAAG;YACtE,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;SAC/C;QACD;YACE,OAAO,EAAE,sBAAsB,kBAAkB,yBAAyB;YAC1E,GAAG,EAAE;gBACH,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,kBAAkB,EAAE,EAAE,YAAY,CAAC;aAC9D;SACF;KACF,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,WAAW;IACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAEtC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,MAAM;QACf,IAAI,EAAE;YACJ,OAAO;YACP,UAAU;YACV,kBAAkB,EAAE;YACpB,gBAAgB;YAChB,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO;SACR;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAQ;IACrC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,cAAc,CAAC,aAAa,EAAE,4BAA4B,EAAE;YACpE,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE;gBACX;oBACE,OAAO,EAAE,uBAAuB;oBAChC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;iBACxD;gBACD;oBACE,OAAO,EACL,+DAA+D;iBAClE;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACjE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,OAAO,mBAAmB,yDAAyD,OAAO,4BAA4B;YACxH,CAAC,CAAC,OAAO,mBAAmB,gCAAgC,OAAO,GAAG,EACxE;YACE,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE;gBACX;oBACE,OAAO,EAAE,sBAAsB;oBAC/B,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE;iBAC/D;gBACD;oBACE,OAAO,EAAE,mDAAmD;oBAC5D,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE;iBAC1C;aACF;SACF,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAQ,EAAE,IAAY;IAC3D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,oCAAoC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EACzF;YACE,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE;gBACX;oBACE,OAAO,EAAE,2EAA2E,IAAI,KAAK;iBAC9F;aACF;SACF,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,IAAY,EACZ,IAAY;IAEZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qHAAqH;AACrH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,KAAa,EACb,WAAmB,EAAE;IAErB,KACE,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,EACpB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,EACzC,IAAI,IAAI,CAAC,EACT,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAAY,EACZ,UAAqC,EAAE;IAEvC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,IAAI,GACR,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAChD,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,IAAI,cAAc,CACtB,aAAa,EACb,KAAK,CAAC,IAAI,KAAK,YAAY;QACzB,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,qBAAqB;QACtC,CAAC,CAAC,oBAAoB,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EACxD;QACE,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,WAAW,EAAE;YACX,OAAO,CAAC,WAAW;gBACjB,CAAC,CAAC;oBACE,OAAO,EACL,IAAI,KAAK,SAAS;wBAChB,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,QAAQ,IAAI,yBAAyB,IAAI,sCAAsC;iBACtF;gBACH,CAAC,CAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE;SAClE;KACF,CACF,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAC/B,SAA4B,EAC5B,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CACtB,aAAa,EACb,wBAAwB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,aAAa,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAC5H,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,GAAG,IAAI,aAAa,EAAE;gBACjE,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;aACrE,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,GAAG,IAAI,gBAAgB,EAAE;YACpE,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE;gBACX,EAAE,OAAO,EAAE,wCAAwC,EAAE;gBACrD;oBACE,OAAO,EACL,wGAAwG;iBAC3G;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"prechecks.js","sourceRoot":"","sources":["../../src/lib/prechecks.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { EXIT_INVALID, InstallerError } from "./errors.js";
2
1
  /** The public npm registry is the default; `--registry` and `NOCOBASE_REGISTRY` may select a private registry. */
3
2
  export const FALLBACK_REGISTRY = 'https://registry.npmjs.org';
4
3
  export function defaultRegistry(env = process.env) {
@@ -7,53 +6,4 @@ export function defaultRegistry(env = process.env) {
7
6
  export function normalizeRegistry(registry) {
8
7
  return registry.replace(/\/+$/u, '');
9
8
  }
10
- /**
11
- * Resolves a dist-tag such as `latest`, or checks an exact version, against the registry. Every later step uses the
12
- * exact version, so `latest` moving halfway through an install cannot mix two releases.
13
- */
14
- export async function resolveTemplateVersion(registry, packageName, requested, fetchImpl = fetch) {
15
- const url = `${normalizeRegistry(registry)}/${packageName.replace('/', '%2f')}`;
16
- let packument;
17
- try {
18
- const response = await fetchImpl(url, {
19
- headers: { accept: 'application/vnd.npm.install-v1+json' },
20
- signal: AbortSignal.timeout(30_000),
21
- });
22
- if (!response.ok) {
23
- throw new Error(`HTTP ${response.status}`);
24
- }
25
- packument = (await response.json());
26
- }
27
- catch (error) {
28
- throw new InstallerError('REGISTRY_UNREACHABLE', `Could not read ${packageName} from ${normalizeRegistry(registry)}: ${error instanceof Error ? error.message : String(error)}.`, {
29
- exitCode: EXIT_INVALID,
30
- cause: error,
31
- suggestions: [
32
- {
33
- message: 'Check the network, or name another registry with --registry.',
34
- },
35
- ],
36
- });
37
- }
38
- // `hasOwn`, not a plain lookup: `constructor` and friends are on every parsed object's prototype.
39
- const tags = packument['dist-tags'] ?? {};
40
- if (Object.hasOwn(tags, requested))
41
- return tags[requested];
42
- if (packument.versions && Object.hasOwn(packument.versions, requested)) {
43
- return requested;
44
- }
45
- const recent = Object.keys(packument.versions ?? {}).slice(-5);
46
- throw new InstallerError('VERSION_NOT_FOUND', `${packageName} has no version or tag "${requested}".`, {
47
- exitCode: EXIT_INVALID,
48
- details: {
49
- distTags: packument['dist-tags'] ?? {},
50
- recentVersions: recent,
51
- },
52
- suggestions: [
53
- {
54
- message: `Use a tag (${Object.keys(packument['dist-tags'] ?? {}).join(', ') || 'none'}) or one of the recent versions: ${recent.join(', ') || 'none'}.`,
55
- },
56
- ],
57
- });
58
- }
59
9
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,kHAAkH;AAClH,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAE9D,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,OAAO,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAgBD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,WAAmB,EACnB,SAAiB,EACjB,YAAuB,KAAK;IAE5B,MAAM,GAAG,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;IAChF,IAAI,SAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACpC,OAAO,EAAE,EAAE,MAAM,EAAE,qCAAqC,EAAE;YAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CACtB,sBAAsB,EACtB,kBAAkB,WAAW,SAAS,iBAAiB,CAAC,QAAQ,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAC/H;YACE,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE;gBACX;oBACE,OAAO,EACL,8DAA8D;iBACjE;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED,kGAAkG;IAClG,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,cAAc,CACtB,mBAAmB,EACnB,GAAG,WAAW,2BAA2B,SAAS,IAAI,EACtD;QACE,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE;YACP,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;YACtC,cAAc,EAAE,MAAM;SACvB;QACD,WAAW,EAAE;YACX;gBACE,OAAO,EAAE,cAAc,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,oCAAoC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG;aACxJ;SACF;KACF,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAE9D,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,OAAO,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC"}
@@ -1,12 +1,11 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { mkdir, readFile, rename, rm, rmdir, writeFile, } from 'node:fs/promises';
2
+ import { mkdir, readFile, rename, rm } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import { extract } from 'tar';
5
5
  import { EXIT_INVALID, InstallerError, isInstallerError } from "./errors.js";
6
- import { RELEASE_APP_DIR, buildRoot, releaseDir, releaseId, stagingDir, } from "./layout.js";
6
+ import { RELEASE_APP_DIR, releaseDir, releaseId, stagingDir, } from "./layout.js";
7
7
  import { currentNodeMajor, rebuildCommandLine } from "./prechecks.js";
8
- import { normalizeRegistry } from "./registry.js";
9
- import { CommandFailedError, runCommand, tail, } from "./run-command.js";
8
+ import { CommandFailedError, tail } from "./run-command.js";
10
9
  /** Every official database dialect; each has its driver in `@nocobase/db-<dialect>`. */
11
10
  export const DIALECTS = [
12
11
  'sqlite',
@@ -18,60 +17,6 @@ export const DIALECTS = [
18
17
  'kingbase',
19
18
  'oceanbase',
20
19
  ];
21
- /** SQLite ships with every template; any other dialect's driver has to be added before the build. */
22
- export function driversFor(dialect) {
23
- return dialect === 'sqlite' ? [] : [`@nocobase/db-${dialect}`];
24
- }
25
- /**
26
- * The environment every install step runs with. pnpm 11 holds back versions younger than a day by default, which would
27
- * make a template released today uninstallable until tomorrow; the NocoBase documentation clears it the same way.
28
- */
29
- export function installEnv(base = process.env) {
30
- return { ...base, PNPM_CONFIG_MINIMUM_RELEASE_AGE: '0' };
31
- }
32
- /**
33
- * `pnpm create` prints pnpm's own notices around create-app's result; the result is the last line that parses. It is
34
- * the application CLI's envelope, with the stage under `error.details`. `pnpm create` runs whichever create-app the
35
- * registry serves as latest, so the flat `status`, `stage` and `message` a create-app before that envelope printed are
36
- * read too.
37
- */
38
- export function parseCreateResult(stdout) {
39
- for (const line of stdout.trim().split('\n').reverse()) {
40
- if (!line.startsWith('{'))
41
- continue;
42
- let parsed;
43
- try {
44
- parsed = JSON.parse(line);
45
- }
46
- catch {
47
- continue;
48
- }
49
- const stage = parsed.error?.details?.stage;
50
- return {
51
- ok: parsed.ok ?? parsed.status === 'success',
52
- stage: typeof stage === 'string' ? stage : parsed.stage,
53
- message: parsed.error?.message ?? parsed.message,
54
- };
55
- }
56
- return { ok: false };
57
- }
58
- /**
59
- * The range the installed runtime accepts for a driver, read from `@nocobase/app-server`'s peer dependencies the same
60
- * way `nocobase config init` suggests it. A bare `pnpm add` would take the newest driver, which during a prerelease can
61
- * be one the runtime was never built against.
62
- */
63
- export async function driverSpecifier(projectDir, driver) {
64
- try {
65
- const manifest = JSON.parse(await readFile(path.join(projectDir, 'node_modules/@nocobase/app-server/package.json'), 'utf8'));
66
- const range = manifest.peerDependencies?.[driver]?.trim();
67
- return range && !range.startsWith('workspace:')
68
- ? `${driver}@${range}`
69
- : driver;
70
- }
71
- catch {
72
- return driver;
73
- }
74
- }
75
20
  export function verifyBuildTarget(target, expected = {
76
21
  platform: process.platform,
77
22
  arch: process.arch,
@@ -106,7 +51,6 @@ function stepFailure(code, step, error) {
106
51
  export async function unpackRelease(options) {
107
52
  const staging = stagingDir(options.layout);
108
53
  const stagedApp = path.join(staging, RELEASE_APP_DIR);
109
- const fromArchive = options.fallback === undefined;
110
54
  await rm(staging, { recursive: true, force: true });
111
55
  try {
112
56
  await mkdir(stagedApp, { recursive: true });
@@ -135,7 +79,7 @@ export async function unpackRelease(options) {
135
79
  buildTarget = verifyBuildTarget(manifest.nocobase?.buildTarget);
136
80
  }
137
81
  catch (error) {
138
- if (!fromArchive || !isInstallerError(error))
82
+ if (!isInstallerError(error))
139
83
  throw error;
140
84
  throw new InstallerError(error.code, error.message, {
141
85
  exitCode: EXIT_INVALID,
@@ -148,11 +92,9 @@ export async function unpackRelease(options) {
148
92
  });
149
93
  }
150
94
  const version = manifest.version ?? '0.0.0';
151
- const builtAt = manifest.nocobase?.builtAt ?? options.fallback?.builtAt;
95
+ const builtAt = manifest.nocobase?.builtAt;
152
96
  const relocatable = manifest.nocobase?.relocatable === true;
153
- const basePath = relocatable
154
- ? undefined
155
- : (manifest.nocobase?.basePath ?? options.fallback?.basePath);
97
+ const basePath = relocatable ? undefined : manifest.nocobase?.basePath;
156
98
  if (!builtAt || (!relocatable && !basePath) || !manifest.name) {
157
99
  throw new InstallerError('ARCHIVE_TOO_OLD', `${options.archive} does not record where its client can be mounted and when it was built; it comes from a \`pnpm build\` older than app-installer needs.`, {
158
100
  exitCode: EXIT_INVALID,
@@ -180,7 +122,6 @@ export async function unpackRelease(options) {
180
122
  relocatable,
181
123
  ...(basePath === undefined ? {} : { basePath }),
182
124
  buildTarget,
183
- templateKind: manifest.nocobase?.templateKind,
184
125
  reused,
185
126
  };
186
127
  }
@@ -188,102 +129,6 @@ export async function unpackRelease(options) {
188
129
  await rm(staging, { recursive: true, force: true });
189
130
  }
190
131
  }
191
- /**
192
- * Builds one release from a published template: the project is generated and built in `.build/<version>/`, and only
193
- * the deployment archive it produces is unpacked into `releases/<id>/app`. The build directory, with the sources and
194
- * development dependencies, is removed afterwards unless `keepSource` is set. Nothing here touches the running
195
- * application; on failure every directory this call created is removed again, so a retry starts clean.
196
- */
197
- export async function buildFromTemplate(options) {
198
- const { layout, template, version, reporter } = options;
199
- const run = options.run ?? runCommand;
200
- const build = buildRoot(layout, version);
201
- const projectDir = path.join(build, template.projectName);
202
- const env = installEnv();
203
- const startedAt = new Date().toISOString();
204
- try {
205
- await rm(build, { recursive: true, force: true });
206
- await mkdir(build, { recursive: true });
207
- // `pnpm create` looks up @nocobase/create-app with the configuration of the directory it runs in, not with
208
- // --registry, so the registry has to be named here too while NocoBase packages live outside the public npm.
209
- await writeFile(path.join(build, '.npmrc'), `@nocobase:registry=${normalizeRegistry(options.registry)}/\n`);
210
- reporter.progress(`Generating the ${template.title} ${version} project`);
211
- let createStdout;
212
- try {
213
- ({ stdout: createStdout } = await run('pnpm', [
214
- 'create',
215
- '@nocobase/app',
216
- template.projectName,
217
- `--template=${template.package}@${version}`,
218
- `--registry=${normalizeRegistry(options.registry)}`,
219
- '--json',
220
- ], { cwd: build, env, timeoutMs: 20 * 60_000 }));
221
- }
222
- catch (error) {
223
- if (isInstallerError(error))
224
- throw error;
225
- const result = error instanceof CommandFailedError
226
- ? parseCreateResult(error.stdout)
227
- : { ok: false };
228
- throw new InstallerError('CREATE_FAILED', `create-app failed${result.stage ? ` at its ${result.stage} stage` : ''}: ${result.message ?? (error instanceof Error ? error.message : String(error))}`, {
229
- cause: error,
230
- ...(error instanceof CommandFailedError
231
- ? { details: { output: tail(error.stderr) } }
232
- : {}),
233
- });
234
- }
235
- const created = parseCreateResult(createStdout);
236
- if (!created.ok) {
237
- throw new InstallerError('CREATE_FAILED', `create-app did not succeed: ${created.message ?? 'no result'}`);
238
- }
239
- for (const driver of options.drivers) {
240
- const specifier = await driverSpecifier(projectDir, driver);
241
- reporter.progress(`Adding ${specifier}`);
242
- try {
243
- await run('pnpm', ['add', specifier], {
244
- cwd: projectDir,
245
- env,
246
- timeoutMs: 10 * 60_000,
247
- });
248
- }
249
- catch (error) {
250
- throw stepFailure('DRIVER_INSTALL_FAILED', `pnpm add ${specifier}`, error);
251
- }
252
- }
253
- reporter.progress(`Building the ${template.title} ${version}`);
254
- try {
255
- // A template version from before relocatable builds compiles the base path into its client, so an APP_BASE_PATH
256
- // left in the caller's shell must not leak in. A current version ignores it.
257
- await run('pnpm', ['build', '--tar'], {
258
- cwd: projectDir,
259
- env: { ...env, APP_BASE_PATH: template.basePath },
260
- timeoutMs: 30 * 60_000,
261
- });
262
- }
263
- catch (error) {
264
- throw stepFailure('BUILD_FAILED', 'pnpm build', error);
265
- }
266
- const prepared = await unpackRelease({
267
- layout,
268
- archive: path.join(projectDir, 'storage/exports/dist.tar.gz'),
269
- // Published templates built before `pnpm build` recorded these have neither; the installer knows both.
270
- fallback: { builtAt: startedAt, basePath: template.basePath },
271
- });
272
- if (!options.keepSource) {
273
- await rm(build, { recursive: true, force: true });
274
- // Only removes `.build/` once it is empty; another version's kept build stays.
275
- await rmdir(layout.buildDir).catch(() => undefined);
276
- }
277
- return prepared;
278
- }
279
- catch (error) {
280
- if (!options.keepSource) {
281
- await rm(build, { recursive: true, force: true });
282
- await rmdir(layout.buildDir).catch(() => undefined);
283
- }
284
- throw error;
285
- }
286
- }
287
132
  /**
288
133
  * A deployment archive carries its database drivers in `dist/node_modules`, installed when it was built; nothing adds
289
134
  * one afterwards. A dialect whose driver is absent would fail only when the application first connects.
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/lib/release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/lib/release.ts"],"names":[],"mappings":"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"}
@@ -2,54 +2,8 @@ import { statSync } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { EXIT_INVALID, InstallerError } from "./errors.js";
4
4
  import { quoteForShell } from '@nocobase/cli-envelope';
5
- import { installerCommand, installerCommandLine } from "./invocation.js";
6
- import { TEMPLATES } from "./layout.js";
7
- import { currentNodeMajor, rebuildCommandLine } from "./prechecks.js";
8
- /** The template an installation is built from, or `undefined` for one installed from deployment archives. */
9
- export function templateOf(state) {
10
- const { source } = state;
11
- return source.kind === 'template'
12
- ? TEMPLATES.find((template) => template.name === source.template)
13
- : undefined;
14
- }
15
- /** Whether the installed application is a Hub, by what its release manifest says rather than by how it was installed. */
16
- export function isHub(state) {
17
- return state.templateKind === 'hub';
18
- }
19
- /** How messages name what is installed: `the Hub`, or `the application`. */
20
- export function subjectOf(state) {
21
- return isHub(state) ? 'the Hub' : 'the application';
22
- }
23
- /**
24
- * Whether stopping this installation stops other applications too. A Hub hosts applications of its own, which stop
25
- * with it and have to be rebuilt when its Node major changes; a Hub project deployed from an archive hosts them just
26
- * as one built from the template does.
27
- */
28
- export function hostsApplications(state) {
29
- return isHub(state);
30
- }
31
- /** The first letter upper-cased, for a subject at the start of a sentence. */
32
- export function capitalize(text) {
33
- return text.charAt(0).toUpperCase() + text.slice(1);
34
- }
35
- /** `--template hub` or `--template hub@1.2.0`: the template, and the version or dist-tag to build, `latest` by default. */
36
- export function parseTemplateSpec(spec) {
37
- const at = spec.indexOf('@');
38
- const name = at < 0 ? spec : spec.slice(0, at);
39
- const version = at < 0 ? 'latest' : spec.slice(at + 1);
40
- const template = TEMPLATES.find((entry) => entry.name === name);
41
- if (!template || version === '') {
42
- throw new InstallerError('INVALID_USAGE', `--template takes ${TEMPLATES.map((entry) => entry.name).join(', ')}, optionally with @<version>; got "${spec}".`, {
43
- exitCode: EXIT_INVALID,
44
- suggestions: [
45
- {
46
- message: 'To install an application of your own, build it with `pnpm build --tar` and pass the archive with --archive.',
47
- },
48
- ],
49
- });
50
- }
51
- return { template, version };
52
- }
5
+ import { installerCommand } from "./invocation.js";
6
+ import { rebuildCommandLine } from "./prechecks.js";
53
7
  /**
54
8
  * The archive `--archive` names, as an absolute path to a file that exists. Only a local path is accepted for now:
55
9
  * fetching one would need downloads, credentials and checksums of its own.
@@ -72,20 +26,10 @@ export function resolveArchivePath(cwd, value) {
72
26
  return file;
73
27
  }
74
28
  /**
75
- * How to get a release that runs on this machine's Node: a template installation builds the installed version again
76
- * here; an archive installation has its archive built again, in the application project, and upgrades to it.
29
+ * How to get a release that runs on this machine's Node: the archive is built again, in the application project, and
30
+ * the installation upgrades to it.
77
31
  */
78
32
  export function nodeRebuildAdvice(state, root) {
79
- if (templateOf(state)) {
80
- return [
81
- {
82
- message: `Build the installed version again for Node ${currentNodeMajor()}:`,
83
- run: installerCommandLine(['upgrade', '--dir', root, '--rebuild'], {
84
- registry: state.registry,
85
- }),
86
- },
87
- ];
88
- }
89
33
  return [
90
34
  {
91
35
  message: 'Build the archive again for this machine, in the application project:',
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/lib/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/lib/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAa;IAC3D,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,cAAc,CACtB,eAAe,EACf,0CAA0C,KAAK,uBAAuB,EACtE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,cAAc,CACtB,mBAAmB,EACnB,GAAG,IAAI,wGAAwG,EAC/G,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAuC,EACvC,IAAY;IAEZ,OAAO;QACL;YACE,OAAO,EACL,uEAAuE;YACzE,GAAG,EAAE,kBAAkB,EAAE;SAC1B;QACD,4FAA4F;QAC5F;YACE,OAAO,EAAE,wCAAwC,gBAAgB,CAAC,iBAAiB,aAAa,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE;SACzK;KACF,CAAC;AACJ,CAAC"}
package/dist/lib/state.js CHANGED
@@ -41,6 +41,17 @@ export async function readState(layout) {
41
41
  ],
42
42
  });
43
43
  }
44
+ // `{ kind: 'template' }` was the published Hub template built on the server, which this installer no longer offers.
45
+ if (state.source.kind !== 'archive') {
46
+ throw new InstallerError('STATE_UNSUPPORTED', `${layout.root} was installed from a published template, which this app-installer no longer builds; it manages installations from deployment archives only.`, {
47
+ exitCode: EXIT_INVALID,
48
+ suggestions: [
49
+ {
50
+ message: 'Keep managing it with the app-installer version that installed it, or install the application again from a deployment archive built by `pnpm build --tar`.',
51
+ },
52
+ ],
53
+ });
54
+ }
44
55
  return state;
45
56
  }
46
57
  /** Writes the state through a temporary file and a rename, so a crash never leaves half a document behind. */
@@ -55,7 +66,7 @@ export function findRelease(state, id) {
55
66
  /**
56
67
  * The release a `--to` names: an id exactly, or a version, meaning the newest build of it on record other than the
57
68
  * running one. A version is what a person remembers; the id is what `status` prints when two builds of one version are
58
- * on disk. Rolling back "to 1.0.0" while a rebuild of 1.0.0 runs means the earlier build, not the one already running.
69
+ * on disk. Rolling back "to 1.0.0" while a later build of 1.0.0 runs means the earlier build, not the one already running.
59
70
  */
60
71
  export function resolveReleaseRef(state, ref) {
61
72
  const exact = findRelease(state, ref);
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nocobase/app-installer",
3
- "version": "0.1.0-beta.3",
4
- "description": "Install, upgrade and roll back a NocoBase 3 application on a server, from a deployment archive or the published Hub template.",
3
+ "version": "0.1.0-beta.4",
4
+ "description": "Install, upgrade and roll back a NocoBase 3 application on a server from a deployment archive.",
5
5
  "type": "module",
6
6
  "prettier": "@nocobase/dev-config/prettier",
7
7
  "engines": {
@@ -28,7 +28,7 @@
28
28
  "publint": "^0.3.24",
29
29
  "typescript": "^6.0.3",
30
30
  "vitest": "^4.1.10",
31
- "@nocobase/dev-config": "0.1.0-beta.19"
31
+ "@nocobase/dev-config": "0.1.0-beta.21"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"