@devalade/shipnode 2.0.12 → 2.0.14
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.
|
@@ -10,6 +10,7 @@ export declare class BackendStrategy implements DeploymentStrategy {
|
|
|
10
10
|
startApp(ctx: StrategyContext): Promise<void>;
|
|
11
11
|
private generateEcosystemFile;
|
|
12
12
|
private getLinkSharedResourcesCommand;
|
|
13
|
+
private assertNoBuildScriptsIgnored;
|
|
13
14
|
private resolvePkgManager;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=backend-strategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-strategy.d.ts","sourceRoot":"","sources":["../../../src/domain/deploy/backend-strategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"backend-strategy.d.ts","sourceRoot":"","sources":["../../../src/domain/deploy/backend-strategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEzE,qBAAa,eAAgB,YAAW,kBAAkB;IAItD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,GAAG;IAJb,QAAQ,CAAC,IAAI,aAAa;gBAGhB,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM;IAGf,KAAK,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1C,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCrD,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BnD,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,6BAA6B;IAmBrC,OAAO,CAAC,2BAA2B;YAcrB,iBAAiB;CAKhC"}
|
|
@@ -3,6 +3,7 @@ import { pathExists } from 'fs-extra';
|
|
|
3
3
|
import { resolve } from 'path';
|
|
4
4
|
import { getInstallCommand, getRunCommand, detectPkgManager } from '../framework/detector.js';
|
|
5
5
|
import { RSYNC_DEFAULT_EXCLUDES } from '../../shared/constants.js';
|
|
6
|
+
import { DeployError } from '../../shared/errors.js';
|
|
6
7
|
export class BackendStrategy {
|
|
7
8
|
config;
|
|
8
9
|
cwd;
|
|
@@ -57,7 +58,8 @@ export class BackendStrategy {
|
|
|
57
58
|
commands.push(`if [ -f package.json ] && jq -e '.scripts.build' package.json >/dev/null 2>&1; then ${runCmd} build; fi`);
|
|
58
59
|
}
|
|
59
60
|
commands.push(`if [ -d build ] && [ -f .env ]; then ln -sf "${ctx.workDir}/.env" build/.env; fi`);
|
|
60
|
-
await ctx.executor.exec(commands.join(' && '));
|
|
61
|
+
const installResult = await ctx.executor.exec(commands.join(' && '));
|
|
62
|
+
this.assertNoBuildScriptsIgnored(pkgManager, installResult);
|
|
61
63
|
}
|
|
62
64
|
async startApp(ctx) {
|
|
63
65
|
if (!this.config.pm2)
|
|
@@ -73,7 +75,8 @@ export class BackendStrategy {
|
|
|
73
75
|
// resolution state matches the path PM2 will use. Packages are already
|
|
74
76
|
// in the local store so this is a fast offline relink, not a download.
|
|
75
77
|
const installCmd = getInstallCommand(pkgManager);
|
|
76
|
-
await ctx.executor.exec(`cd "${cdPath}" && ${mise} && ${installCmd} --prefer-offline`);
|
|
78
|
+
const installResult = await ctx.executor.exec(`cd "${cdPath}" && ${mise} && ${installCmd} --prefer-offline`);
|
|
79
|
+
this.assertNoBuildScriptsIgnored(pkgManager, installResult);
|
|
77
80
|
await ctx.executor.exec(`cd "${cdPath}" && ${mise} && ` +
|
|
78
81
|
`mise exec -- pm2 startOrReload "${ecosystemPath}" --update-env && ` +
|
|
79
82
|
`mise exec -- pm2 save`);
|
|
@@ -115,6 +118,18 @@ export class BackendStrategy {
|
|
|
115
118
|
}
|
|
116
119
|
return commands.join(' && ');
|
|
117
120
|
}
|
|
121
|
+
assertNoBuildScriptsIgnored(pkgManager, result) {
|
|
122
|
+
if (pkgManager !== 'pnpm')
|
|
123
|
+
return;
|
|
124
|
+
const output = result.stdout + result.stderr;
|
|
125
|
+
if (!output.includes('ERR_PNPM_IGNORED_BUILDS'))
|
|
126
|
+
return;
|
|
127
|
+
const match = output.match(/Ignored build scripts: ([^\n]+)/);
|
|
128
|
+
const packages = match ? match[1].trim() : 'native modules';
|
|
129
|
+
throw new DeployError(`pnpm skipped build scripts for: ${packages}\n` +
|
|
130
|
+
`These packages need postinstall to compile native addons or generate clients (Prisma, bcrypt, etc.).\n` +
|
|
131
|
+
`Fix: run "pnpm approve-builds" in your project, commit the result, then redeploy.`, 'install');
|
|
132
|
+
}
|
|
118
133
|
async resolvePkgManager() {
|
|
119
134
|
if (this.config.pkgManager)
|
|
120
135
|
return this.config.pkgManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-strategy.js","sourceRoot":"","sources":["../../../src/domain/deploy/backend-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"backend-strategy.js","sourceRoot":"","sources":["../../../src/domain/deploy/backend-strategy.ts"],"names":[],"mappings":"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"}
|