@forge/cli 5.0.0-next.1 → 5.1.0-next.5
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 +98 -0
- package/npm-shrinkwrap.json +7578 -57
- package/out/command-line/controller/deploy-controller.d.ts +1 -3
- package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
- package/out/command-line/controller/deploy-controller.js +2 -4
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +7 -3
- package/out/command-line/view/install-view.js +2 -2
- package/out/deploy/package-upload-deploy.d.ts +5 -3
- package/out/deploy/package-upload-deploy.d.ts.map +1 -1
- package/out/deploy/package-upload-deploy.js +14 -5
- package/out/deploy/packager/nativeui-bundler.d.ts +12 -0
- package/out/deploy/packager/nativeui-bundler.d.ts.map +1 -0
- package/out/deploy/packager/nativeui-bundler.js +34 -0
- package/out/deploy/packager/packager.d.ts +10 -9
- package/out/deploy/packager/packager.d.ts.map +1 -1
- package/out/deploy/packager/packager.js +7 -47
- package/out/deploy/packager/runtime-bundler.d.ts +15 -0
- package/out/deploy/packager/runtime-bundler.d.ts.map +1 -0
- package/out/deploy/packager/runtime-bundler.js +58 -0
- package/out/service/installation-service.js +2 -2
- package/out/service/resource-packaging-service.d.ts.map +1 -1
- package/out/service/resource-packaging-service.js +6 -2
- package/package.json +7 -6
|
@@ -3,7 +3,6 @@ import { LintService } from '../../service/lint-service';
|
|
|
3
3
|
import { DeployView } from '../view/deploy-view';
|
|
4
4
|
import { InstallationService } from '../../service/installation-service';
|
|
5
5
|
import { MigrationKeysService } from '../../service/migration-keys-service';
|
|
6
|
-
import { ResourcePackagingService } from '../../service/resource-packaging-service';
|
|
7
6
|
import { ErrorWithAnalytics } from '../command';
|
|
8
7
|
import { PackageUploadDeployCommand } from '../../deploy';
|
|
9
8
|
import { DeploymentResult } from '../register-deployment-commands';
|
|
@@ -29,8 +28,7 @@ export declare class DeployController {
|
|
|
29
28
|
private readonly migrationKeysService;
|
|
30
29
|
private readonly deployView;
|
|
31
30
|
private readonly packageUploadDeployCommand;
|
|
32
|
-
|
|
33
|
-
constructor(appConfigProvider: AppConfigProvider, configFile: ConfigFile, lintService: LintService, installationsService: InstallationService, migrationKeysService: MigrationKeysService, deployView: DeployView, packageUploadDeployCommand: PackageUploadDeployCommand, resourcePackagingService: ResourcePackagingService);
|
|
31
|
+
constructor(appConfigProvider: AppConfigProvider, configFile: ConfigFile, lintService: LintService, installationsService: InstallationService, migrationKeysService: MigrationKeysService, deployView: DeployView, packageUploadDeployCommand: PackageUploadDeployCommand);
|
|
34
32
|
private isMpacProductionApp;
|
|
35
33
|
private connectKeyDeleted;
|
|
36
34
|
private connectKeyChanged;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAQ,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAQ,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,sBAAuB,SAAQ,WAAY,YAAW,kBAAkB;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAKjD;AAED,qBAAa,sBAAuB,SAAQ,WAAY,YAAW,kBAAkB;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAK/C;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAN1B,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,0BAA0B;IAGzE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YAiBnB,oBAAoB;IAOrB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CAqD3F"}
|
|
@@ -27,7 +27,7 @@ class InvalidConnectKeyError extends cli_shared_1.HiddenError {
|
|
|
27
27
|
}
|
|
28
28
|
exports.InvalidConnectKeyError = InvalidConnectKeyError;
|
|
29
29
|
class DeployController {
|
|
30
|
-
constructor(appConfigProvider, configFile, lintService, installationsService, migrationKeysService, deployView, packageUploadDeployCommand
|
|
30
|
+
constructor(appConfigProvider, configFile, lintService, installationsService, migrationKeysService, deployView, packageUploadDeployCommand) {
|
|
31
31
|
this.appConfigProvider = appConfigProvider;
|
|
32
32
|
this.configFile = configFile;
|
|
33
33
|
this.lintService = lintService;
|
|
@@ -35,7 +35,6 @@ class DeployController {
|
|
|
35
35
|
this.migrationKeysService = migrationKeysService;
|
|
36
36
|
this.deployView = deployView;
|
|
37
37
|
this.packageUploadDeployCommand = packageUploadDeployCommand;
|
|
38
|
-
this.resourcePackagingService = resourcePackagingService;
|
|
39
38
|
}
|
|
40
39
|
isMpacProductionApp(mpacAppKey, environment) {
|
|
41
40
|
return !!(mpacAppKey && environment === 'production');
|
|
@@ -106,7 +105,6 @@ class DeployController {
|
|
|
106
105
|
const { id } = await this.appConfigProvider();
|
|
107
106
|
const handlers = await this.configFile.getAppHandlers();
|
|
108
107
|
const resources = await this.configFile.getResources();
|
|
109
|
-
const archives = await this.resourcePackagingService.zipResources(resources);
|
|
110
108
|
let hasProdInstallations = false;
|
|
111
109
|
try {
|
|
112
110
|
const prodInstallations = await this.installationsService.listAppInstallations({
|
|
@@ -119,7 +117,7 @@ class DeployController {
|
|
|
119
117
|
throw err;
|
|
120
118
|
}
|
|
121
119
|
}
|
|
122
|
-
const analytics = await this.deployView.reportDeploymentProgress(id, environment, hasProdInstallations, () => this.packageUploadDeployCommand.execute({ handlers, environmentKey: environment
|
|
120
|
+
const analytics = await this.deployView.reportDeploymentProgress(id, environment, hasProdInstallations, () => this.packageUploadDeployCommand.execute({ handlers, resources, environmentKey: environment }));
|
|
123
121
|
if (verify) {
|
|
124
122
|
await this.verifyPostDeployment(environment);
|
|
125
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAM3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAIzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAWlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAUlB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAM3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAIzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAWlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiQvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
|
|
@@ -53,6 +53,8 @@ const tunnel_view_1 = require("./view/tunnel-view");
|
|
|
53
53
|
const graphql_client_5 = require("../webtrigger/graphql-client");
|
|
54
54
|
const stubController_1 = require("./controller/stubController");
|
|
55
55
|
const prerequisites_controller_1 = require("./controller/prerequisites-controller");
|
|
56
|
+
const runtime_bundler_1 = require("../deploy/packager/runtime-bundler");
|
|
57
|
+
const nativeui_bundler_1 = require("../deploy/packager/nativeui-bundler");
|
|
56
58
|
exports.getDependencies = async (cliDetails) => {
|
|
57
59
|
let cmd;
|
|
58
60
|
const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose);
|
|
@@ -123,8 +125,9 @@ exports.getDependencies = async (cliDetails) => {
|
|
|
123
125
|
const archiveUploader = new deploy_1.AppArchiveUploader(assertiveAppConfigReader, uploaderArtifactClient, fileUploader, ui, new resources_uploader_service_1.ResourcesUploaderService(fileReader));
|
|
124
126
|
const deployer = new deploy_1.ArtifactDeployer(assertiveAppConfigReader, triggerDeployClient, deployMonitorClient, cli_shared_1.pause, ui);
|
|
125
127
|
const bundle = (await featureFlagService.readFlag('xls-lambda-runtime')) === 'nodejs14.x' ? bundler_1.nodeBundle : bundler_1.sandboxBundle;
|
|
126
|
-
const
|
|
127
|
-
const
|
|
128
|
+
const runtimeBundler = new runtime_bundler_1.RuntimeBundler(archiverFactory, ui, bundle);
|
|
129
|
+
const nativeUiBundler = new nativeui_bundler_1.NativeUIBundler(ui, bundler_1.nativeUiBundle);
|
|
130
|
+
const appPackager = new deploy_1.AppPackager(runtimeBundler, nativeUiBundler, ui);
|
|
128
131
|
const getWebTriggerURLCommand = new get_webtrigger_url_1.GetWebTriggerURLCommand(assertiveAppConfigReader, installationsClient, appEnvironmentClient, webTriggerGraphqlClient);
|
|
129
132
|
const autocompleteController = new autocomplete_controller_1.AutocompleteController(ui);
|
|
130
133
|
const installationsService = new installation_service_1.InstallationService(assertiveAppConfigReader, installationsClient, installationsClient);
|
|
@@ -138,7 +141,8 @@ exports.getDependencies = async (cliDetails) => {
|
|
|
138
141
|
const bridgeScriptService = new cli_shared_1.BridgeScriptService();
|
|
139
142
|
const iframeResizerScriptService = new cli_shared_1.IframeResizerScriptService();
|
|
140
143
|
const resourcePackagingService = new resource_packaging_service_1.ResourcePackagingService(archiverFactory, fileReader, process.cwd(), bridgeScriptService, iframeResizerScriptService);
|
|
141
|
-
const
|
|
144
|
+
const packageUploadDeployCommand = new deploy_1.PackageUploadDeployCommand(appPackager, archiveUploader, deployer, resourcePackagingService);
|
|
145
|
+
const deployController = new deploy_controller_1.DeployController(assertiveAppConfigReader, configFile, lintService, installationsService, migrationKeysService, deployView, packageUploadDeployCommand);
|
|
142
146
|
const tunnelView = new tunnel_view_1.TunnelView(ui);
|
|
143
147
|
const configFilePortFindingService = new port_finding_service_1.ConfigFilePortFindingService(configFile);
|
|
144
148
|
const localTunnelService = new tunnel_service_1.LocalTunnelService(configFilePortFindingService);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InstallView = exports.NoScopesError = void 0;
|
|
4
4
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
-
const
|
|
5
|
+
const egress_1 = require("@forge/egress");
|
|
6
6
|
const lodash_1 = require("lodash");
|
|
7
7
|
class NoScopesError extends Error {
|
|
8
8
|
}
|
|
@@ -20,7 +20,7 @@ class InstallView {
|
|
|
20
20
|
if (egressAddresses.length)
|
|
21
21
|
this.ui.info(text.listEgressAddresses(egressAddresses));
|
|
22
22
|
const cleanedManifestScopes = [...new Set(['read:me', ...manifestScopes])];
|
|
23
|
-
const groupedManifestEgressAddresses =
|
|
23
|
+
const groupedManifestEgressAddresses = egress_1.sortAndGroupEgressPermissionsByDomain(manifestEgressAddresses);
|
|
24
24
|
let permissionsMismatchWithManifest = false;
|
|
25
25
|
if (cli_shared_1.environmentToOption(environment) === cli_shared_1.DEFAULT_ENVIRONMENT_OPTION) {
|
|
26
26
|
const scopesMismatch = !lodash_1.isEqual([...cleanedManifestScopes].sort(), [...scopes].sort());
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { Deployer } from './deployer/deployer';
|
|
2
2
|
import { Packager } from './packager/packager';
|
|
3
3
|
import { ArchiveUploader } from './uploader/uploader';
|
|
4
|
-
import { ResourceArchives } from '../service/resource-packaging-service';
|
|
5
4
|
import { DeploymentResult } from '../command-line/register-deployment-commands';
|
|
5
|
+
import { ResourceDetails } from '@forge/cli-shared';
|
|
6
|
+
import { ResourcePackagingService } from '../service/resource-packaging-service';
|
|
6
7
|
export interface Details {
|
|
7
8
|
handlers: Array<string>;
|
|
8
9
|
environmentKey: string;
|
|
9
|
-
|
|
10
|
+
resources: ResourceDetails[];
|
|
10
11
|
}
|
|
11
12
|
export declare class PackageUploadDeployCommand {
|
|
12
13
|
private readonly packager;
|
|
13
14
|
private readonly archiveUploader;
|
|
14
15
|
private readonly deployer;
|
|
15
|
-
|
|
16
|
+
private readonly resourcePackagingService;
|
|
17
|
+
constructor(packager: Packager, archiveUploader: ArchiveUploader, deployer: Deployer, resourcePackagingService: ResourcePackagingService);
|
|
16
18
|
execute(details: Details): Promise<DeploymentResult>;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=package-upload-deploy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-upload-deploy.d.ts","sourceRoot":"","sources":["../../src/deploy/package-upload-deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-upload-deploy.d.ts","sourceRoot":"","sources":["../../src/deploy/package-upload-deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAHxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,wBAAwB,EAAE,wBAAwB;IAGxD,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAuClE"}
|
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PackageUploadDeployCommand = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
4
5
|
class PackageUploadDeployCommand {
|
|
5
|
-
constructor(packager, archiveUploader, deployer) {
|
|
6
|
+
constructor(packager, archiveUploader, deployer, resourcePackagingService) {
|
|
6
7
|
this.packager = packager;
|
|
7
8
|
this.archiveUploader = archiveUploader;
|
|
8
9
|
this.deployer = deployer;
|
|
10
|
+
this.resourcePackagingService = resourcePackagingService;
|
|
9
11
|
}
|
|
10
12
|
async execute(details) {
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
13
|
+
const [resourcesToBeBundled, preBundledResources] = lodash_1.partition(details.resources, (res) => res.resourceType === 'nativeUI');
|
|
14
|
+
const { runtimeArchivePath, nativeUiBundlesDetails, moduleList } = await this.packager.package(details.handlers, resourcesToBeBundled);
|
|
15
|
+
const resourcesArchives = await this.resourcePackagingService.zipResources([
|
|
16
|
+
...preBundledResources,
|
|
17
|
+
...nativeUiBundlesDetails
|
|
18
|
+
]);
|
|
19
|
+
const [uploadUrl, hostedResourceUploadId] = await Promise.all([
|
|
20
|
+
this.archiveUploader.uploadArchive(runtimeArchivePath),
|
|
21
|
+
this.archiveUploader.uploadHostedResources(details.environmentKey, resourcesArchives)
|
|
22
|
+
]);
|
|
14
23
|
await this.deployer.deploy(details.environmentKey, uploadUrl, hostedResourceUploadId);
|
|
15
24
|
return {
|
|
16
25
|
analytics: {
|
|
17
26
|
moduleList,
|
|
18
|
-
hostedResourceList: Object.values(
|
|
27
|
+
hostedResourceList: Object.values(resourcesArchives).map((a) => ({
|
|
19
28
|
extensionList: a.extensions,
|
|
20
29
|
fileCount: a.fileCount,
|
|
21
30
|
rawSize: a.rawSize,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InDiskBundler } from '@forge/bundler';
|
|
2
|
+
import { Logger, ResourceDetails } from '@forge/cli-shared';
|
|
3
|
+
export interface NativeUIBundleResult {
|
|
4
|
+
nativeUiBundlesDetails: ResourceDetails[];
|
|
5
|
+
}
|
|
6
|
+
export declare class NativeUIBundler {
|
|
7
|
+
private readonly logger;
|
|
8
|
+
private readonly bundler;
|
|
9
|
+
constructor(logger: Logger, bundler: InDiskBundler);
|
|
10
|
+
bundle(resources: ResourceDetails[]): Promise<NativeUIBundleResult>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=nativeui-bundler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeui-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/nativeui-bundler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG5D,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,eAAe,EAAE,CAAC;CAC3C;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAxC,MAAM,EAAE,MAAM,EAAmB,OAAO,EAAE,aAAa;IAEvE,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA8BjF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NativeUIBundler = void 0;
|
|
4
|
+
const packager_1 = require("./packager");
|
|
5
|
+
class NativeUIBundler {
|
|
6
|
+
constructor(logger, bundler) {
|
|
7
|
+
this.logger = logger;
|
|
8
|
+
this.bundler = bundler;
|
|
9
|
+
}
|
|
10
|
+
async bundle(resources) {
|
|
11
|
+
const entryPoints = resources.map(({ key, path }) => ({
|
|
12
|
+
name: key,
|
|
13
|
+
path
|
|
14
|
+
}));
|
|
15
|
+
const nativeUiBundlesDetails = [];
|
|
16
|
+
if (entryPoints.length > 0) {
|
|
17
|
+
let bundlerOutputs;
|
|
18
|
+
try {
|
|
19
|
+
bundlerOutputs = await Promise.all(entryPoints.map((entrypoint) => this.bundler(process.cwd(), [entrypoint])));
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
throw new packager_1.BundlerError(e.message);
|
|
23
|
+
}
|
|
24
|
+
bundlerOutputs.forEach(({ outputDir }, index) => {
|
|
25
|
+
this.logger.debug(`NativeUI bundle created: ${outputDir}`);
|
|
26
|
+
nativeUiBundlesDetails.push(Object.assign(Object.assign({}, resources[index]), { path: outputDir }));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
nativeUiBundlesDetails
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.NativeUIBundler = NativeUIBundler;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Logger } from '@forge/cli-shared';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Logger, ResourceDetails } from '@forge/cli-shared';
|
|
2
|
+
import { NativeUIBundler } from './nativeui-bundler';
|
|
3
|
+
import { RuntimeBundler } from './runtime-bundler';
|
|
4
4
|
export interface PackagerBundlerOutput {
|
|
5
5
|
output: {
|
|
6
6
|
[filename: string]: string;
|
|
@@ -13,11 +13,12 @@ export interface PackagerBundlerOutput {
|
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
export interface PackageResult {
|
|
16
|
-
|
|
16
|
+
runtimeArchivePath: string;
|
|
17
|
+
nativeUiBundlesDetails: ResourceDetails[];
|
|
17
18
|
moduleList?: string[];
|
|
18
19
|
}
|
|
19
20
|
export interface Packager {
|
|
20
|
-
package(handlers:
|
|
21
|
+
package(handlers: string[], resources: ResourceDetails[]): Promise<PackageResult>;
|
|
21
22
|
}
|
|
22
23
|
export interface EntryPoint {
|
|
23
24
|
name: string;
|
|
@@ -26,10 +27,10 @@ export interface EntryPoint {
|
|
|
26
27
|
export declare class BundlerError extends Error {
|
|
27
28
|
}
|
|
28
29
|
export declare class AppPackager implements Packager {
|
|
29
|
-
private readonly
|
|
30
|
+
private readonly runtimeBundler;
|
|
31
|
+
private readonly nativeUiBundler;
|
|
30
32
|
private readonly logger;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
package(handlers: Array<string>): Promise<PackageResult>;
|
|
33
|
+
constructor(runtimeBundler: RuntimeBundler, nativeUiBundler: NativeUIBundler, logger: Logger);
|
|
34
|
+
package(handlers: string[], resources: ResourceDetails[]): Promise<PackageResult>;
|
|
34
35
|
}
|
|
35
36
|
//# sourceMappingURL=packager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAQ,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,eAAe,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,qBAAa,WAAY,YAAW,QAAQ;IAExC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM;IAGpB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;CAW/F"}
|
|
@@ -2,60 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AppPackager = exports.BundlerError = void 0;
|
|
4
4
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
-
const path_1 = require("path");
|
|
6
5
|
class BundlerError extends Error {
|
|
7
6
|
}
|
|
8
7
|
exports.BundlerError = BundlerError;
|
|
9
8
|
class AppPackager {
|
|
10
|
-
constructor(
|
|
11
|
-
this.
|
|
9
|
+
constructor(runtimeBundler, nativeUiBundler, logger) {
|
|
10
|
+
this.runtimeBundler = runtimeBundler;
|
|
11
|
+
this.nativeUiBundler = nativeUiBundler;
|
|
12
12
|
this.logger = logger;
|
|
13
|
-
this.bundle = bundle;
|
|
14
13
|
}
|
|
15
|
-
async package(handlers) {
|
|
16
|
-
let moduleList;
|
|
14
|
+
async package(handlers, resources) {
|
|
17
15
|
this.logger.info(cli_shared_1.Text.deploy.taskPackage.title);
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
});
|
|
22
|
-
archiver.onEntry((filePath) => {
|
|
23
|
-
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.fileAddedToArchive(filePath));
|
|
24
|
-
});
|
|
25
|
-
const currentDirectory = process.cwd();
|
|
26
|
-
const entryPoints = [];
|
|
27
|
-
for (const handler of handlers) {
|
|
28
|
-
entryPoints.push({
|
|
29
|
-
name: handler,
|
|
30
|
-
path: path_1.join(currentDirectory, 'src', handler)
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (entryPoints.length > 0) {
|
|
34
|
-
let bundlerResponse;
|
|
35
|
-
try {
|
|
36
|
-
bundlerResponse = await this.bundle(process.cwd(), entryPoints);
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
throw new BundlerError(e.message);
|
|
40
|
-
}
|
|
41
|
-
const { output, sourceMap, metadata } = bundlerResponse;
|
|
42
|
-
if (metadata) {
|
|
43
|
-
moduleList = metadata.modules;
|
|
44
|
-
}
|
|
45
|
-
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageBundledFiles);
|
|
46
|
-
for (const name in output) {
|
|
47
|
-
archiver.addFile(`${name}.js`, Buffer.from(output[name]));
|
|
48
|
-
}
|
|
49
|
-
if (sourceMap) {
|
|
50
|
-
for (const name in sourceMap) {
|
|
51
|
-
archiver.addFile(`${name}.js.map`, Buffer.from(sourceMap[name]));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
archiver.addRootDependencyFiles(cli_shared_1.dependencyFileNames, this.logger);
|
|
56
|
-
const archivePath = await archiver.finalise();
|
|
57
|
-
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.archiveCreated(archivePath));
|
|
58
|
-
return { archivePath, moduleList };
|
|
16
|
+
const runtimeBundle = await this.runtimeBundler.bundle(handlers);
|
|
17
|
+
const nativeUiBundle = await this.nativeUiBundler.bundle(resources);
|
|
18
|
+
return Object.assign(Object.assign({}, runtimeBundle), nativeUiBundle);
|
|
59
19
|
}
|
|
60
20
|
}
|
|
61
21
|
exports.AppPackager = AppPackager;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Bundler } from '@forge/bundler';
|
|
2
|
+
import { Logger } from '@forge/cli-shared';
|
|
3
|
+
import { Archiver } from './archiver';
|
|
4
|
+
export interface RuntimeBundleResult {
|
|
5
|
+
runtimeArchivePath: string;
|
|
6
|
+
moduleList?: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare class RuntimeBundler {
|
|
9
|
+
private readonly archiverFactory;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private readonly bundler;
|
|
12
|
+
constructor(archiverFactory: () => Archiver, logger: Logger, bundler: Bundler);
|
|
13
|
+
bundle(handlers: string[]): Promise<RuntimeBundleResult>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=runtime-bundler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAuB,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO;IAGtB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAyDtE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RuntimeBundler = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const cli_shared_1 = require("@forge/cli-shared");
|
|
6
|
+
const packager_1 = require("./packager");
|
|
7
|
+
class RuntimeBundler {
|
|
8
|
+
constructor(archiverFactory, logger, bundler) {
|
|
9
|
+
this.archiverFactory = archiverFactory;
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
this.bundler = bundler;
|
|
12
|
+
}
|
|
13
|
+
async bundle(handlers) {
|
|
14
|
+
const archiver = this.archiverFactory();
|
|
15
|
+
archiver.onWarning((err) => {
|
|
16
|
+
this.logger.warn(cli_shared_1.Text.deploy.taskPackage.archiverWarning(err));
|
|
17
|
+
});
|
|
18
|
+
archiver.onEntry((filePath) => {
|
|
19
|
+
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.fileAddedToArchive(filePath));
|
|
20
|
+
});
|
|
21
|
+
const currentDirectory = process.cwd();
|
|
22
|
+
const entryPoints = [];
|
|
23
|
+
for (const handler of handlers) {
|
|
24
|
+
entryPoints.push({
|
|
25
|
+
name: handler,
|
|
26
|
+
path: path_1.join(currentDirectory, 'src', handler)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const moduleList = [];
|
|
30
|
+
if (entryPoints.length > 0) {
|
|
31
|
+
let bundlerResponse;
|
|
32
|
+
try {
|
|
33
|
+
bundlerResponse = await this.bundler(process.cwd(), entryPoints);
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
throw new packager_1.BundlerError(e.message);
|
|
37
|
+
}
|
|
38
|
+
const { output, sourceMap, metadata } = bundlerResponse;
|
|
39
|
+
if (metadata) {
|
|
40
|
+
moduleList.push(...metadata.modules);
|
|
41
|
+
}
|
|
42
|
+
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageBundledFiles);
|
|
43
|
+
for (const name in output) {
|
|
44
|
+
archiver.addFile(`${name}.js`, Buffer.from(output[name]));
|
|
45
|
+
}
|
|
46
|
+
if (sourceMap) {
|
|
47
|
+
for (const name in sourceMap) {
|
|
48
|
+
archiver.addFile(`${name}.js.map`, Buffer.from(sourceMap[name]));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
archiver.addRootDependencyFiles(cli_shared_1.dependencyFileNames, this.logger);
|
|
53
|
+
const archivePath = await archiver.finalise();
|
|
54
|
+
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.archiveCreated(archivePath));
|
|
55
|
+
return { runtimeArchivePath: archivePath, moduleList };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.RuntimeBundler = RuntimeBundler;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InstallationService = void 0;
|
|
4
4
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
-
const
|
|
5
|
+
const egress_1 = require("@forge/egress");
|
|
6
6
|
const lodash_1 = require("lodash");
|
|
7
7
|
const graphql_client_1 = require("../installations/graphql-client");
|
|
8
8
|
const IDENTITY_PRODUCT_NAME = 'identity';
|
|
@@ -75,7 +75,7 @@ class InstallationService {
|
|
|
75
75
|
if (!versions || versions.length === 0)
|
|
76
76
|
return;
|
|
77
77
|
const [{ scopes, egressAddresses }, oldVersion] = versions.map((appEnvironmentVersion) => this.getPermissionsFromAppEnvironmentVersion(appEnvironmentVersion));
|
|
78
|
-
const groupedEgressAddresses =
|
|
78
|
+
const groupedEgressAddresses = egress_1.sortAndGroupEgressPermissionsByDomain(egressAddresses);
|
|
79
79
|
if (!oldVersion) {
|
|
80
80
|
return {
|
|
81
81
|
scopes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-packaging-service.d.ts","sourceRoot":"","sources":["../../src/service/resource-packaging-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,eAAe,EAGf,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKrC,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAeD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,4BAA6B,SAAQ,KAAK;;CAItD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;;CAIpD;AAED,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGnD;AAED,qBAAa,oCAAqC,SAAQ,KAAK;gBACjD,WAAW,EAAE,MAAM;CAGhC;AAED,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAJ1B,eAAe,EAAE,MAAM,QAAQ,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,EACxC,0BAA0B,EAAE,0BAA0B;YAG3D,uBAAuB;IAerC,OAAO,CAAC,wCAAwC;
|
|
1
|
+
{"version":3,"file":"resource-packaging-service.d.ts","sourceRoot":"","sources":["../../src/service/resource-packaging-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,eAAe,EAGf,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKrC,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAeD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,4BAA6B,SAAQ,KAAK;;CAItD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;;CAIpD;AAED,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGnD;AAED,qBAAa,oCAAqC,SAAQ,KAAK;gBACjD,WAAW,EAAE,MAAM;CAGhC;AAED,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAJ1B,eAAe,EAAE,MAAM,QAAQ,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,EACxC,0BAA0B,EAAE,0BAA0B;YAG3D,uBAAuB;IAerC,OAAO,CAAC,wCAAwC;IAQhD,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,iCAAiC;YAM3B,qBAAqB;IAatB,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAiCtG"}
|
|
@@ -62,7 +62,11 @@ class ResourcePackagingService {
|
|
|
62
62
|
}));
|
|
63
63
|
}
|
|
64
64
|
transformRelativeResourcePathsToAbsolute(appDir, resources) {
|
|
65
|
-
return resources.map(({ key, path, resourceType }) => ({
|
|
65
|
+
return resources.map(({ key, path, resourceType }) => ({
|
|
66
|
+
key,
|
|
67
|
+
directory: resourceType === 'nativeUI' ? path : path_1.join(appDir, path),
|
|
68
|
+
resourceType
|
|
69
|
+
}));
|
|
66
70
|
}
|
|
67
71
|
processFile(filePath, content) {
|
|
68
72
|
if (filePath === CUSTOM_UI_ENTRYPOINT) {
|
|
@@ -76,7 +80,7 @@ class ResourcePackagingService {
|
|
|
76
80
|
return content;
|
|
77
81
|
}
|
|
78
82
|
validateResourceContents({ directory, filePaths, resourceType }) {
|
|
79
|
-
if (resourceType === 'customUI') {
|
|
83
|
+
if (resourceType === 'customUI' || resourceType === 'nativeUI') {
|
|
80
84
|
this.assertDirectoryIncludesEntrypoint(directory, filePaths);
|
|
81
85
|
}
|
|
82
86
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.0-next.5",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"postinstall": "node -e \"process.exitCode = fs.existsSync('./out/bin/postinstall.js')\" || node ./out/bin/postinstall.js"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@forge/bundler": "3.0
|
|
22
|
-
"@forge/cli-shared": "3.
|
|
23
|
-
"@forge/
|
|
24
|
-
"@forge/lint": "3.2.
|
|
25
|
-
"@forge/manifest": "4.
|
|
21
|
+
"@forge/bundler": "3.1.0-next.4",
|
|
22
|
+
"@forge/cli-shared": "3.1.0-next.2",
|
|
23
|
+
"@forge/egress": "^1.1.0-next.1",
|
|
24
|
+
"@forge/lint": "3.2.4-next.4",
|
|
25
|
+
"@forge/manifest": "4.2.0-next.1",
|
|
26
26
|
"@forge/util": "1.2.0",
|
|
27
27
|
"ajv": "^6.12.5",
|
|
28
28
|
"archiver": "^5.2.0",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"env-paths": "^2.2.0",
|
|
38
38
|
"fs-extra": "^8.1.0",
|
|
39
39
|
"hidefile": "^3.0.0",
|
|
40
|
+
"keytar": "^7.9.0",
|
|
40
41
|
"latest-version": "^5.1.0",
|
|
41
42
|
"lodash": "^4.17.20",
|
|
42
43
|
"mkdirp": "^1.0.3",
|