@akylas/nativescript-cli 8.7.2 → 8.8.3
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/config/test-deps-versions-generated.json +1 -1
- package/docs/man_pages/project/configuration/native/native-add-java.md +32 -0
- package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
- package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
- package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
- package/docs/man_pages/project/configuration/native/native-add.md +31 -0
- package/docs/man_pages/project/configuration/native/native.md +31 -0
- package/lib/.d.ts +2 -0
- package/lib/android-tools-info.js +9 -20
- package/lib/base-package-manager.js +47 -64
- package/lib/bootstrap.js +8 -0
- package/lib/bun-package-manager.js +65 -88
- package/lib/color.js +2 -2
- package/lib/commands/add-platform.js +14 -30
- package/lib/commands/apple-login.js +18 -29
- package/lib/commands/appstore-list.js +34 -45
- package/lib/commands/appstore-upload.js +55 -68
- package/lib/commands/build.js +57 -86
- package/lib/commands/clean.js +161 -176
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +51 -70
- package/lib/commands/create-project.js +210 -229
- package/lib/commands/debug.js +66 -88
- package/lib/commands/deploy.js +28 -44
- package/lib/commands/embedding/embed.js +72 -0
- package/lib/commands/extensibility/install-extension.js +5 -16
- package/lib/commands/extensibility/list-extensions.js +13 -24
- package/lib/commands/extensibility/uninstall-extension.js +4 -15
- package/lib/commands/fonts.js +30 -41
- package/lib/commands/generate-assets.js +13 -28
- package/lib/commands/generate-help.js +2 -13
- package/lib/commands/generate.js +17 -26
- package/lib/commands/info.js +2 -13
- package/lib/commands/install.js +34 -49
- package/lib/commands/list-platforms.js +14 -25
- package/lib/commands/migrate.js +15 -26
- package/lib/commands/native-add.js +277 -0
- package/lib/commands/platform-clean.js +19 -32
- package/lib/commands/plugin/add-plugin.js +12 -25
- package/lib/commands/plugin/build-plugin.js +34 -45
- package/lib/commands/plugin/create-plugin.js +110 -133
- package/lib/commands/plugin/list-plugins.js +22 -33
- package/lib/commands/plugin/remove-plugin.js +20 -33
- package/lib/commands/plugin/update-plugin.js +20 -33
- package/lib/commands/post-install.js +20 -33
- package/lib/commands/prepare.js +28 -35
- package/lib/commands/preview.js +49 -62
- package/lib/commands/remove-platform.js +7 -18
- package/lib/commands/resources/resources-update.js +13 -26
- package/lib/commands/run.js +55 -76
- package/lib/commands/start.js +6 -19
- package/lib/commands/test-init.js +123 -134
- package/lib/commands/test.js +66 -89
- package/lib/commands/typings.js +126 -142
- package/lib/commands/update-platform.js +22 -35
- package/lib/commands/update.js +30 -43
- package/lib/common/child-process.js +53 -72
- package/lib/common/codeGeneration/code-entity.js +1 -1
- package/lib/common/codeGeneration/code-printer.js +1 -1
- package/lib/common/command-params.js +7 -18
- package/lib/common/commands/analytics.js +27 -40
- package/lib/common/commands/autocompletion.js +39 -56
- package/lib/common/commands/device/device-log-stream.js +12 -23
- package/lib/common/commands/device/get-file.js +22 -33
- package/lib/common/commands/device/list-applications.js +12 -23
- package/lib/common/commands/device/list-devices.js +72 -87
- package/lib/common/commands/device/list-files.js +23 -34
- package/lib/common/commands/device/put-file.js +22 -33
- package/lib/common/commands/device/run-application.js +12 -25
- package/lib/common/commands/device/stop-application.js +11 -22
- package/lib/common/commands/device/uninstall-application.js +6 -17
- package/lib/common/commands/generate-messages.js +17 -28
- package/lib/common/commands/help.js +20 -33
- package/lib/common/commands/package-manager-get.js +6 -17
- package/lib/common/commands/package-manager-set.js +9 -20
- package/lib/common/commands/post-install.js +2 -13
- package/lib/common/commands/preuninstall.js +23 -38
- package/lib/common/commands/proxy/proxy-base.js +8 -19
- package/lib/common/commands/proxy/proxy-clear.js +4 -15
- package/lib/common/commands/proxy/proxy-get.js +3 -14
- package/lib/common/commands/proxy/proxy-set.js +87 -100
- package/lib/common/constants.js +11 -11
- package/lib/common/decorators.js +10 -22
- package/lib/common/dispatchers.js +79 -96
- package/lib/common/errors.js +89 -104
- package/lib/common/file-system.js +106 -127
- package/lib/common/header.js +1 -2
- package/lib/common/helpers.js +149 -178
- package/lib/common/host-info.js +37 -50
- package/lib/common/http-client.js +93 -108
- package/lib/common/logger/appenders/cli-appender.js +1 -2
- package/lib/common/logger/appenders/emit-appender.js +1 -2
- package/lib/common/logger/layouts/cli-layout.js +1 -2
- package/lib/common/logger/logger.js +1 -1
- package/lib/common/mobile/android/android-application-manager.js +121 -142
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
- package/lib/common/mobile/android/android-debug-bridge.js +87 -112
- package/lib/common/mobile/android/android-device-file-system.js +98 -131
- package/lib/common/mobile/android/android-device-hash-service.js +50 -75
- package/lib/common/mobile/android/android-device.js +74 -91
- package/lib/common/mobile/android/android-emulator-services.js +105 -130
- package/lib/common/mobile/android/android-log-filter.js +1 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +76 -94
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
- package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
- package/lib/common/mobile/android/logcat-helper.js +108 -118
- package/lib/common/mobile/application-manager-base.js +84 -107
- package/lib/common/mobile/device-log-provider-base.js +7 -18
- package/lib/common/mobile/emulator-helper.js +1 -0
- package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
- package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
- package/lib/common/mobile/ios/device/ios-device.js +20 -36
- package/lib/common/mobile/ios/ios-device-base.js +58 -81
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
- package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
- package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
- package/lib/common/mobile/mobile-core/devices-service.js +385 -436
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
- package/lib/common/mobile/mobile-helper.js +15 -26
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
- package/lib/common/opener.js +2 -2
- package/lib/common/plist-parser.js +2 -2
- package/lib/common/prompter.js +90 -105
- package/lib/common/queue.js +9 -20
- package/lib/common/services/auto-completion-service.js +39 -52
- package/lib/common/services/cancellation.js +17 -28
- package/lib/common/services/commands-service.js +146 -169
- package/lib/common/services/help-service.js +132 -157
- package/lib/common/services/hooks-service.js +93 -108
- package/lib/common/services/ios-notification-service.js +21 -34
- package/lib/common/services/json-file-settings-service.js +52 -71
- package/lib/common/services/lock-service.js +35 -52
- package/lib/common/services/message-contract-generator.js +35 -46
- package/lib/common/services/micro-templating-service.js +4 -15
- package/lib/common/services/net-service.js +90 -107
- package/lib/common/services/project-files-manager.js +10 -23
- package/lib/common/services/proxy-service.js +13 -24
- package/lib/common/services/qr.js +13 -24
- package/lib/common/services/settings-service.js +1 -1
- package/lib/common/services/xcode-select-service.js +20 -35
- package/lib/common/utils.js +7 -0
- package/lib/common/validators/project-name-validator.js +1 -1
- package/lib/common/validators/validation-result.js +1 -1
- package/lib/common/verify-node-version.js +2 -3
- package/lib/common/yok.js +23 -36
- package/lib/config.js +7 -58
- package/lib/constants.js +24 -24
- package/lib/controllers/build-controller.js +82 -99
- package/lib/controllers/debug-controller.js +107 -128
- package/lib/controllers/deploy-controller.js +17 -22
- package/lib/controllers/migrate-controller.js +727 -800
- package/lib/controllers/platform-controller.js +72 -83
- package/lib/controllers/prepare-controller.js +264 -250
- package/lib/controllers/run-controller.js +392 -406
- package/lib/controllers/update-controller-base.js +16 -29
- package/lib/controllers/update-controller.js +94 -119
- package/lib/data/build-data.js +2 -0
- package/lib/data/prepare-data.js +5 -1
- package/lib/declarations.d.ts +14 -3
- package/lib/definitions/android-plugin-migrator.d.ts +1 -0
- package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
- package/lib/definitions/livesync.d.ts +1 -1
- package/lib/definitions/platform.d.ts +1 -0
- package/lib/definitions/prepare.d.ts +3 -0
- package/lib/definitions/project.d.ts +5 -0
- package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
- package/lib/detached-processes/cleanup-process.js +16 -25
- package/lib/device-path-provider.js +23 -34
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
- package/lib/device-sockets/ios/notification.js +1 -1
- package/lib/device-sockets/ios/socket-request-executor.js +24 -39
- package/lib/helpers/android-bundle-validator-helper.js +1 -1
- package/lib/helpers/deploy-command-helper.js +45 -49
- package/lib/helpers/key-command-helper.js +4 -13
- package/lib/helpers/livesync-command-helper.js +137 -152
- package/lib/helpers/network-connectivity-validator.js +6 -17
- package/lib/helpers/options-track-helper.js +6 -17
- package/lib/helpers/platform-command-helper.js +102 -114
- package/lib/key-commands/index.js +161 -211
- package/lib/nativescript-cli.js +5 -14
- package/lib/node-package-manager.js +81 -104
- package/lib/options.js +12 -14
- package/lib/package-installation-manager.js +130 -165
- package/lib/package-manager.js +63 -86
- package/lib/platform-command-param.js +4 -15
- package/lib/pnpm-package-manager.js +59 -78
- package/lib/project-data.js +5 -2
- package/lib/providers/project-files-provider.js +2 -2
- package/lib/services/analytics/analytics-broker-process.js +13 -22
- package/lib/services/analytics/analytics-broker.js +17 -30
- package/lib/services/analytics/analytics-service.js +161 -198
- package/lib/services/analytics/google-analytics-provider.js +41 -56
- package/lib/services/analytics-settings-service.js +15 -32
- package/lib/services/android/android-bundle-tool-service.js +43 -60
- package/lib/services/android/gradle-build-args-service.js +13 -23
- package/lib/services/android/gradle-build-service.js +34 -47
- package/lib/services/android/gradle-command-service.js +23 -32
- package/lib/services/android-device-debug-service.js +90 -117
- package/lib/services/android-plugin-build-service.js +233 -247
- package/lib/services/android-project-service.js +180 -219
- package/lib/services/android-resources-migration-service.js +51 -64
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
- package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
- package/lib/services/assets-generation/assets-generation-service.js +100 -113
- package/lib/services/build-artifacts-service.js +9 -20
- package/lib/services/build-info-file-service.js +20 -35
- package/lib/services/cleanup-service.js +47 -76
- package/lib/services/cocoapods-service.js +118 -133
- package/lib/services/device/device-install-app-service.js +73 -90
- package/lib/services/doctor-service.js +99 -118
- package/lib/services/extensibility-service.js +81 -100
- package/lib/services/files-hash-service.js +28 -44
- package/lib/services/hmr-status-service.js +1 -1
- package/lib/services/initialize-service.js +37 -50
- package/lib/services/ios/export-options-plist-service.js +38 -51
- package/lib/services/ios/ios-signing-service.js +161 -180
- package/lib/services/ios/spm-service.js +40 -53
- package/lib/services/ios/xcodebuild-args-service.js +77 -94
- package/lib/services/ios/xcodebuild-command-service.js +14 -25
- package/lib/services/ios/xcodebuild-service.js +50 -69
- package/lib/services/ios-debugger-port-service.js +23 -36
- package/lib/services/ios-device-debug-service.js +75 -102
- package/lib/services/ios-entitlements-service.js +31 -42
- package/lib/services/ios-extensions-service.js +18 -29
- package/lib/services/ios-project-service.js +418 -440
- package/lib/services/ios-provision-service.js +108 -129
- package/lib/services/ios-watch-app-service.js +21 -32
- package/lib/services/ip-service.js +38 -53
- package/lib/services/itmstransporter-service.js +129 -152
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
- package/lib/services/livesync/android-device-livesync-service.js +120 -149
- package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -155
- package/lib/services/livesync/android-livesync-service.js +16 -37
- package/lib/services/livesync/android-livesync-tool.js +89 -112
- package/lib/services/livesync/device-livesync-service-base.js +15 -28
- package/lib/services/livesync/ios-device-livesync-service.js +114 -143
- package/lib/services/livesync/ios-livesync-service.js +44 -60
- package/lib/services/livesync/platform-livesync-service-base.js +96 -120
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +33 -43
- package/lib/services/marking-mode-service.js +15 -28
- package/lib/services/npm-config-service.js +1 -1
- package/lib/services/pacote-service.js +49 -64
- package/lib/services/performance-service.js +1 -1
- package/lib/services/platform/add-platform-service.js +53 -69
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +50 -60
- package/lib/services/platform-environment-requirements.js +29 -38
- package/lib/services/plugins-service.js +128 -147
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +129 -139
- package/lib/services/project-cleanup-service.js +64 -77
- package/lib/services/project-config-service.js +71 -80
- package/lib/services/project-data-service.js +116 -139
- package/lib/services/project-name-service.js +28 -43
- package/lib/services/project-service.js +84 -103
- package/lib/services/project-templates-service.js +52 -67
- package/lib/services/start-service.js +41 -59
- package/lib/services/temp-service.js +8 -21
- package/lib/services/terminal-spinner-service.js +13 -24
- package/lib/services/test-execution-service.js +59 -72
- package/lib/services/test-initialization-service.js +2 -2
- package/lib/services/timeline-profiler-service.js +1 -1
- package/lib/services/versions-service.js +119 -138
- package/lib/services/webpack/webpack-compiler-service.js +212 -224
- package/lib/services/xcconfig-service.js +8 -19
- package/lib/services/xcproj-service.js +12 -0
- package/lib/sys-info.js +45 -62
- package/lib/tools/node-modules/node-modules-builder.js +16 -27
- package/lib/yarn-package-manager.js +59 -78
- package/lib/yarn2-package-manager.js +60 -79
- package/package.json +59 -57
- package/vendor/aab-tool/README.txt +1 -1
- package/vendor/aab-tool/bundletool.jar +0 -0
- package/vendor/gradle-app/app/build.gradle +12 -4
- package/vendor/gradle-plugin/build.gradle +12 -4
- package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
- package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
- package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
- package/lib/common/resources/platform-tools/android/linux/adb +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
- package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
- package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.AddPlatformCommand = void 0;
|
|
13
4
|
const command_base_1 = require("./command-base");
|
|
@@ -20,29 +11,22 @@ class AddPlatformCommand extends command_base_1.ValidatePlatformCommandBase {
|
|
|
20
11
|
this.allowedParameters = [];
|
|
21
12
|
this.$projectData.initializeProjectData();
|
|
22
13
|
}
|
|
23
|
-
execute(args) {
|
|
24
|
-
|
|
25
|
-
yield this.$platformCommandHelper.addPlatforms(args, this.$projectData, this.$options.frameworkPath);
|
|
26
|
-
});
|
|
14
|
+
async execute(args) {
|
|
15
|
+
await this.$platformCommandHelper.addPlatforms(args, this.$projectData, this.$options.frameworkPath);
|
|
27
16
|
}
|
|
28
|
-
canExecute(args) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
17
|
+
async canExecute(args) {
|
|
18
|
+
if (!args || args.length === 0) {
|
|
19
|
+
this.$errors.failWithHelp("No platform specified. Please specify a platform to add.");
|
|
20
|
+
}
|
|
21
|
+
let canExecute = true;
|
|
22
|
+
for (const arg of args) {
|
|
23
|
+
this.$platformValidationService.validatePlatform(arg, this.$projectData);
|
|
24
|
+
if (!this.$platformValidationService.isPlatformSupportedForOS(arg, this.$projectData)) {
|
|
25
|
+
this.$errors.fail(`Applications for platform ${arg} cannot be built on this OS`);
|
|
35
26
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (!this.$platformValidationService.isPlatformSupportedForOS(arg, this.$projectData)) {
|
|
40
|
-
this.$errors.fail(`Applications for platform ${arg} cannot be built on this OS`);
|
|
41
|
-
}
|
|
42
|
-
canExecute = yield _super.canExecuteCommandBase.call(this, arg);
|
|
43
|
-
}
|
|
44
|
-
return canExecute;
|
|
45
|
-
});
|
|
27
|
+
canExecute = await super.canExecuteCommandBase(arg);
|
|
28
|
+
}
|
|
29
|
+
return canExecute;
|
|
46
30
|
}
|
|
47
31
|
}
|
|
48
32
|
exports.AddPlatformCommand = AddPlatformCommand;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.AppleLogin = void 0;
|
|
13
4
|
const command_params_1 = require("../common/command-params");
|
|
@@ -24,28 +15,26 @@ class AppleLogin {
|
|
|
24
15
|
new command_params_1.StringCommandParameter(this.$injector),
|
|
25
16
|
];
|
|
26
17
|
}
|
|
27
|
-
execute(args) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
allowEmpty: false,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
let password = args[1];
|
|
36
|
-
if (!password) {
|
|
37
|
-
password = yield this.$prompter.getPassword("Apple ID password");
|
|
38
|
-
}
|
|
39
|
-
const user = yield this.$applePortalSessionService.createUserSession({
|
|
40
|
-
username,
|
|
41
|
-
password,
|
|
18
|
+
async execute(args) {
|
|
19
|
+
let username = args[0];
|
|
20
|
+
if (!username) {
|
|
21
|
+
username = await this.$prompter.getString("Apple ID", {
|
|
22
|
+
allowEmpty: false,
|
|
42
23
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
24
|
+
}
|
|
25
|
+
let password = args[1];
|
|
26
|
+
if (!password) {
|
|
27
|
+
password = await this.$prompter.getPassword("Apple ID password");
|
|
28
|
+
}
|
|
29
|
+
const user = await this.$applePortalSessionService.createUserSession({
|
|
30
|
+
username,
|
|
31
|
+
password,
|
|
48
32
|
});
|
|
33
|
+
if (!user.areCredentialsValid) {
|
|
34
|
+
this.$errors.fail(`Invalid username and password combination. Used '${username}' as the username.`);
|
|
35
|
+
}
|
|
36
|
+
const output = Buffer.from(user.userSessionCookie).toString("base64");
|
|
37
|
+
this.$logger.info(output);
|
|
49
38
|
}
|
|
50
39
|
}
|
|
51
40
|
exports.AppleLogin = AppleLogin;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ListiOSApps = void 0;
|
|
13
4
|
const helpers_1 = require("../common/helpers");
|
|
@@ -31,44 +22,42 @@ class ListiOSApps {
|
|
|
31
22
|
];
|
|
32
23
|
this.$projectData.initializeProjectData();
|
|
33
24
|
}
|
|
34
|
-
execute(args) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
allowEmpty: false,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
if (!password) {
|
|
47
|
-
password = yield this.$prompter.getPassword("Apple ID password");
|
|
48
|
-
}
|
|
49
|
-
const user = yield this.$applePortalSessionService.createUserSession({ username, password }, {
|
|
50
|
-
sessionBase64: this.$options.appleSessionBase64,
|
|
25
|
+
async execute(args) {
|
|
26
|
+
if (!this.$platformValidationService.isPlatformSupportedForOS(this.$devicePlatformsConstants.iOS, this.$projectData)) {
|
|
27
|
+
this.$errors.fail(`Applications for platform ${this.$devicePlatformsConstants.iOS} can not be built on this OS`);
|
|
28
|
+
}
|
|
29
|
+
let username = args[0];
|
|
30
|
+
let password = args[1];
|
|
31
|
+
if (!username) {
|
|
32
|
+
username = await this.$prompter.getString("Apple ID", {
|
|
33
|
+
allowEmpty: false,
|
|
51
34
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
const table = (0, helpers_1.createTable)(["Application Name", "Bundle Identifier", "In Flight Version"], applications.map((application) => {
|
|
61
|
-
const version = (application &&
|
|
62
|
-
application.versionSets &&
|
|
63
|
-
application.versionSets.length &&
|
|
64
|
-
application.versionSets[0].inFlightVersion &&
|
|
65
|
-
application.versionSets[0].inFlightVersion.version) ||
|
|
66
|
-
"";
|
|
67
|
-
return [application.name, application.bundleId, version];
|
|
68
|
-
}));
|
|
69
|
-
this.$logger.info(table.toString());
|
|
70
|
-
}
|
|
35
|
+
}
|
|
36
|
+
if (!password) {
|
|
37
|
+
password = await this.$prompter.getPassword("Apple ID password");
|
|
38
|
+
}
|
|
39
|
+
const user = await this.$applePortalSessionService.createUserSession({ username, password }, {
|
|
40
|
+
sessionBase64: this.$options.appleSessionBase64,
|
|
71
41
|
});
|
|
42
|
+
if (!user.areCredentialsValid) {
|
|
43
|
+
this.$errors.fail(`Invalid username and password combination. Used '${username}' as the username.`);
|
|
44
|
+
}
|
|
45
|
+
const applications = await this.$applePortalApplicationService.getApplications(user);
|
|
46
|
+
if (!applications || !applications.length) {
|
|
47
|
+
this.$logger.info("Seems you don't have any applications yet.");
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const table = (0, helpers_1.createTable)(["Application Name", "Bundle Identifier", "In Flight Version"], applications.map((application) => {
|
|
51
|
+
const version = (application &&
|
|
52
|
+
application.versionSets &&
|
|
53
|
+
application.versionSets.length &&
|
|
54
|
+
application.versionSets[0].inFlightVersion &&
|
|
55
|
+
application.versionSets[0].inFlightVersion.version) ||
|
|
56
|
+
"";
|
|
57
|
+
return [application.name, application.bundleId, version];
|
|
58
|
+
}));
|
|
59
|
+
this.$logger.info(table.toString());
|
|
60
|
+
}
|
|
72
61
|
}
|
|
73
62
|
}
|
|
74
63
|
exports.ListiOSApps = ListiOSApps;
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.PublishIOS = void 0;
|
|
13
4
|
const path = require("path");
|
|
@@ -36,71 +27,67 @@ class PublishIOS {
|
|
|
36
27
|
];
|
|
37
28
|
this.$projectData.initializeProjectData();
|
|
38
29
|
}
|
|
39
|
-
execute(args) {
|
|
30
|
+
async execute(args) {
|
|
40
31
|
var _a;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
requireApplicationSpecificPassword: true,
|
|
52
|
-
});
|
|
53
|
-
if (!user.areCredentialsValid) {
|
|
54
|
-
this.$errors.fail(`Invalid username and password combination. Used '${username}' as the username.`);
|
|
55
|
-
}
|
|
56
|
-
const mobileProvisionIdentifier = (_a = this.$options.provision) !== null && _a !== void 0 ? _a : args[2];
|
|
57
|
-
let ipaFilePath = this.$options.ipa
|
|
58
|
-
? path.resolve(this.$options.ipa)
|
|
59
|
-
: null;
|
|
60
|
-
if (!mobileProvisionIdentifier && !ipaFilePath) {
|
|
61
|
-
this.$logger.warn("No mobile provision identifier set. A default mobile provision will be used. You can set one in app/App_Resources/iOS/build.xcconfig");
|
|
62
|
-
}
|
|
63
|
-
this.$options.release = true;
|
|
64
|
-
if (!ipaFilePath) {
|
|
65
|
-
const platform = this.$devicePlatformsConstants.iOS.toLowerCase();
|
|
66
|
-
if (mobileProvisionIdentifier) {
|
|
67
|
-
this.$logger.info("Building .ipa with the selected mobile provision and/or certificate. " +
|
|
68
|
-
mobileProvisionIdentifier);
|
|
69
|
-
this.$options.forDevice = true;
|
|
70
|
-
this.$options.provision = mobileProvisionIdentifier;
|
|
71
|
-
const buildData = new build_data_1.IOSBuildData(this.$projectData.projectDir, platform, Object.assign(Object.assign({}, this.$options.argv), { watch: false }));
|
|
72
|
-
ipaFilePath = yield this.$buildController.prepareAndBuild(buildData);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
this.$logger.info("No .ipa, mobile provision or certificate set. Perfect! Now we'll build .xcarchive and let Xcode pick the distribution certificate and provisioning profile for you when exporting .ipa for AppStore submission.");
|
|
76
|
-
const buildData = new build_data_1.IOSBuildData(this.$projectData.projectDir, platform, Object.assign(Object.assign({}, this.$options.argv), { buildForAppStore: true, watch: false }));
|
|
77
|
-
ipaFilePath = yield this.$buildController.prepareAndBuild(buildData);
|
|
78
|
-
this.$logger.info(`Export at: ${ipaFilePath}`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
yield this.$itmsTransporterService.upload({
|
|
82
|
-
credentials: { username, password },
|
|
83
|
-
user,
|
|
84
|
-
applicationSpecificPassword: this.$options
|
|
85
|
-
.appleApplicationSpecificPassword,
|
|
86
|
-
ipaFilePath,
|
|
87
|
-
shouldExtractIpa: !!this.$options.ipa,
|
|
88
|
-
verboseLogging: this.$logger.getLevel() === "TRACE",
|
|
89
|
-
teamId: this.$options.teamId,
|
|
90
|
-
});
|
|
32
|
+
await this.$itmsTransporterService.validate(this.$options.appleApplicationSpecificPassword);
|
|
33
|
+
const username = args[0] ||
|
|
34
|
+
(await this.$prompter.getString("Apple ID", { allowEmpty: false }));
|
|
35
|
+
const password = args[1] || (await this.$prompter.getPassword("Apple ID password"));
|
|
36
|
+
const user = await this.$applePortalSessionService.createUserSession({ username, password }, {
|
|
37
|
+
applicationSpecificPassword: this.$options
|
|
38
|
+
.appleApplicationSpecificPassword,
|
|
39
|
+
sessionBase64: this.$options.appleSessionBase64,
|
|
40
|
+
requireInteractiveConsole: true,
|
|
41
|
+
requireApplicationSpecificPassword: true,
|
|
91
42
|
});
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
43
|
+
if (!user.areCredentialsValid) {
|
|
44
|
+
this.$errors.fail(`Invalid username and password combination. Used '${username}' as the username.`);
|
|
45
|
+
}
|
|
46
|
+
const mobileProvisionIdentifier = (_a = this.$options.provision) !== null && _a !== void 0 ? _a : args[2];
|
|
47
|
+
let ipaFilePath = this.$options.ipa
|
|
48
|
+
? path.resolve(this.$options.ipa)
|
|
49
|
+
: null;
|
|
50
|
+
if (!mobileProvisionIdentifier && !ipaFilePath) {
|
|
51
|
+
this.$logger.warn("No mobile provision identifier set. A default mobile provision will be used. You can set one in app/App_Resources/iOS/build.xcconfig");
|
|
52
|
+
}
|
|
53
|
+
this.$options.release = true;
|
|
54
|
+
if (!ipaFilePath) {
|
|
55
|
+
const platform = this.$devicePlatformsConstants.iOS.toLowerCase();
|
|
56
|
+
if (mobileProvisionIdentifier) {
|
|
57
|
+
this.$logger.info("Building .ipa with the selected mobile provision and/or certificate. " +
|
|
58
|
+
mobileProvisionIdentifier);
|
|
59
|
+
this.$options.forDevice = true;
|
|
60
|
+
this.$options.provision = mobileProvisionIdentifier;
|
|
61
|
+
const buildData = new build_data_1.IOSBuildData(this.$projectData.projectDir, platform, { ...this.$options.argv, watch: false });
|
|
62
|
+
ipaFilePath = await this.$buildController.prepareAndBuild(buildData);
|
|
97
63
|
}
|
|
98
|
-
|
|
99
|
-
this.$
|
|
64
|
+
else {
|
|
65
|
+
this.$logger.info("No .ipa, mobile provision or certificate set. Perfect! Now we'll build .xcarchive and let Xcode pick the distribution certificate and provisioning profile for you when exporting .ipa for AppStore submission.");
|
|
66
|
+
const buildData = new build_data_1.IOSBuildData(this.$projectData.projectDir, platform, { ...this.$options.argv, buildForAppStore: true, watch: false });
|
|
67
|
+
ipaFilePath = await this.$buildController.prepareAndBuild(buildData);
|
|
68
|
+
this.$logger.info(`Export at: ${ipaFilePath}`);
|
|
100
69
|
}
|
|
101
|
-
|
|
70
|
+
}
|
|
71
|
+
await this.$itmsTransporterService.upload({
|
|
72
|
+
credentials: { username, password },
|
|
73
|
+
user,
|
|
74
|
+
applicationSpecificPassword: this.$options
|
|
75
|
+
.appleApplicationSpecificPassword,
|
|
76
|
+
ipaFilePath,
|
|
77
|
+
shouldExtractIpa: !!this.$options.ipa,
|
|
78
|
+
verboseLogging: this.$logger.getLevel() === "TRACE",
|
|
79
|
+
teamId: this.$options.teamId,
|
|
102
80
|
});
|
|
103
81
|
}
|
|
82
|
+
async canExecute(args) {
|
|
83
|
+
if (!this.$hostInfo.isDarwin) {
|
|
84
|
+
this.$errors.fail("iOS publishing is only available on macOS.");
|
|
85
|
+
}
|
|
86
|
+
if (!this.$platformValidationService.isPlatformSupportedForOS(this.$devicePlatformsConstants.iOS, this.$projectData)) {
|
|
87
|
+
this.$errors.fail(`Applications for platform ${this.$devicePlatformsConstants.iOS} can not be built on this OS`);
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
104
91
|
}
|
|
105
92
|
exports.PublishIOS = PublishIOS;
|
|
106
93
|
yok_1.injector.registerCommand(["publish|ios", "appstore|upload"], PublishIOS);
|
package/lib/commands/build.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.BuildVisionOsCommand = exports.BuildAndroidCommand = exports.BuildIosCommand = exports.BuildCommandBase = void 0;
|
|
13
4
|
const constants_1 = require("../constants");
|
|
@@ -32,27 +23,26 @@ class BuildCommandBase extends command_base_1.ValidatePlatformCommandBase {
|
|
|
32
23
|
};
|
|
33
24
|
this.$projectData.initializeProjectData();
|
|
34
25
|
}
|
|
35
|
-
executeCore(args) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return outputPath;
|
|
26
|
+
async executeCore(args) {
|
|
27
|
+
const platform = args[0].toLowerCase();
|
|
28
|
+
const buildData = this.$buildDataService.getBuildData(this.$projectData.projectDir, platform, {
|
|
29
|
+
...this.$options.argv,
|
|
30
|
+
buildFilterDevicesArch: false,
|
|
41
31
|
});
|
|
32
|
+
const outputPath = await this.$buildController.prepareAndBuild(buildData);
|
|
33
|
+
return outputPath;
|
|
42
34
|
}
|
|
43
35
|
validatePlatform(platform) {
|
|
44
36
|
if (!this.$platformValidationService.isPlatformSupportedForOS(platform, this.$projectData)) {
|
|
45
37
|
this.$errors.fail(`Applications for platform ${platform} can not be built on this OS`);
|
|
46
38
|
}
|
|
47
39
|
}
|
|
48
|
-
validateArgs(args, platform) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return result;
|
|
55
|
-
});
|
|
40
|
+
async validateArgs(args, platform) {
|
|
41
|
+
if (args.length !== 0) {
|
|
42
|
+
this.$errors.failWithHelp(`The arguments '${args.join(" ")}' are not valid for the current command.`);
|
|
43
|
+
}
|
|
44
|
+
const result = await this.$platformValidationService.validateOptions(this.$options.provision, this.$options.teamId, this.$projectData, platform);
|
|
45
|
+
return result;
|
|
56
46
|
}
|
|
57
47
|
}
|
|
58
48
|
exports.BuildCommandBase = BuildCommandBase;
|
|
@@ -63,32 +53,23 @@ class BuildIosCommand extends BuildCommandBase {
|
|
|
63
53
|
this.$migrateController = $migrateController;
|
|
64
54
|
this.allowedParameters = [];
|
|
65
55
|
}
|
|
66
|
-
execute(args) {
|
|
67
|
-
|
|
68
|
-
yield this.executeCore([this.$devicePlatformsConstants.iOS.toLowerCase()]);
|
|
69
|
-
});
|
|
56
|
+
async execute(args) {
|
|
57
|
+
await this.executeCore([this.$devicePlatformsConstants.iOS.toLowerCase()]);
|
|
70
58
|
}
|
|
71
|
-
canExecute(args) {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
_super.validatePlatform.call(this, platform);
|
|
86
|
-
let canExecute = yield _super.canExecuteCommandBase.call(this, platform);
|
|
87
|
-
if (canExecute) {
|
|
88
|
-
canExecute = yield _super.validateArgs.call(this, args, platform);
|
|
89
|
-
}
|
|
90
|
-
return canExecute;
|
|
91
|
-
});
|
|
59
|
+
async canExecute(args) {
|
|
60
|
+
const platform = this.$devicePlatformsConstants.iOS;
|
|
61
|
+
if (!this.$options.force) {
|
|
62
|
+
await this.$migrateController.validate({
|
|
63
|
+
projectDir: this.$projectData.projectDir,
|
|
64
|
+
platforms: [platform],
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
super.validatePlatform(platform);
|
|
68
|
+
let canExecute = await super.canExecuteCommandBase(platform);
|
|
69
|
+
if (canExecute) {
|
|
70
|
+
canExecute = await super.validateArgs(args, platform);
|
|
71
|
+
}
|
|
72
|
+
return canExecute;
|
|
92
73
|
}
|
|
93
74
|
}
|
|
94
75
|
exports.BuildIosCommand = BuildIosCommand;
|
|
@@ -103,42 +84,34 @@ class BuildAndroidCommand extends BuildCommandBase {
|
|
|
103
84
|
this.$migrateController = $migrateController;
|
|
104
85
|
this.allowedParameters = [];
|
|
105
86
|
}
|
|
106
|
-
execute(args) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
this.$logger.info(constants_1.AndroidAppBundleMessages.ANDROID_APP_BUNDLE_PUBLISH_DOCS_MESSAGE);
|
|
115
|
-
}
|
|
87
|
+
async execute(args) {
|
|
88
|
+
await this.executeCore([
|
|
89
|
+
this.$devicePlatformsConstants.Android.toLowerCase(),
|
|
90
|
+
]);
|
|
91
|
+
if (this.$options.aab) {
|
|
92
|
+
this.$logger.info(constants_1.AndroidAppBundleMessages.ANDROID_APP_BUNDLE_DOCS_MESSAGE);
|
|
93
|
+
if (this.$options.release) {
|
|
94
|
+
this.$logger.info(constants_1.AndroidAppBundleMessages.ANDROID_APP_BUNDLE_PUBLISH_DOCS_MESSAGE);
|
|
116
95
|
}
|
|
117
|
-
}
|
|
96
|
+
}
|
|
118
97
|
}
|
|
119
|
-
canExecute(args) {
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
this.$androidBundleValidatorHelper.validateRuntimeVersion(this.$projectData);
|
|
133
|
-
let canExecute = yield _super.canExecuteCommandBase.call(this, platform);
|
|
134
|
-
if (canExecute) {
|
|
135
|
-
if (this.$options.release && !(0, helpers_1.hasValidAndroidSigning)(this.$options)) {
|
|
136
|
-
this.$errors.failWithHelp(constants_1.ANDROID_RELEASE_BUILD_ERROR_MESSAGE);
|
|
137
|
-
}
|
|
138
|
-
canExecute = yield _super.validateArgs.call(this, args, platform);
|
|
98
|
+
async canExecute(args) {
|
|
99
|
+
const platform = this.$devicePlatformsConstants.Android;
|
|
100
|
+
if (!this.$options.force) {
|
|
101
|
+
await this.$migrateController.validate({
|
|
102
|
+
projectDir: this.$projectData.projectDir,
|
|
103
|
+
platforms: [platform],
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
this.$androidBundleValidatorHelper.validateRuntimeVersion(this.$projectData);
|
|
107
|
+
let canExecute = await super.canExecuteCommandBase(platform);
|
|
108
|
+
if (canExecute) {
|
|
109
|
+
if (this.$options.release && !(0, helpers_1.hasValidAndroidSigning)(this.$options)) {
|
|
110
|
+
this.$errors.failWithHelp(constants_1.ANDROID_RELEASE_BUILD_ERROR_MESSAGE);
|
|
139
111
|
}
|
|
140
|
-
|
|
141
|
-
}
|
|
112
|
+
canExecute = await super.validateArgs(args, platform);
|
|
113
|
+
}
|
|
114
|
+
return canExecute;
|
|
142
115
|
}
|
|
143
116
|
}
|
|
144
117
|
exports.BuildAndroidCommand = BuildAndroidCommand;
|
|
@@ -149,11 +122,9 @@ class BuildVisionOsCommand extends BuildIosCommand {
|
|
|
149
122
|
this.$options = $options;
|
|
150
123
|
this.$migrateController = $migrateController;
|
|
151
124
|
}
|
|
152
|
-
canExecute(args) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
return false;
|
|
156
|
-
});
|
|
125
|
+
async canExecute(args) {
|
|
126
|
+
this.$errors.fail('Building for "visionOS" platform is not supported via the CLI. Please open the project in Xcode and build it from there.');
|
|
127
|
+
return false;
|
|
157
128
|
}
|
|
158
129
|
}
|
|
159
130
|
exports.BuildVisionOsCommand = BuildVisionOsCommand;
|