@quenty/nevermore-cli 4.51.0 → 4.52.0
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/CHANGELOG.md +12 -0
- package/dist/commands/batch-command/batch-bundle-command.d.ts +3 -0
- package/dist/commands/batch-command/batch-bundle-command.d.ts.map +1 -1
- package/dist/commands/batch-command/batch-bundle-command.js +84 -12
- package/dist/commands/batch-command/batch-bundle-command.js.map +1 -1
- package/dist/commands/batch-command/batch-deploy-command.d.ts +2 -0
- package/dist/commands/batch-command/batch-deploy-command.d.ts.map +1 -1
- package/dist/commands/batch-command/batch-deploy-command.js +115 -16
- package/dist/commands/batch-command/batch-deploy-command.js.map +1 -1
- package/dist/commands/batch-command/batch-test-command.d.ts.map +1 -1
- package/dist/commands/batch-command/batch-test-command.js +7 -3
- package/dist/commands/batch-command/batch-test-command.js.map +1 -1
- package/dist/commands/deploy-command/index.d.ts.map +1 -1
- package/dist/commands/deploy-command/index.js +7 -0
- package/dist/commands/deploy-command/index.js.map +1 -1
- package/dist/commands/test-command/test-command.d.ts +1 -0
- package/dist/commands/test-command/test-command.d.ts.map +1 -1
- package/dist/commands/test-command/test-command.js +19 -3
- package/dist/commands/test-command/test-command.js.map +1 -1
- package/dist/commands/tools-command/ci-post-deploy-results.d.ts.map +1 -1
- package/dist/commands/tools-command/ci-post-deploy-results.js +6 -2
- package/dist/commands/tools-command/ci-post-deploy-results.js.map +1 -1
- package/dist/commands/tools-command/ci-post-test-results.d.ts.map +1 -1
- package/dist/commands/tools-command/ci-post-test-results.js +6 -2
- package/dist/commands/tools-command/ci-post-test-results.js.map +1 -1
- package/dist/utils/batch/changed-packages-utils.d.ts +11 -0
- package/dist/utils/batch/changed-packages-utils.d.ts.map +1 -1
- package/dist/utils/batch/changed-packages-utils.js +14 -0
- package/dist/utils/batch/changed-packages-utils.js.map +1 -1
- package/dist/utils/build/build.d.ts +7 -0
- package/dist/utils/build/build.d.ts.map +1 -1
- package/dist/utils/build/build.js.map +1 -1
- package/dist/utils/bundle/untrusted-tar.d.ts +28 -0
- package/dist/utils/bundle/untrusted-tar.d.ts.map +1 -0
- package/dist/utils/bundle/untrusted-tar.js +116 -0
- package/dist/utils/bundle/untrusted-tar.js.map +1 -0
- package/dist/utils/deploy/deploy-github-columns.d.ts +8 -1
- package/dist/utils/deploy/deploy-github-columns.d.ts.map +1 -1
- package/dist/utils/deploy/deploy-github-columns.js.map +1 -1
- package/dist/utils/deploy/deploy-metadata.d.ts +5 -0
- package/dist/utils/deploy/deploy-metadata.d.ts.map +1 -1
- package/dist/utils/deploy/deploy-metadata.js +36 -0
- package/dist/utils/deploy/deploy-metadata.js.map +1 -1
- package/dist/utils/deploy/deploy-metadata.test.js +35 -2
- package/dist/utils/deploy/deploy-metadata.test.js.map +1 -1
- package/dist/utils/deploy/prebuilt-deploy-bundle.d.ts +38 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.d.ts.map +1 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.js +209 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.js.map +1 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.d.ts +2 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.d.ts.map +1 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.js +194 -0
- package/dist/utils/deploy/prebuilt-deploy-bundle.test.js.map +1 -0
- package/dist/utils/job-context/base-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/base-job-context.js +3 -2
- package/dist/utils/job-context/base-job-context.js.map +1 -1
- package/dist/utils/job-context/batch-script-job-context.d.ts +1 -1
- package/dist/utils/open-cloud/open-cloud-client.d.ts +1 -0
- package/dist/utils/open-cloud/open-cloud-client.d.ts.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.js +5 -0
- package/dist/utils/open-cloud/open-cloud-client.js.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.test.js +11 -0
- package/dist/utils/open-cloud/open-cloud-client.test.js.map +1 -1
- package/dist/utils/testing/runner/prebuilt-batch-bundle.d.ts +1 -1
- package/dist/utils/testing/runner/prebuilt-batch-bundle.d.ts.map +1 -1
- package/dist/utils/testing/runner/prebuilt-batch-bundle.js +13 -68
- package/dist/utils/testing/runner/prebuilt-batch-bundle.js.map +1 -1
- package/dist/utils/testing/runner/prebuilt-batch-bundle.test.js +16 -0
- package/dist/utils/testing/runner/prebuilt-batch-bundle.test.js.map +1 -1
- package/package.json +3 -3
- package/src/commands/batch-command/batch-bundle-command.ts +112 -16
- package/src/commands/batch-command/batch-deploy-command.ts +160 -16
- package/src/commands/batch-command/batch-test-command.ts +7 -3
- package/src/commands/deploy-command/index.ts +7 -0
- package/src/commands/test-command/test-command.ts +20 -3
- package/src/commands/tools-command/ci-post-deploy-results.ts +9 -2
- package/src/commands/tools-command/ci-post-test-results.ts +9 -2
- package/src/utils/batch/changed-packages-utils.ts +23 -0
- package/src/utils/build/build.ts +7 -0
- package/src/utils/bundle/untrusted-tar.ts +160 -0
- package/src/utils/deploy/deploy-github-columns.ts +8 -1
- package/src/utils/deploy/deploy-metadata.test.ts +50 -1
- package/src/utils/deploy/deploy-metadata.ts +39 -0
- package/src/utils/deploy/prebuilt-deploy-bundle.test.ts +265 -0
- package/src/utils/deploy/prebuilt-deploy-bundle.ts +297 -0
- package/src/utils/job-context/base-job-context.ts +4 -2
- package/src/utils/job-context/batch-script-job-context.ts +1 -1
- package/src/utils/open-cloud/open-cloud-client.test.ts +15 -0
- package/src/utils/open-cloud/open-cloud-client.ts +11 -0
- package/src/utils/testing/runner/prebuilt-batch-bundle.test.ts +20 -0
- package/src/utils/testing/runner/prebuilt-batch-bundle.ts +20 -83
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -20,6 +20,11 @@ export interface GitDeployInfo {
|
|
|
20
20
|
/**
|
|
21
21
|
* Collect git metadata once per deploy. Every field is best-effort — a missing
|
|
22
22
|
* git binary or a non-repo directory yields an empty object rather than an error.
|
|
23
|
+
*
|
|
24
|
+
* A `pull_request` run checks out `refs/pull/N/merge`, a synthetic commit that
|
|
25
|
+
* exists in neither repo, on a detached HEAD. There the PR's head commit and
|
|
26
|
+
* branch are read from the event payload instead, so a deployed build traces
|
|
27
|
+
* back to the commit its checks are reported on.
|
|
23
28
|
*/
|
|
24
29
|
export declare function gatherGitDeployInfo(): GitDeployInfo;
|
|
25
30
|
/** Per-place facts known at deploy time. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-metadata.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy-metadata.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,CAC1B,CAAC;AAoBF,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAkBnD;AA0BD,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,GACpC,wBAAwB,CAgC1B;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED;;;;;GAKG;AACH,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAqBlB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { execSync } from 'child_process';
|
|
2
|
+
import { readFileSync } from 'fs';
|
|
2
3
|
import * as fs from 'fs/promises';
|
|
3
4
|
import * as path from 'path';
|
|
4
5
|
import { BuildContext, resolvePackagePath, } from '@quenty/nevermore-template-helpers';
|
|
@@ -21,8 +22,21 @@ function _git(args) {
|
|
|
21
22
|
/**
|
|
22
23
|
* Collect git metadata once per deploy. Every field is best-effort — a missing
|
|
23
24
|
* git binary or a non-repo directory yields an empty object rather than an error.
|
|
25
|
+
*
|
|
26
|
+
* A `pull_request` run checks out `refs/pull/N/merge`, a synthetic commit that
|
|
27
|
+
* exists in neither repo, on a detached HEAD. There the PR's head commit and
|
|
28
|
+
* branch are read from the event payload instead, so a deployed build traces
|
|
29
|
+
* back to the commit its checks are reported on.
|
|
24
30
|
*/
|
|
25
31
|
export function gatherGitDeployInfo() {
|
|
32
|
+
const pullRequestHead = _readPullRequestHead();
|
|
33
|
+
if (pullRequestHead) {
|
|
34
|
+
return {
|
|
35
|
+
commit: pullRequestHead.sha.slice(0, 10),
|
|
36
|
+
version: pullRequestHead.sha,
|
|
37
|
+
branch: pullRequestHead.ref,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
26
40
|
const info = {};
|
|
27
41
|
const commit = _git(['rev-parse', '--short', 'HEAD']);
|
|
28
42
|
if (commit)
|
|
@@ -35,6 +49,28 @@ export function gatherGitDeployInfo() {
|
|
|
35
49
|
info.branch = branch;
|
|
36
50
|
return info;
|
|
37
51
|
}
|
|
52
|
+
function _readPullRequestHead() {
|
|
53
|
+
const eventName = process.env.GITHUB_EVENT_NAME;
|
|
54
|
+
const eventPath = process.env.GITHUB_EVENT_PATH;
|
|
55
|
+
if (!eventPath ||
|
|
56
|
+
(eventName !== 'pull_request' && eventName !== 'pull_request_target')) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
const event = JSON.parse(readFileSync(eventPath, 'utf-8'));
|
|
61
|
+
const head = event?.pull_request?.head;
|
|
62
|
+
if (typeof head?.sha !== 'string' || !/^[0-9a-f]{40}$/.test(head.sha)) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
sha: head.sha,
|
|
67
|
+
ref: typeof head.ref === 'string' ? head.ref : undefined,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
38
74
|
/**
|
|
39
75
|
* Build the attribute map injected into the built place. `Deployed` is always
|
|
40
76
|
* true here — its mere presence is what distinguishes a deployed build from a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-metadata.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAYpE,MAAM,kBAAkB,GAAG,kBAAkB,CAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,EACf,eAAe,EACf,sCAAsC,CACvC,CAAC;AAEF,SAAS,IAAI,CAAC,IAAc;IAC1B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACvC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAYD
|
|
1
|
+
{"version":3,"file":"deploy-metadata.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
1
|
+
import { afterEach, describe, it, expect, vi } from 'vitest';
|
|
2
2
|
import * as fs from 'fs/promises';
|
|
3
3
|
import * as os from 'os';
|
|
4
4
|
import * as path from 'path';
|
|
5
|
-
import { buildDeployMetadataAttributes, packageUsesManifestAsync, } from './deploy-metadata.js';
|
|
5
|
+
import { buildDeployMetadataAttributes, gatherGitDeployInfo, packageUsesManifestAsync, } from './deploy-metadata.js';
|
|
6
6
|
async function withPackageJsonAsync(contents, fn) {
|
|
7
7
|
const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'manifest-gate-'));
|
|
8
8
|
try {
|
|
@@ -151,4 +151,37 @@ describe('packageUsesManifestAsync', () => {
|
|
|
151
151
|
});
|
|
152
152
|
});
|
|
153
153
|
});
|
|
154
|
+
describe('gatherGitDeployInfo', () => {
|
|
155
|
+
afterEach(() => {
|
|
156
|
+
vi.unstubAllEnvs();
|
|
157
|
+
});
|
|
158
|
+
async function withEventAsync(eventName, event, fn) {
|
|
159
|
+
const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'git-info-'));
|
|
160
|
+
try {
|
|
161
|
+
const eventPath = path.join(dir, 'event.json');
|
|
162
|
+
await fs.writeFile(eventPath, JSON.stringify(event));
|
|
163
|
+
vi.stubEnv('GITHUB_EVENT_NAME', eventName);
|
|
164
|
+
vi.stubEnv('GITHUB_EVENT_PATH', eventPath);
|
|
165
|
+
fn();
|
|
166
|
+
}
|
|
167
|
+
finally {
|
|
168
|
+
await fs.rm(dir, { recursive: true, force: true });
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
it("stamps a pull_request run with the PR's head, not the merge checkout", async () => {
|
|
172
|
+
const sha = 'b'.repeat(40);
|
|
173
|
+
await withEventAsync('pull_request', { pull_request: { head: { sha, ref: 'feature/x' } } }, () => {
|
|
174
|
+
expect(gatherGitDeployInfo()).toEqual({
|
|
175
|
+
commit: 'bbbbbbbbbb',
|
|
176
|
+
version: sha,
|
|
177
|
+
branch: 'feature/x',
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
it('reads the checkout for any other event', async () => {
|
|
182
|
+
await withEventAsync('push', { pull_request: { head: { sha: 'b'.repeat(40), ref: 'feature/x' } } }, () => {
|
|
183
|
+
expect(gatherGitDeployInfo().version).not.toBe('b'.repeat(40));
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
});
|
|
154
187
|
//# sourceMappingURL=deploy-metadata.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-metadata.test.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy-metadata.test.js","sourceRoot":"","sources":["../../../src/utils/deploy/deploy-metadata.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,GAGzB,MAAM,sBAAsB,CAAC;AAE9B,KAAK,UAAU,oBAAoB,CACjC,QAAiB,EACjB,EAAkC;IAElC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzB,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,KAAK,GAAoB;IAC7B,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,0BAA0B;IACrC,OAAO,EAAE,GAAG;IACZ,UAAU,EAAE,GAAG;CAChB,CAAC;AAEF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,UAAU,GAAG,6BAA6B,CAC9C,EAAE,EACF;YACE,GAAG,KAAK;YACR,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACtB,CACF,CAAC;QACF,2EAA2E;QAC3E,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAkB;YACzB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,MAAM,UAAU,GAAG,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAG,6BAA6B,CAC9C,EAAE,EACF,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,CACtC,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,wEAAwE;IACxE,iEAAiE;IACjE,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAG,6BAA6B,CAC9C,EAAE,EACF;YACE,GAAG,KAAK;YACR,WAAW,EAAE,cAAc;YAC3B,gBAAgB,EAAE,GAAG;SACtB,CACF,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,sEAAsE;IACtE,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,UAAU,GAAG,6BAA6B,CAC9C,EAAE,EACF;YACE,GAAG,KAAK;YACR,WAAW,EAAE,eAAe;YAC5B,gBAAgB,EAAE,CAAC;SACpB,CACF,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAE5D,MAAM,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,kBAAkB,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,UAAU,GAAG,6BAA6B,CAC9C,EAAE,EACF,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAC/B,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,EAAE;YAC1D,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE;YACtE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE;SACvE,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAgB,CAAC,CAAC;QACvD,6EAA6E;QAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE;YACtE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE;SACvE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,UAAU,GAAG,6BAA6B,CAAC,EAAE,EAAE,KAAK,EAAE;YAC1D,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAgB,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,oBAAoB,CACxB,EAAE,IAAI,EAAE,8BAA8B,EAAE,EACxC,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,CAAC,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,oBAAoB,CACxB;YACE,IAAI,EAAE,qBAAqB;YAC3B,YAAY,EAAE,EAAE,8BAA8B,EAAE,aAAa,EAAE;SAChE,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,CAAC,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,oBAAoB,CACxB;YACE,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE;SAClD,EACD,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,CAAC,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,CAAC,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,cAAc,CAC3B,SAAiB,EACjB,KAAc,EACd,EAAc;QAEd,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAC3C,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAC3C,EAAE,EAAE,CAAC;QACP,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,cAAc,CAClB,cAAc,EACd,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,EACrD,GAAG,EAAE;YACH,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,GAAG;gBACZ,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,cAAc,CAClB,MAAM,EACN,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,EACrE,GAAG,EAAE;YACH,MAAM,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BuildContext } from '@quenty/nevermore-template-helpers';
|
|
2
|
+
import { type GitDeployInfo } from './deploy-metadata.js';
|
|
3
|
+
/**
|
|
4
|
+
* Places built by `nevermore batch bundle --deploy`, unpacked from a
|
|
5
|
+
* `*.nevermore.deploy.tar` and ready for `batch deploy --bundle` to deploy.
|
|
6
|
+
*
|
|
7
|
+
* Each place is the plain rojo build. Its base place is merged at deploy time,
|
|
8
|
+
* because downloading one needs the Open Cloud key the building run lacks.
|
|
9
|
+
*/
|
|
10
|
+
export interface PrebuiltDeployBundle {
|
|
11
|
+
/** Deploy target name the places were built for, e.g. "integration". */
|
|
12
|
+
target: string;
|
|
13
|
+
/** The commit the places were built from, not the deploying checkout's. */
|
|
14
|
+
git: GitDeployInfo;
|
|
15
|
+
places: PrebuiltDeployPlace[];
|
|
16
|
+
/** Holds the unpacked files; whoever deploys them owns its cleanup. */
|
|
17
|
+
buildContext: BuildContext;
|
|
18
|
+
}
|
|
19
|
+
export interface PrebuiltDeployPlace {
|
|
20
|
+
/** Batch target display name, e.g. "@quenty/game" or "@quenty/game - hub". */
|
|
21
|
+
name: string;
|
|
22
|
+
rbxlPath: string;
|
|
23
|
+
/** The building checkout's rojo project, which says what to graft onto the base place. */
|
|
24
|
+
projectPath: string;
|
|
25
|
+
packageVersion?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Suggested file suffix, following `deploy.nevermore.json`. */
|
|
28
|
+
export declare const DEPLOY_BUNDLE_FILE_SUFFIX = ".nevermore.deploy.tar";
|
|
29
|
+
export declare function writePrebuiltDeployBundleAsync(file: string, target: string, git: GitDeployInfo, places: PrebuiltDeployPlace[]): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Read a deploy bundle file. It is untrusted: it comes from a fork's CI run.
|
|
32
|
+
* Entries are read rather than extracted, every manifest string is checked
|
|
33
|
+
* before it can reach a place attribute or the PR comment, and the bundle
|
|
34
|
+
* names places only by target name — where each one deploys, and which base
|
|
35
|
+
* place it merges onto, come from the deploying checkout's config.
|
|
36
|
+
*/
|
|
37
|
+
export declare function readPrebuiltDeployBundleAsync(file: string): Promise<PrebuiltDeployBundle>;
|
|
38
|
+
//# sourceMappingURL=prebuilt-deploy-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prebuilt-deploy-bundle.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/prebuilt-deploy-bundle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAMlE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,uEAAuE;IACvE,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAeD,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAejE,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,mBAAmB,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,CAAC,CA+C/B"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as tar from 'tar';
|
|
4
|
+
import { BuildContext } from '@quenty/nevermore-template-helpers';
|
|
5
|
+
import { PLACE_UPLOAD_MAX_BYTES } from '../open-cloud/open-cloud-client.js';
|
|
6
|
+
import { PACKAGE_NAME_PATTERN, readUntrustedTarAsync, } from '../bundle/untrusted-tar.js';
|
|
7
|
+
/** Suggested file suffix, following `deploy.nevermore.json`. */
|
|
8
|
+
export const DEPLOY_BUNDLE_FILE_SUFFIX = '.nevermore.deploy.tar';
|
|
9
|
+
const MANIFEST_FILE_NAME = 'manifest.json';
|
|
10
|
+
const FORMAT_VERSION = 1;
|
|
11
|
+
const MAX_PLACES = 64;
|
|
12
|
+
const MAX_MANIFEST_BYTES = 1024 * 1024;
|
|
13
|
+
const MAX_PROJECT_BYTES = 1024 * 1024;
|
|
14
|
+
const PLACE_FILE_PATTERN = /^place-\d{1,3}\.rbxl$/;
|
|
15
|
+
const PROJECT_FILE_PATTERN = /^project-\d{1,3}\.json$/;
|
|
16
|
+
const TARGET_NAME_PATTERN = /^[A-Za-z0-9_-]{1,64}$/;
|
|
17
|
+
const SHORT_SHA_PATTERN = /^[0-9a-f]{4,40}$/;
|
|
18
|
+
const SHA_PATTERN = /^[0-9a-f]{40}$/;
|
|
19
|
+
const BRANCH_PATTERN = /^[A-Za-z0-9._/-]{1,200}$/;
|
|
20
|
+
const PACKAGE_VERSION_PATTERN = /^[0-9A-Za-z.+-]{1,64}$/;
|
|
21
|
+
export async function writePrebuiltDeployBundleAsync(file, target, git, places) {
|
|
22
|
+
const stage = await BuildContext.createAsync({ prefix: 'deploy-bundle-' });
|
|
23
|
+
const stageDir = stage.buildDir;
|
|
24
|
+
try {
|
|
25
|
+
const manifest = {
|
|
26
|
+
formatVersion: FORMAT_VERSION,
|
|
27
|
+
kind: 'deploy',
|
|
28
|
+
target,
|
|
29
|
+
git,
|
|
30
|
+
places: [],
|
|
31
|
+
};
|
|
32
|
+
for (const [index, place] of places.entries()) {
|
|
33
|
+
const placeFile = `place-${index + 1}.rbxl`;
|
|
34
|
+
const projectFile = `project-${index + 1}.json`;
|
|
35
|
+
await fs.copyFile(place.rbxlPath, path.join(stageDir, placeFile));
|
|
36
|
+
await fs.copyFile(place.projectPath, path.join(stageDir, projectFile));
|
|
37
|
+
manifest.places.push({
|
|
38
|
+
name: place.name,
|
|
39
|
+
file: placeFile,
|
|
40
|
+
project: projectFile,
|
|
41
|
+
packageVersion: place.packageVersion,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
await fs.writeFile(path.join(stageDir, MANIFEST_FILE_NAME), JSON.stringify(manifest, null, 2));
|
|
45
|
+
await fs.mkdir(path.dirname(path.resolve(file)), { recursive: true });
|
|
46
|
+
await tar.c({ file, cwd: stageDir, portable: true }, [
|
|
47
|
+
MANIFEST_FILE_NAME,
|
|
48
|
+
...manifest.places.flatMap((p) => [p.file, p.project]),
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
await stage.cleanupAsync();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Read a deploy bundle file. It is untrusted: it comes from a fork's CI run.
|
|
57
|
+
* Entries are read rather than extracted, every manifest string is checked
|
|
58
|
+
* before it can reach a place attribute or the PR comment, and the bundle
|
|
59
|
+
* names places only by target name — where each one deploys, and which base
|
|
60
|
+
* place it merges onto, come from the deploying checkout's config.
|
|
61
|
+
*/
|
|
62
|
+
export async function readPrebuiltDeployBundleAsync(file) {
|
|
63
|
+
let stat;
|
|
64
|
+
try {
|
|
65
|
+
stat = await fs.lstat(file);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
throw new Error(`Bundle file not found: ${file}`);
|
|
69
|
+
}
|
|
70
|
+
if (!stat.isFile()) {
|
|
71
|
+
throw new Error(`Bundle ${file} is not a regular file`);
|
|
72
|
+
}
|
|
73
|
+
const buildContext = await BuildContext.createAsync({
|
|
74
|
+
prefix: 'deploy-bundle-',
|
|
75
|
+
});
|
|
76
|
+
const dir = buildContext.buildDir;
|
|
77
|
+
try {
|
|
78
|
+
const { manifestText, entrySizes } = await readUntrustedTarAsync(file, dir, {
|
|
79
|
+
kind: 'deploy',
|
|
80
|
+
manifestName: MANIFEST_FILE_NAME,
|
|
81
|
+
maxManifestBytes: MAX_MANIFEST_BYTES,
|
|
82
|
+
isEntryAllowed: (name) => PLACE_FILE_PATTERN.test(name) || PROJECT_FILE_PATTERN.test(name),
|
|
83
|
+
maxEntries: MAX_PLACES * 2,
|
|
84
|
+
maxEntriesMessage: `Bundle must hold at most ${MAX_PLACES} places`,
|
|
85
|
+
checkEntrySize: (name, size) => {
|
|
86
|
+
if (PLACE_FILE_PATTERN.test(name) && size > PLACE_UPLOAD_MAX_BYTES) {
|
|
87
|
+
return `${name} is over the place upload limit`;
|
|
88
|
+
}
|
|
89
|
+
if (PROJECT_FILE_PATTERN.test(name) && size > MAX_PROJECT_BYTES) {
|
|
90
|
+
return `${name} is over the project file size limit`;
|
|
91
|
+
}
|
|
92
|
+
return undefined;
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
const parsed = _parseManifest(manifestText, dir, entrySizes);
|
|
96
|
+
for (const place of parsed.places) {
|
|
97
|
+
await _validateProjectFileAsync(place.projectPath);
|
|
98
|
+
}
|
|
99
|
+
return { ...parsed, buildContext };
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
await buildContext.cleanupAsync();
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function _parseManifest(manifestText, dir, entrySizes) {
|
|
107
|
+
let parsed;
|
|
108
|
+
try {
|
|
109
|
+
parsed = JSON.parse(manifestText);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
throw new Error('Bundle manifest is not valid JSON');
|
|
113
|
+
}
|
|
114
|
+
const manifest = parsed;
|
|
115
|
+
if (manifest?.formatVersion !== FORMAT_VERSION) {
|
|
116
|
+
throw new Error(`Unsupported bundle format ${String(manifest?.formatVersion)} ` +
|
|
117
|
+
`(expected ${FORMAT_VERSION})`);
|
|
118
|
+
}
|
|
119
|
+
if (typeof manifest.target !== 'string' ||
|
|
120
|
+
!TARGET_NAME_PATTERN.test(manifest.target)) {
|
|
121
|
+
throw new Error(`Bundle lists an invalid target: ${String(manifest.target)}`);
|
|
122
|
+
}
|
|
123
|
+
if (!Array.isArray(manifest.places) || manifest.places.length > MAX_PLACES) {
|
|
124
|
+
throw new Error(`Bundle must list at most ${MAX_PLACES} places`);
|
|
125
|
+
}
|
|
126
|
+
if (manifest.places.length * 2 !== entrySizes.size) {
|
|
127
|
+
throw new Error('Bundle manifest does not list every file it holds');
|
|
128
|
+
}
|
|
129
|
+
const git = _parseGit(manifest.git);
|
|
130
|
+
const seenNames = new Set();
|
|
131
|
+
const seenFiles = new Set();
|
|
132
|
+
const places = [];
|
|
133
|
+
for (const entry of manifest.places) {
|
|
134
|
+
const { name, file, project, packageVersion } = entry ?? {};
|
|
135
|
+
if (typeof name !== 'string' || !PACKAGE_NAME_PATTERN.test(name)) {
|
|
136
|
+
throw new Error(`Bundle lists an invalid package name: ${String(name)}`);
|
|
137
|
+
}
|
|
138
|
+
if (seenNames.has(name)) {
|
|
139
|
+
throw new Error(`Bundle lists ${name} more than once`);
|
|
140
|
+
}
|
|
141
|
+
seenNames.add(name);
|
|
142
|
+
for (const [listed, pattern] of [
|
|
143
|
+
[file, PLACE_FILE_PATTERN],
|
|
144
|
+
[project, PROJECT_FILE_PATTERN],
|
|
145
|
+
]) {
|
|
146
|
+
if (typeof listed !== 'string' ||
|
|
147
|
+
!pattern.test(listed) ||
|
|
148
|
+
!entrySizes.has(listed) ||
|
|
149
|
+
seenFiles.has(listed)) {
|
|
150
|
+
throw new Error(`Bundle lists an invalid file for ${name}: ${String(listed)}`);
|
|
151
|
+
}
|
|
152
|
+
seenFiles.add(listed);
|
|
153
|
+
}
|
|
154
|
+
if (packageVersion !== undefined &&
|
|
155
|
+
(typeof packageVersion !== 'string' ||
|
|
156
|
+
!PACKAGE_VERSION_PATTERN.test(packageVersion))) {
|
|
157
|
+
throw new Error(`Bundle lists an invalid package version for ${name}`);
|
|
158
|
+
}
|
|
159
|
+
places.push({
|
|
160
|
+
name,
|
|
161
|
+
rbxlPath: path.join(dir, file),
|
|
162
|
+
projectPath: path.join(dir, project),
|
|
163
|
+
packageVersion,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return { target: manifest.target, git, places };
|
|
167
|
+
}
|
|
168
|
+
function _parseGit(git) {
|
|
169
|
+
if (git === undefined) {
|
|
170
|
+
return {};
|
|
171
|
+
}
|
|
172
|
+
if (typeof git !== 'object' || git === null) {
|
|
173
|
+
throw new Error('Bundle lists invalid git info');
|
|
174
|
+
}
|
|
175
|
+
const { commit, version, branch } = git;
|
|
176
|
+
const result = {};
|
|
177
|
+
for (const [key, value, pattern] of [
|
|
178
|
+
['commit', commit, SHORT_SHA_PATTERN],
|
|
179
|
+
['version', version, SHA_PATTERN],
|
|
180
|
+
]) {
|
|
181
|
+
if (value === undefined) {
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
if (typeof value !== 'string' || !pattern.test(value)) {
|
|
185
|
+
throw new Error(`Bundle lists an invalid git ${key}`);
|
|
186
|
+
}
|
|
187
|
+
result[key] = value;
|
|
188
|
+
}
|
|
189
|
+
// Git allows branch names this pattern does not, and a branch is only a
|
|
190
|
+
// label, so one that fails it is dropped rather than failing the deploy.
|
|
191
|
+
if (typeof branch === 'string' && BRANCH_PATTERN.test(branch)) {
|
|
192
|
+
result.branch = branch;
|
|
193
|
+
}
|
|
194
|
+
return result;
|
|
195
|
+
}
|
|
196
|
+
async function _validateProjectFileAsync(projectPath) {
|
|
197
|
+
let project;
|
|
198
|
+
try {
|
|
199
|
+
project = JSON.parse(await fs.readFile(projectPath, 'utf-8'));
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
throw new Error(`Bundle project ${path.basename(projectPath)} is not valid JSON`);
|
|
203
|
+
}
|
|
204
|
+
const tree = project?.tree;
|
|
205
|
+
if (typeof tree !== 'object' || tree === null) {
|
|
206
|
+
throw new Error(`Bundle project ${path.basename(projectPath)} has no "tree"`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=prebuilt-deploy-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prebuilt-deploy-bundle.js","sourceRoot":"","sources":["../../../src/utils/deploy/prebuilt-deploy-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AA0CpC,gEAAgE;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAEjE,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AACnD,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AACvD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC;AACrC,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAClD,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAAY,EACZ,MAAc,EACd,GAAkB,EAClB,MAA6B;IAE7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAiB;YAC7B,aAAa,EAAE,cAAc;YAC7B,IAAI,EAAE,QAAQ;YACd,MAAM;YACN,GAAG;YACH,MAAM,EAAE,EAAE;SACX,CAAC;QACF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,SAAS,KAAK,GAAG,CAAC,OAAO,CAAC;YAC5C,MAAM,WAAW,GAAG,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;YAChD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YAClE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACvE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,WAAW;gBACpB,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAC;QAEF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YACnD,kBAAkB;YAClB,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAY;IAEZ,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;QAClD,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,qBAAqB,CAC9D,IAAI,EACJ,GAAG,EACH;YACE,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,kBAAkB;YAChC,gBAAgB,EAAE,kBAAkB;YACpC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClE,UAAU,EAAE,UAAU,GAAG,CAAC;YAC1B,iBAAiB,EAAE,4BAA4B,UAAU,SAAS;YAClE,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC7B,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,sBAAsB,EAAE,CAAC;oBACnE,OAAO,GAAG,IAAI,iCAAiC,CAAC;gBAClD,CAAC;gBACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,iBAAiB,EAAE,CAAC;oBAChE,OAAO,GAAG,IAAI,sCAAsC,CAAC;gBACvD,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CACF,CAAC;QACF,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,YAAoB,EACpB,GAAW,EACX,UAA+B;IAE/B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,MAA+B,CAAC;IACjD,IAAI,QAAQ,EAAE,aAAa,KAAK,cAAc,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG;YAC7D,aAAa,cAAc,GAAG,CACjC,CAAC;IACJ,CAAC;IACD,IACE,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;QACnC,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mCAAmC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,SAAS,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,CAAC;QACzD,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;YAC9B,CAAC,IAAI,EAAE,kBAAkB,CAAC;YAC1B,CAAC,OAAO,EAAE,oBAAoB,CAAC;SACvB,EAAE,CAAC;YACX,IACE,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrB,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;gBACvB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EACrB,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,IACE,cAAc,KAAK,SAAS;YAC5B,CAAC,OAAO,cAAc,KAAK,QAAQ;gBACjC,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAChD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAK,CAAC;YAC/B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAQ,CAAC;YACrC,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAA8B,CAAC;IACnE,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI;QAClC,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC;QACrC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;KACzB,EAAE,CAAC;QACX,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,WAAmB;IAC1D,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAI,OAA8B,EAAE,IAAI,CAAC;IACnD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prebuilt-deploy-bundle.test.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/prebuilt-deploy-bundle.test.ts"],"names":[],"mappings":""}
|