nativescript 9.0.4-dev.0 → 9.0.4-dev.1
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/lib/android-tools-info.js +0 -12
- package/lib/base-package-manager.js +0 -7
- package/lib/bootstrap.js +1 -5
- package/lib/bun-package-manager.js +1 -14
- package/lib/color.js +0 -4
- package/lib/commands/add-platform.js +0 -1
- package/lib/commands/apple-login.js +0 -1
- package/lib/commands/appstore-list.js +0 -1
- package/lib/commands/appstore-upload.js +0 -3
- package/lib/commands/build.js +2 -3
- package/lib/commands/clean.js +1 -22
- package/lib/commands/command-base.js +0 -1
- package/lib/commands/config.js +0 -5
- package/lib/commands/create-project.js +0 -6
- package/lib/commands/debug.js +1 -6
- package/lib/commands/deploy.js +2 -3
- package/lib/commands/embedding/embed.js +0 -7
- package/lib/commands/extensibility/install-extension.js +0 -1
- package/lib/commands/extensibility/list-extensions.js +0 -1
- package/lib/commands/extensibility/uninstall-extension.js +0 -1
- package/lib/commands/fonts.js +0 -1
- package/lib/commands/generate-assets.js +0 -1
- package/lib/commands/generate-help.js +0 -1
- package/lib/commands/generate.js +1 -48
- package/lib/commands/hooks/common.js +1 -2
- package/lib/commands/hooks/hooks-lock.js +0 -1
- package/lib/commands/hooks/hooks.js +0 -1
- package/lib/commands/info.js +0 -1
- package/lib/commands/install.js +0 -1
- package/lib/commands/list-platforms.js +0 -1
- package/lib/commands/migrate.js +0 -1
- package/lib/commands/native-add.js +0 -5
- package/lib/commands/platform-clean.js +0 -1
- package/lib/commands/plugin/add-plugin.js +0 -1
- package/lib/commands/plugin/build-plugin.js +0 -1
- package/lib/commands/plugin/create-plugin.js +0 -5
- package/lib/commands/plugin/list-plugins.js +0 -1
- package/lib/commands/plugin/remove-plugin.js +0 -2
- package/lib/commands/plugin/update-plugin.js +0 -1
- package/lib/commands/post-install.js +0 -6
- package/lib/commands/prepare.js +3 -4
- package/lib/commands/preview.js +0 -2
- package/lib/commands/remove-platform.js +0 -1
- package/lib/commands/resources/resources-update.js +0 -2
- package/lib/commands/run.js +0 -1
- package/lib/commands/setup.js +0 -1
- package/lib/commands/start.js +0 -1
- package/lib/commands/test-init.js +0 -4
- package/lib/commands/test.js +2 -9
- package/lib/commands/typings.js +1 -2
- package/lib/commands/update-platform.js +0 -5
- package/lib/commands/update.js +0 -2
- package/lib/commands/widget.js +1 -20
- package/lib/common/bootstrap.js +0 -1
- package/lib/common/child-process.js +0 -3
- package/lib/common/codeGeneration/code-entity.js +0 -1
- package/lib/common/codeGeneration/code-printer.js +0 -1
- package/lib/common/command-params.js +0 -1
- package/lib/common/commands/analytics.js +0 -3
- package/lib/common/commands/autocompletion.js +0 -3
- package/lib/common/commands/device/device-log-stream.js +0 -1
- package/lib/common/commands/device/get-file.js +0 -2
- package/lib/common/commands/device/list-applications.js +0 -1
- package/lib/common/commands/device/list-devices.js +0 -3
- package/lib/common/commands/device/list-files.js +0 -2
- package/lib/common/commands/device/put-file.js +0 -2
- package/lib/common/commands/device/run-application.js +0 -1
- package/lib/common/commands/device/stop-application.js +0 -1
- package/lib/common/commands/device/uninstall-application.js +0 -1
- package/lib/common/commands/doctor.js +2 -3
- package/lib/common/commands/generate-messages.js +0 -1
- package/lib/common/commands/help.js +0 -1
- package/lib/common/commands/package-manager-get.js +0 -1
- package/lib/common/commands/package-manager-set.js +0 -1
- package/lib/common/commands/post-install.js +0 -1
- package/lib/common/commands/preuninstall.js +2 -11
- package/lib/common/commands/proxy/proxy-base.js +0 -4
- package/lib/common/commands/proxy/proxy-clear.js +0 -1
- package/lib/common/commands/proxy/proxy-get.js +0 -1
- package/lib/common/commands/proxy/proxy-set.js +0 -1
- package/lib/common/common-lib.js +0 -1
- package/lib/common/constants.js +0 -11
- package/lib/common/decorators.js +0 -48
- package/lib/common/dispatchers.js +1 -10
- package/lib/common/errors.js +3 -13
- package/lib/common/file-system.js +2 -13
- package/lib/common/header.js +0 -3
- package/lib/common/helpers.js +3 -89
- package/lib/common/host-info.js +0 -4
- package/lib/common/http-client.js +0 -20
- package/lib/common/logger/appenders/cli-appender.js +0 -4
- package/lib/common/logger/appenders/emit-appender.js +0 -4
- package/lib/common/logger/layouts/cli-layout.js +0 -1
- package/lib/common/logger/logger.js +0 -5
- package/lib/common/messages/messages.js +0 -6
- package/lib/common/mobile/android/android-application-manager.js +1 -20
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +0 -1
- package/lib/common/mobile/android/android-debug-bridge.js +0 -6
- package/lib/common/mobile/android/android-device-file-system.js +0 -4
- package/lib/common/mobile/android/android-device-hash-service.js +0 -3
- package/lib/common/mobile/android/android-device.js +0 -8
- package/lib/common/mobile/android/android-emulator-services.js +1 -2
- package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
- package/lib/common/mobile/android/android-log-filter.js +0 -4
- package/lib/common/mobile/android/android-virtual-device-service.js +0 -26
- package/lib/common/mobile/android/device-android-debug-bridge.js +0 -1
- package/lib/common/mobile/android/genymotion/genymotion-service.js +1 -6
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +0 -11
- package/lib/common/mobile/android/logcat-helper.js +0 -13
- package/lib/common/mobile/application-manager-base.js +0 -6
- package/lib/common/mobile/device-emitter.js +0 -4
- package/lib/common/mobile/device-log-emitter.js +0 -1
- package/lib/common/mobile/device-log-provider-base.js +0 -1
- package/lib/common/mobile/device-log-provider.js +0 -23
- package/lib/common/mobile/device-platforms-constants.js +0 -1
- package/lib/common/mobile/emulator-helper.js +0 -3
- package/lib/common/mobile/ios/device/ios-application-manager.js +0 -3
- package/lib/common/mobile/ios/device/ios-device-file-system.js +0 -1
- package/lib/common/mobile/ios/device/ios-device-operations.js +0 -4
- package/lib/common/mobile/ios/device/ios-device.js +0 -4
- package/lib/common/mobile/ios/ios-device-base.js +0 -1
- package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
- package/lib/common/mobile/ios/ios-log-filter.js +0 -1
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +0 -4
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +0 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +0 -6
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +0 -5
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +0 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +0 -1
- package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
- package/lib/common/mobile/log-filter.js +0 -2
- package/lib/common/mobile/logging-levels.js +0 -1
- package/lib/common/mobile/mobile-core/android-device-discovery.js +0 -2
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +0 -3
- package/lib/common/mobile/mobile-core/android-process-service.js +0 -32
- package/lib/common/mobile/mobile-core/device-discovery.js +0 -1
- package/lib/common/mobile/mobile-core/devices-service.js +0 -69
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +0 -2
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +0 -3
- package/lib/common/mobile/mobile-helper.js +0 -1
- package/lib/common/mobile/wp8/wp8-emulator-services.js +0 -1
- package/lib/common/opener.js +0 -1
- package/lib/common/os-info.js +0 -1
- package/lib/common/plist-parser.js +0 -1
- package/lib/common/project-helper.js +0 -1
- package/lib/common/prompter.js +1 -9
- package/lib/common/queue.js +0 -1
- package/lib/common/resource-loader.js +0 -1
- package/lib/common/services/auto-completion-service.js +1 -13
- package/lib/common/services/cancellation.js +1 -2
- package/lib/common/services/commands-service.js +6 -17
- package/lib/common/services/help-service.js +3 -11
- package/lib/common/services/hooks-service.js +0 -13
- package/lib/common/services/ios-notification-service.js +0 -1
- package/lib/common/services/json-file-settings-service.js +0 -6
- package/lib/common/services/lock-service.js +0 -6
- package/lib/common/services/message-contract-generator.js +0 -1
- package/lib/common/services/messages-service.js +0 -1
- package/lib/common/services/micro-templating-service.js +0 -6
- package/lib/common/services/net-service.js +0 -3
- package/lib/common/services/project-files-manager.js +0 -5
- package/lib/common/services/project-files-provider-base.js +0 -1
- package/lib/common/services/proxy-service.js +0 -1
- package/lib/common/services/qr.js +0 -1
- package/lib/common/services/settings-service.js +0 -1
- package/lib/common/services/xcode-select-service.js +0 -1
- package/lib/common/utils.js +0 -1
- package/lib/common/validators/project-name-validator.js +0 -1
- package/lib/common/validators/validation-result.js +0 -1
- package/lib/common/verify-node-version.js +1 -8
- package/lib/common/yok.js +11 -32
- package/lib/config.js +1 -22
- package/lib/constants-provider.js +0 -1
- package/lib/constants.js +0 -53
- package/lib/controllers/build-controller.js +3 -4
- package/lib/controllers/debug-controller.js +3 -8
- package/lib/controllers/deploy-controller.js +0 -1
- package/lib/controllers/migrate-controller.js +4 -90
- package/lib/controllers/platform-controller.js +1 -9
- package/lib/controllers/prepare-controller.js +4 -17
- package/lib/controllers/run-controller.js +1 -17
- package/lib/controllers/update-controller-base.js +0 -1
- package/lib/controllers/update-controller.js +0 -11
- package/lib/data/build-data.js +0 -1
- package/lib/data/controller-data-base.js +0 -1
- package/lib/data/debug-data.js +0 -1
- package/lib/data/platform-data.js +0 -1
- package/lib/data/prepare-data.js +0 -1
- package/lib/data/run-data.js +0 -1
- package/lib/detached-processes/cleanup-js-subprocess.js +2 -8
- package/lib/detached-processes/cleanup-process.js +14 -18
- package/lib/detached-processes/file-log-service.js +1 -2
- package/lib/device-path-provider.js +0 -1
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +0 -7
- package/lib/device-sockets/ios/notification.js +0 -3
- package/lib/device-sockets/ios/socket-request-executor.js +0 -3
- package/lib/helpers/android-bundle-validator-helper.js +1 -2
- package/lib/helpers/deploy-command-helper.js +0 -1
- package/lib/helpers/key-command-helper.js +2 -4
- package/lib/helpers/livesync-command-helper.js +1 -4
- package/lib/helpers/network-connectivity-validator.js +0 -1
- package/lib/helpers/options-track-helper.js +2 -3
- package/lib/helpers/package-path-helper.js +0 -1
- package/lib/helpers/platform-command-helper.js +2 -7
- package/lib/helpers/version-validator-helper.js +0 -1
- package/lib/key-commands/bootstrap.js +2 -3
- package/lib/key-commands/index.js +4 -5
- package/lib/nativescript-cli-lib-bootstrap.js +0 -4
- package/lib/nativescript-cli-lib.js +0 -1
- package/lib/nativescript-cli.js +1 -11
- package/lib/node/pbxproj-dom-xcode.js +0 -1
- package/lib/node/xcode.js +0 -1
- package/lib/node-package-manager.js +1 -11
- package/lib/options.js +119 -144
- package/lib/package-installation-manager.js +1 -8
- package/lib/package-manager.js +0 -2
- package/lib/platform-command-param.js +0 -1
- package/lib/pnpm-package-manager.js +1 -4
- package/lib/project-data.js +0 -12
- package/lib/providers/project-files-provider.js +0 -1
- package/lib/resolvers/livesync-service-resolver.js +0 -1
- package/lib/services/analytics/analytics-broker-process.js +6 -10
- package/lib/services/analytics/analytics-broker.js +1 -2
- package/lib/services/analytics/analytics-service.js +25 -29
- package/lib/services/analytics/google-analytics-provider.js +12 -13
- package/lib/services/analytics-settings-service.js +0 -5
- package/lib/services/android/android-bundle-tool-service.js +0 -1
- package/lib/services/android/gradle-build-args-service.js +0 -3
- package/lib/services/android/gradle-build-service.js +0 -1
- package/lib/services/android/gradle-command-service.js +0 -1
- package/lib/services/android-device-debug-service.js +0 -6
- package/lib/services/android-plugin-build-service.js +2 -31
- package/lib/services/android-project-service.js +4 -71
- package/lib/services/android-resources-migration-service.js +0 -7
- package/lib/services/apple-portal/apple-portal-application-service.js +0 -1
- package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
- package/lib/services/apple-portal/apple-portal-session-service.js +4 -6
- package/lib/services/apple-portal/srp/srp-wrapper.js +1 -4
- package/lib/services/assets-generation/assets-generation-service.js +5 -10
- package/lib/services/build-artifacts-service.js +1 -2
- package/lib/services/build-data-service.js +0 -1
- package/lib/services/build-info-file-service.js +0 -1
- package/lib/services/bundler/bundler-compiler-service.js +1 -68
- package/lib/services/bundler/bundler.js +0 -1
- package/lib/services/cleanup-service.js +9 -13
- package/lib/services/cocoapods-platform-manager.js +0 -9
- package/lib/services/cocoapods-service.js +1 -21
- package/lib/services/debug-data-service.js +0 -1
- package/lib/services/debug-service-base.js +0 -7
- package/lib/services/device/device-install-app-service.js +1 -2
- package/lib/services/doctor-service.js +6 -21
- package/lib/services/extensibility-service.js +0 -8
- package/lib/services/files-hash-service.js +0 -1
- package/lib/services/hmr-status-service.js +0 -2
- package/lib/services/info-service.js +0 -1
- package/lib/services/initialize-service.js +1 -5
- package/lib/services/ios/export-options-plist-service.js +0 -4
- package/lib/services/ios/ios-signing-service.js +10 -7
- package/lib/services/ios/spm-service.js +0 -18
- package/lib/services/ios/xcodebuild-args-service.js +0 -11
- package/lib/services/ios/xcodebuild-command-service.js +0 -1
- package/lib/services/ios/xcodebuild-service.js +1 -2
- package/lib/services/ios-debugger-port-service.js +0 -1
- package/lib/services/ios-device-debug-service.js +0 -1
- package/lib/services/ios-entitlements-service.js +0 -1
- package/lib/services/ios-extensions-service.js +0 -1
- package/lib/services/ios-log-filter.js +0 -20
- package/lib/services/ios-native-target-service.js +4 -6
- package/lib/services/ios-project-service.js +1 -100
- package/lib/services/ios-provision-service.js +0 -3
- package/lib/services/ios-watch-app-service.js +0 -1
- package/lib/services/ip-service.js +0 -2
- package/lib/services/itmstransporter-service.js +0 -1
- package/lib/services/karma-execution.js +0 -2
- package/lib/services/livesync/android-device-livesync-service-base.js +0 -1
- package/lib/services/livesync/android-device-livesync-service.js +0 -2
- package/lib/services/livesync/android-device-livesync-sockets-service.js +0 -3
- package/lib/services/livesync/android-livesync-service.js +0 -1
- package/lib/services/livesync/android-livesync-tool.js +0 -4
- package/lib/services/livesync/device-livesync-service-base.js +0 -2
- package/lib/services/livesync/ios-device-livesync-service.js +0 -7
- package/lib/services/livesync/ios-livesync-service.js +0 -2
- package/lib/services/livesync/livesync-socket.js +0 -1
- package/lib/services/livesync/platform-livesync-service-base.js +0 -5
- package/lib/services/livesync-process-data-service.js +0 -1
- package/lib/services/log-parser-service.js +0 -1
- package/lib/services/log-source-map-service.js +0 -15
- package/lib/services/marking-mode-service.js +5 -8
- package/lib/services/metadata-filtering-service.js +0 -1
- package/lib/services/npm-config-service.js +0 -4
- package/lib/services/pacote-service.js +0 -7
- package/lib/services/performance-service.js +1 -3
- package/lib/services/platform/add-platform-service.js +2 -49
- package/lib/services/platform/platform-validation-service.js +0 -1
- package/lib/services/platform/prepare-native-platform-service.js +2 -5
- package/lib/services/platform-environment-requirements.js +3 -8
- package/lib/services/platform-project-service-base.js +0 -1
- package/lib/services/platforms-data-service.js +0 -1
- package/lib/services/plugins-service.js +2 -20
- package/lib/services/prepare-data-service.js +0 -1
- package/lib/services/project-backup-service.js +0 -4
- package/lib/services/project-changes-service.js +3 -14
- package/lib/services/project-cleanup-service.js +0 -2
- package/lib/services/project-config-service.js +2 -21
- package/lib/services/project-data-service.js +7 -36
- package/lib/services/project-name-service.js +0 -1
- package/lib/services/project-service.js +0 -10
- package/lib/services/project-templates-service.js +2 -3
- package/lib/services/qr-code-terminal-service.js +0 -1
- package/lib/services/require-service.js +0 -1
- package/lib/services/start-service.js +0 -1
- package/lib/services/temp-service.js +0 -3
- package/lib/services/terminal-spinner-service.js +0 -2
- package/lib/services/test-execution-service.js +2 -9
- package/lib/services/test-initialization-service.js +0 -4
- package/lib/services/timeline-profiler-service.js +0 -1
- package/lib/services/user-settings-service.js +0 -1
- package/lib/services/versions-service.js +4 -6
- package/lib/services/watch-ignore-list-service.js +0 -1
- package/lib/services/xcconfig-service.js +0 -2
- package/lib/services/xcproj-service.js +0 -1
- package/lib/shared-event-bus.js +0 -6
- package/lib/sys-info.js +1 -2
- package/lib/tools/config-manipulation/config-transformer.js +0 -12
- package/lib/tools/node-modules/node-modules-builder.js +0 -1
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
- package/lib/yarn-package-manager.js +0 -1
- package/lib/yarn2-package-manager.js +0 -3
- package/package.json +1 -1
|
@@ -15,11 +15,9 @@ const decorators_1 = require("../../common/decorators");
|
|
|
15
15
|
const constants_1 = require("../../constants");
|
|
16
16
|
const yok_1 = require("../../common/yok");
|
|
17
17
|
const package_path_helper_1 = require("../../helpers/package-path-helper");
|
|
18
|
-
/* for specific bundling debugging separate from logger */
|
|
19
18
|
const debugLog = false;
|
|
20
19
|
class BundlerCompilerService extends events_1.EventEmitter {
|
|
21
|
-
constructor($options, $errors, $childProcess, $fs, $hooksService, $hostInfo, $logger, $mobileHelper, $cleanupService, $packageManager, $packageInstallationManager,
|
|
22
|
-
$projectConfigService) {
|
|
20
|
+
constructor($options, $errors, $childProcess, $fs, $hooksService, $hostInfo, $logger, $mobileHelper, $cleanupService, $packageManager, $packageInstallationManager, $projectConfigService) {
|
|
23
21
|
super();
|
|
24
22
|
this.$options = $options;
|
|
25
23
|
this.$errors = $errors;
|
|
@@ -46,7 +44,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
46
44
|
prepareData.watch = true;
|
|
47
45
|
try {
|
|
48
46
|
const childProcess = await this.startBundleProcess(platformData, projectData, prepareData);
|
|
49
|
-
// Handle Vite differently from webpack
|
|
50
47
|
const isVite = this.getBundler() === "vite";
|
|
51
48
|
childProcess.stdout.on("data", function (data) {
|
|
52
49
|
process.stdout.write(data);
|
|
@@ -54,11 +51,8 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
54
51
|
childProcess.stderr.on("data", function (data) {
|
|
55
52
|
process.stderr.write(data);
|
|
56
53
|
});
|
|
57
|
-
// For both Vite and webpack, we wait for the first build to complete
|
|
58
|
-
// Don't resolve immediately for Vite - wait for first IPC message
|
|
59
54
|
childProcess.on("message", (message) => {
|
|
60
55
|
this.$logger.trace(`Message from ${projectData.bundler}`, message);
|
|
61
|
-
// Handle Vite messages
|
|
62
56
|
if (isVite &&
|
|
63
57
|
message &&
|
|
64
58
|
message.emittedFiles) {
|
|
@@ -66,17 +60,14 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
66
60
|
if (debugLog) {
|
|
67
61
|
console.log("Received Vite IPC message:", message);
|
|
68
62
|
}
|
|
69
|
-
// Copy Vite output files directly to platform destination
|
|
70
63
|
const distOutput = path.join(projectData.projectDir, ".ns-vite-build");
|
|
71
64
|
const destDir = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
|
|
72
65
|
if (debugLog) {
|
|
73
66
|
console.log(`Copying from ${distOutput} to ${destDir}.`);
|
|
74
67
|
}
|
|
75
|
-
// Determine which files to copy based on build type and changes
|
|
76
68
|
if (message.buildType === "incremental" &&
|
|
77
69
|
message.emittedFiles &&
|
|
78
70
|
message.emittedFiles.length > 0) {
|
|
79
|
-
// Incremental builds: only copy files that are likely affected by the changes
|
|
80
71
|
const filesToCopy = this.getIncrementalFilesToCopy(message.emittedFiles);
|
|
81
72
|
if (debugLog) {
|
|
82
73
|
console.log("Incremental build - files to copy:", filesToCopy);
|
|
@@ -89,7 +80,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
89
80
|
}
|
|
90
81
|
this.copyViteBundleToNative(distOutput, destDir);
|
|
91
82
|
}
|
|
92
|
-
// Resolve the promise on first build completion
|
|
93
83
|
if (isFirstBundlerWatchCompilation) {
|
|
94
84
|
isFirstBundlerWatchCompilation = false;
|
|
95
85
|
if (debugLog) {
|
|
@@ -97,7 +87,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
97
87
|
}
|
|
98
88
|
resolve(childProcess);
|
|
99
89
|
}
|
|
100
|
-
// Transform Vite message to match webpack format
|
|
101
90
|
const files = message.emittedFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
|
|
102
91
|
const data = {
|
|
103
92
|
files,
|
|
@@ -115,23 +104,14 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
115
104
|
this.emit(constants_1.BUNDLER_COMPILATION_COMPLETE, data);
|
|
116
105
|
return;
|
|
117
106
|
}
|
|
118
|
-
// if we are on webpack5 - we handle HMR in a slightly different way
|
|
119
107
|
if (typeof message === "object" &&
|
|
120
108
|
"version" in message &&
|
|
121
109
|
"type" in message) {
|
|
122
|
-
// first compilation can be ignored because it will be synced regardless
|
|
123
|
-
// handling it here would trigger 2 syncs
|
|
124
110
|
if (isFirstBundlerWatchCompilation) {
|
|
125
111
|
isFirstBundlerWatchCompilation = false;
|
|
126
112
|
resolve(childProcess);
|
|
127
113
|
return;
|
|
128
114
|
}
|
|
129
|
-
// if ((message as IWebpackMessage).type === "hmr-status") {
|
|
130
|
-
// // we pass message through our event-bus to be handled wherever needed
|
|
131
|
-
// // in this case webpack-hmr-status-service listens for this event
|
|
132
|
-
// this.$sharedEventBus.emit("webpack:hmr-status", message);
|
|
133
|
-
// return;
|
|
134
|
-
// }
|
|
135
115
|
return this.handleHMRMessage(message, platformData, projectData, prepareData);
|
|
136
116
|
}
|
|
137
117
|
if (message ===
|
|
@@ -147,7 +127,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
147
127
|
prepareData.hmr ? message.hash : "";
|
|
148
128
|
return;
|
|
149
129
|
}
|
|
150
|
-
// Persist the previousHash value before calling `this.getUpdatedEmittedFiles` as it will modify the expectedHashes object with the current hash
|
|
151
130
|
const previousHash = this.expectedHashes[platformData.platformNameLowerCase];
|
|
152
131
|
let result;
|
|
153
132
|
if (prepareData.hmr) {
|
|
@@ -172,7 +151,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
172
151
|
platform: platformData.platformNameLowerCase,
|
|
173
152
|
};
|
|
174
153
|
this.$logger.trace(`Generated data from ${projectData.bundler} message:`, data);
|
|
175
|
-
// the hash of the compilation is the same as the previous one and there are only hot updates produced
|
|
176
154
|
if (data.hasOnlyHotUpdateFiles && previousHash === message.hash) {
|
|
177
155
|
return;
|
|
178
156
|
}
|
|
@@ -245,9 +223,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
245
223
|
}
|
|
246
224
|
}
|
|
247
225
|
async shouldUsePreserveSymlinksOption() {
|
|
248
|
-
// pnpm does not require symlink (https://github.com/nodejs/node-eps/issues/46#issuecomment-277373566)
|
|
249
|
-
// and it also does not work in some cases.
|
|
250
|
-
// Check https://github.com/NativeScript/nativescript-cli/issues/5259 for more information
|
|
251
226
|
const currentPackageManager = await this.$packageManager.getPackageManagerName();
|
|
252
227
|
const res = currentPackageManager !== constants_1.PackageManagers.pnpm;
|
|
253
228
|
return res;
|
|
@@ -266,7 +241,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
266
241
|
const envData = this.buildEnvData(platformData.platformNameLowerCase, projectData, prepareData);
|
|
267
242
|
const isVite = this.getBundler() === "vite";
|
|
268
243
|
const cliArgs = await this.buildEnvCommandLineParams(envData, platformData, projectData, prepareData);
|
|
269
|
-
// Note: With Vite, we need `--` to prevent vite cli from erroring on unknown options.
|
|
270
244
|
const envParams = isVite
|
|
271
245
|
? [
|
|
272
246
|
`--mode=${prepareData.release ? "production" : "development"}`,
|
|
@@ -334,28 +308,16 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
334
308
|
});
|
|
335
309
|
envData.verbose = envData.verbose || this.$logger.isVerbose();
|
|
336
310
|
envData.production = envData.production || prepareData.release;
|
|
337
|
-
// add the config file name to the env data so the webpack process can read the
|
|
338
|
-
// correct config file when resolving the CLI lib and the config service
|
|
339
|
-
// we are explicitly setting it to false to force using the defaults
|
|
340
311
|
envData.config =
|
|
341
312
|
(_b = (_a = process.env.NATIVESCRIPT_CONFIG_NAME) !== null && _a !== void 0 ? _a : this.$options.config) !== null && _b !== void 0 ? _b : "false";
|
|
342
|
-
// explicitly set the env variable
|
|
343
313
|
process.env.NATIVESCRIPT_CONFIG_NAME = envData.config;
|
|
344
|
-
// The snapshot generation is wrongly located in the Webpack plugin.
|
|
345
|
-
// It should be moved in the Native Prepare of the CLI or a Gradle task in the Runtime.
|
|
346
|
-
// As a workaround, we skip the mksnapshot, xxd and android-ndk calls based on skipNativePrepare.
|
|
347
|
-
// In this way the plugin will prepare only the snapshot JS entry without any native prepare and
|
|
348
|
-
// we will able to execute cloud builds with snapshot without having any local snapshot or Docker setup.
|
|
349
|
-
// TODO: Remove this flag when we remove the native part from the plugin.
|
|
350
314
|
envData.skipSnapshotTools =
|
|
351
315
|
prepareData.nativePrepare && prepareData.nativePrepare.skipNativePrepare;
|
|
352
|
-
// only set sourceMap if not explicitly set through a flag
|
|
353
316
|
if (typeof ((_c = prepareData === null || prepareData === void 0 ? void 0 : prepareData.env) === null || _c === void 0 ? void 0 : _c.sourceMap) === "undefined") {
|
|
354
317
|
if (!prepareData.release) {
|
|
355
318
|
envData.sourceMap = true;
|
|
356
319
|
}
|
|
357
320
|
}
|
|
358
|
-
// convert string to boolean
|
|
359
321
|
if (envData.sourceMap === "true" || envData.sourceMap === "false") {
|
|
360
322
|
envData.sourceMap = envData.sourceMap === "true";
|
|
361
323
|
}
|
|
@@ -376,7 +338,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
376
338
|
}
|
|
377
339
|
else if (this.$hostInfo.isWindows) {
|
|
378
340
|
if (projectData.bundler === "webpack") {
|
|
379
|
-
//TODO: check this use case for webpack5 WEBPACK_PLUGIN_NAME
|
|
380
341
|
const minWebpackPluginWithWinSnapshotsVersion = "1.3.0";
|
|
381
342
|
const installedWebpackPluginVersion = await this.$packageInstallationManager.getInstalledDependencyVersion(constants_1.WEBPACK_PLUGIN_NAME, projectData.projectDir);
|
|
382
343
|
const hasWebpackPluginWithWinSnapshotsSupport = !!installedWebpackPluginVersion
|
|
@@ -410,15 +371,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
410
371
|
}
|
|
411
372
|
getUpdatedEmittedFiles(allEmittedFiles, chunkFiles, nextHash, platform) {
|
|
412
373
|
const currentHash = this.getCurrentHotUpdateHash(allEmittedFiles);
|
|
413
|
-
// This logic is needed as there are already cases when webpack doesn't emit any files physically.
|
|
414
|
-
// We've set noEmitOnErrors in webpack.config.js based on noEmitOnError from tsconfig.json,
|
|
415
|
-
// so webpack doesn't emit any files when noEmitOnErrors: true is set in webpack.config.js and
|
|
416
|
-
// there is a compilation error in the source code. On the other side, hmr generates new hot-update files
|
|
417
|
-
// on every change and the hash of the next hmr update is written inside hot-update.json file.
|
|
418
|
-
// Although webpack doesn't emit any files, hmr hash is still generated. The hash is generated per compilation no matter
|
|
419
|
-
// if files will be emitted or not. This way, the first successful compilation after fixing the compilation error generates
|
|
420
|
-
// a hash that is not the same as the one expected in the latest emitted hot-update.json file.
|
|
421
|
-
// As a result, the hmr chain is broken and the changes are not applied.
|
|
422
374
|
const isHashValid = nextHash
|
|
423
375
|
? this.expectedHashes[platform] === currentHash
|
|
424
376
|
: true;
|
|
@@ -437,7 +389,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
437
389
|
let hotHash;
|
|
438
390
|
const hotUpdateScripts = emittedFiles.filter((x) => x.endsWith(".hot-update.js"));
|
|
439
391
|
if (hotUpdateScripts && hotUpdateScripts.length) {
|
|
440
|
-
// the hash is the same for each hot update in the current compilation
|
|
441
392
|
const hotUpdateName = hotUpdateScripts[0];
|
|
442
393
|
const matcher = /^(.+)\.(.+)\.hot-update/gm;
|
|
443
394
|
const matches = matcher.exec(hotUpdateName);
|
|
@@ -455,7 +406,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
455
406
|
}
|
|
456
407
|
}
|
|
457
408
|
handleHMRMessage(message, platformData, projectData, prepareData) {
|
|
458
|
-
// handle new bundler hmr packets
|
|
459
409
|
this.$logger.trace(`Received message from ${projectData.bundler} process:`, message);
|
|
460
410
|
if (message.type !== "compilation") {
|
|
461
411
|
return;
|
|
@@ -463,7 +413,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
463
413
|
this.$logger.trace(`${capitalizeFirstLetter(projectData.bundler)} build done!`);
|
|
464
414
|
const files = message.data.emittedAssets.map((asset) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, asset));
|
|
465
415
|
const staleFiles = message.data.staleAssets.map((asset) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, asset));
|
|
466
|
-
// extract last hash from emitted filenames
|
|
467
416
|
const lastHash = (() => {
|
|
468
417
|
const absoluteFileNameWithLastHash = files.find((fileName) => fileName.endsWith("hot-update.js"));
|
|
469
418
|
if (!absoluteFileNameWithLastHash) {
|
|
@@ -476,7 +425,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
476
425
|
}
|
|
477
426
|
})();
|
|
478
427
|
if (!files.length) {
|
|
479
|
-
// ignore compilations if no new files are emitted
|
|
480
428
|
return;
|
|
481
429
|
}
|
|
482
430
|
this.emit(constants_1.BUNDLER_COMPILATION_COMPLETE, {
|
|
@@ -540,25 +488,20 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
540
488
|
return this.$projectConfigService.getValue(`bundler`, "webpack");
|
|
541
489
|
}
|
|
542
490
|
copyViteBundleToNative(distOutput, destDir, specificFiles = null) {
|
|
543
|
-
// Clean and copy Vite output to native platform folder
|
|
544
491
|
if (debugLog) {
|
|
545
492
|
console.log(`Copying Vite bundle from "${distOutput}" to "${destDir}".`);
|
|
546
493
|
}
|
|
547
494
|
try {
|
|
548
495
|
if (specificFiles) {
|
|
549
|
-
// Selective mode: only copy specific files (incremental)
|
|
550
496
|
if (debugLog) {
|
|
551
497
|
console.log("Selective copy - copying specific files:", specificFiles);
|
|
552
498
|
}
|
|
553
|
-
// Ensure destination directory exists
|
|
554
499
|
this.$fs.createDirectory(destDir);
|
|
555
|
-
// Copy only the specified files
|
|
556
500
|
for (const file of specificFiles) {
|
|
557
501
|
const srcPath = path.join(distOutput, file);
|
|
558
502
|
const destPath = path.join(destDir, file);
|
|
559
503
|
if (!this.$fs.exists(srcPath))
|
|
560
504
|
continue;
|
|
561
|
-
// create parent dirs
|
|
562
505
|
this.$fs.createDirectory(path.dirname(destPath));
|
|
563
506
|
this.$fs.copyFile(srcPath, destPath);
|
|
564
507
|
if (debugLog) {
|
|
@@ -567,16 +510,13 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
567
510
|
}
|
|
568
511
|
}
|
|
569
512
|
else {
|
|
570
|
-
// Full build mode: clean and copy everything
|
|
571
513
|
if (debugLog) {
|
|
572
514
|
console.log("Full build: Copying all files.");
|
|
573
515
|
}
|
|
574
|
-
// Clean destination directory
|
|
575
516
|
if (this.$fs.exists(destDir)) {
|
|
576
517
|
this.$fs.deleteDirectory(destDir);
|
|
577
518
|
}
|
|
578
519
|
this.$fs.createDirectory(destDir);
|
|
579
|
-
// Copy all files from dist to platform destination
|
|
580
520
|
if (this.$fs.exists(distOutput)) {
|
|
581
521
|
this.copyRecursiveSync(distOutput, destDir);
|
|
582
522
|
}
|
|
@@ -590,12 +530,9 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
590
530
|
}
|
|
591
531
|
}
|
|
592
532
|
getIncrementalFilesToCopy(emittedFiles) {
|
|
593
|
-
// For incremental builds, we need to determine which emitted files are likely affected
|
|
594
|
-
// by the source file changes
|
|
595
533
|
const filesToCopy = [];
|
|
596
534
|
const bundleFiles = emittedFiles.filter((file) => file.endsWith(".mjs") || file.endsWith(".js") || file.endsWith(".map"));
|
|
597
535
|
filesToCopy.push(...bundleFiles);
|
|
598
|
-
// Only copy assets if there are explicit asset-related changes
|
|
599
536
|
const assetFiles = emittedFiles.filter((file) => file.includes("assets/") ||
|
|
600
537
|
file.includes("static/") ||
|
|
601
538
|
file.includes("fonts/") ||
|
|
@@ -603,11 +540,9 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
603
540
|
if (assetFiles.length > 0) {
|
|
604
541
|
filesToCopy.push(...assetFiles);
|
|
605
542
|
}
|
|
606
|
-
// Remove duplicates and return
|
|
607
543
|
return [...new Set(filesToCopy)];
|
|
608
544
|
}
|
|
609
545
|
copyRecursiveSync(src, dest) {
|
|
610
|
-
// Ensure destination exists
|
|
611
546
|
this.$fs.createDirectory(dest);
|
|
612
547
|
const entries = this.$fs.readDirectory(src);
|
|
613
548
|
for (const name of entries) {
|
|
@@ -618,7 +553,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
|
|
|
618
553
|
this.copyRecursiveSync(srcPath, destPath);
|
|
619
554
|
}
|
|
620
555
|
else if (lstats.isFile() || lstats.isSymbolicLink()) {
|
|
621
|
-
// create parent directory (copyFile will also ensure it, but keep explicit)
|
|
622
556
|
this.$fs.createDirectory(path.dirname(destPath));
|
|
623
557
|
this.$fs.copyFile(srcPath, destPath);
|
|
624
558
|
}
|
|
@@ -633,4 +567,3 @@ function capitalizeFirstLetter(val) {
|
|
|
633
567
|
return String(val).charAt(0).toUpperCase() + String(val).slice(1);
|
|
634
568
|
}
|
|
635
569
|
yok_1.injector.register("bundlerCompilerService", BundlerCompilerService);
|
|
636
|
-
//# sourceMappingURL=bundler-compiler-service.js.map
|
|
@@ -20,56 +20,56 @@ class CleanupService {
|
|
|
20
20
|
async addCleanupCommand(commandInfo) {
|
|
21
21
|
const cleanupProcess = await this.getCleanupProcess();
|
|
22
22
|
cleanupProcess.send({
|
|
23
|
-
messageType: "AddCleanCommand"
|
|
23
|
+
messageType: "AddCleanCommand",
|
|
24
24
|
commandInfo,
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
async removeCleanupCommand(commandInfo) {
|
|
28
28
|
const cleanupProcess = await this.getCleanupProcess();
|
|
29
29
|
cleanupProcess.send({
|
|
30
|
-
messageType: "RemoveCleanCommand"
|
|
30
|
+
messageType: "RemoveCleanCommand",
|
|
31
31
|
commandInfo,
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
async addRequest(requestInfo) {
|
|
35
35
|
const cleanupProcess = await this.getCleanupProcess();
|
|
36
36
|
cleanupProcess.send({
|
|
37
|
-
messageType: "AddRequest"
|
|
37
|
+
messageType: "AddRequest",
|
|
38
38
|
requestInfo,
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
async removeRequest(requestInfo) {
|
|
42
42
|
const cleanupProcess = await this.getCleanupProcess();
|
|
43
43
|
cleanupProcess.send({
|
|
44
|
-
messageType: "RemoveRequest"
|
|
44
|
+
messageType: "RemoveRequest",
|
|
45
45
|
requestInfo,
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
async addCleanupDeleteAction(filePath) {
|
|
49
49
|
const cleanupProcess = await this.getCleanupProcess();
|
|
50
50
|
cleanupProcess.send({
|
|
51
|
-
messageType: "AddDeleteFileAction"
|
|
51
|
+
messageType: "AddDeleteFileAction",
|
|
52
52
|
filePath,
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
async removeCleanupDeleteAction(filePath) {
|
|
56
56
|
const cleanupProcess = await this.getCleanupProcess();
|
|
57
57
|
cleanupProcess.send({
|
|
58
|
-
messageType: "RemoveDeleteFileAction"
|
|
58
|
+
messageType: "RemoveDeleteFileAction",
|
|
59
59
|
filePath,
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
async addCleanupJS(jsCommand) {
|
|
63
63
|
const cleanupProcess = await this.getCleanupProcess();
|
|
64
64
|
cleanupProcess.send({
|
|
65
|
-
messageType: "AddJSFileToRequire"
|
|
65
|
+
messageType: "AddJSFileToRequire",
|
|
66
66
|
jsCommand,
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
async removeCleanupJS(jsCommand) {
|
|
70
70
|
const cleanupProcess = await this.getCleanupProcess();
|
|
71
71
|
cleanupProcess.send({
|
|
72
|
-
messageType: "RemoveJSFileToRequire"
|
|
72
|
+
messageType: "RemoveJSFileToRequire",
|
|
73
73
|
jsCommand,
|
|
74
74
|
});
|
|
75
75
|
}
|
|
@@ -92,8 +92,6 @@ class CleanupService {
|
|
|
92
92
|
setShouldDispose(shouldDispose) {
|
|
93
93
|
this.shouldDispose = shouldDispose;
|
|
94
94
|
}
|
|
95
|
-
// TODO: Consider extracting this method to a separate service
|
|
96
|
-
// as it has the same logic as the one used in analytics-service
|
|
97
95
|
getCleanupProcess() {
|
|
98
96
|
return new Promise((resolve, reject) => {
|
|
99
97
|
const cleanupProcessArgs = this.getCleanupProcessArgs();
|
|
@@ -112,12 +110,11 @@ class CleanupService {
|
|
|
112
110
|
clearTimeout(timeoutId);
|
|
113
111
|
if (!isSettled) {
|
|
114
112
|
isSettled = true;
|
|
115
|
-
// In case we throw error here, CLI will break its execution.
|
|
116
113
|
reject(err);
|
|
117
114
|
}
|
|
118
115
|
});
|
|
119
116
|
cleanupProcess.on("message", (data) => {
|
|
120
|
-
if (data === "ProcessReadyToReceive"
|
|
117
|
+
if (data === "ProcessReadyToReceive") {
|
|
121
118
|
clearTimeout(timeoutId);
|
|
122
119
|
if (!isSettled) {
|
|
123
120
|
isSettled = true;
|
|
@@ -166,4 +163,3 @@ __decorate([
|
|
|
166
163
|
(0, decorators_1.cache)()
|
|
167
164
|
], CleanupService.prototype, "getCleanupProcess", null);
|
|
168
165
|
yok_1.injector.register("cleanupService", CleanupService);
|
|
169
|
-
//# sourceMappingURL=cleanup-service.js.map
|
|
@@ -82,7 +82,6 @@ class CocoaPodsPlatformManager {
|
|
|
82
82
|
_.each(allPodfiles, (podfileContent) => {
|
|
83
83
|
const platformMatch = platformRowRegExp.exec(podfileContent);
|
|
84
84
|
const podfilePathMatch = podfilePathRegExp.exec(podfileContent) || [];
|
|
85
|
-
// platform without version -> select it with highest priority
|
|
86
85
|
if (platformMatch && platformMatch[0] && !platformMatch[2]) {
|
|
87
86
|
selectedPlatformData = {
|
|
88
87
|
version: null,
|
|
@@ -91,7 +90,6 @@ class CocoaPodsPlatformManager {
|
|
|
91
90
|
};
|
|
92
91
|
return false;
|
|
93
92
|
}
|
|
94
|
-
// platform with version
|
|
95
93
|
if (platformMatch && platformMatch[0] && platformMatch[2]) {
|
|
96
94
|
if (!selectedPlatformData ||
|
|
97
95
|
semver.gt(semver.coerce(platformMatch[2]), semver.coerce(selectedPlatformData.version))) {
|
|
@@ -106,12 +104,6 @@ class CocoaPodsPlatformManager {
|
|
|
106
104
|
return selectedPlatformData;
|
|
107
105
|
}
|
|
108
106
|
shouldReplacePlatformSection(projectData, oldPodfilePlatformData, currentPodfilePlatformData) {
|
|
109
|
-
// The selected platform should be replaced in the following cases:
|
|
110
|
-
// 1. When the pod file is from App_Resources and the selected platform is not from App_Resources
|
|
111
|
-
// 2. When the pod file is from App_Resources, the selected platform is also from App_Resources
|
|
112
|
-
// and the pod's version is greater than the selected one
|
|
113
|
-
// 3. When the pod file doesn't have platform's version -> `platform :ios`
|
|
114
|
-
// 4. When the pod file has a version greater than the selected platform's version
|
|
115
107
|
const appResourcesPodfilePath = path.join(projectData.getAppResourcesDirectoryPath(), "iOS", constants_1.PODFILE_NAME);
|
|
116
108
|
const isFromAppResources = oldPodfilePlatformData.path !== appResourcesPodfilePath &&
|
|
117
109
|
currentPodfilePlatformData.path === appResourcesPodfilePath;
|
|
@@ -143,4 +135,3 @@ class CocoaPodsPlatformManager {
|
|
|
143
135
|
}
|
|
144
136
|
exports.CocoaPodsPlatformManager = CocoaPodsPlatformManager;
|
|
145
137
|
yok_1.injector.register("cocoaPodsPlatformManager", CocoaPodsPlatformManager);
|
|
146
|
-
//# sourceMappingURL=cocoapods-platform-manager.js.map
|
|
@@ -34,12 +34,6 @@ class CocoaPodsService {
|
|
|
34
34
|
let podTool = this.$config.USE_POD_SANDBOX ? "sandbox-pod" : "pod";
|
|
35
35
|
const args = ["install"];
|
|
36
36
|
if (process.platform === "darwin" && process.arch === "arm64") {
|
|
37
|
-
// check if pod is installed as an x86_64 binary or a native arm64 one
|
|
38
|
-
// we run the following:
|
|
39
|
-
// arch -x86_64 pod --version
|
|
40
|
-
// if it's an arm64 binary, we'll get something like this as a result:
|
|
41
|
-
// arch: posix_spawnp: pod: Bad CPU type in executable
|
|
42
|
-
// in which case, we should run it natively.
|
|
43
37
|
const res = await this.$childProcess
|
|
44
38
|
.exec("arch -x86_64 pod --version", null, {
|
|
45
39
|
showStderr: true,
|
|
@@ -53,11 +47,8 @@ class CocoaPodsService {
|
|
|
53
47
|
podTool = "arch";
|
|
54
48
|
}
|
|
55
49
|
}
|
|
56
|
-
// cocoapods print a lot of non-error information on stderr. Pipe the `stderr` to `stdout`, so we won't polute CLI's stderr output.
|
|
57
50
|
const podInstallResult = await this.$childProcess.spawnFromEvent(podTool, args, "close", { cwd: projectRoot, stdio: ["pipe", process.stdout, process.stdout] }, { throwError: false });
|
|
58
51
|
if (podInstallResult.exitCode !== 0) {
|
|
59
|
-
// https://github.com/CocoaPods/CocoaPods/blob/92aaf0f1120d32f3487960b485fb69fcaf61486c/lib/cocoapods/resolver.rb#L498
|
|
60
|
-
// TODO add article
|
|
61
52
|
const versionResolutionHint = podInstallResult.exitCode === 31
|
|
62
53
|
? `For more information on resolving CocoaPod issues in NativeScript read.`
|
|
63
54
|
: "";
|
|
@@ -89,7 +80,6 @@ ${versionResolutionHint}`);
|
|
|
89
80
|
}
|
|
90
81
|
async applyPodfileArchExclusions(projectData, platformData) {
|
|
91
82
|
const xcodeVersionData = await this.$xcodeSelectService.getXcodeVersion();
|
|
92
|
-
// only apply EXCLUDED_ARCHS workaround on XCode 12
|
|
93
83
|
if (+xcodeVersionData.major !== 12) {
|
|
94
84
|
return;
|
|
95
85
|
}
|
|
@@ -108,7 +98,6 @@ end`.trim();
|
|
|
108
98
|
this.$fs.writeFile(exclusionsPodfile, exclusions);
|
|
109
99
|
}
|
|
110
100
|
await this.applyPodfileToProject("NativeScript-CLI-Architecture-Exclusions", exclusionsPodfile, projectData, platformData);
|
|
111
|
-
// clean up
|
|
112
101
|
this.$fs.deleteFile(exclusionsPodfile);
|
|
113
102
|
}
|
|
114
103
|
async applyPodfileFromExtensions(projectData, platformData) {
|
|
@@ -131,7 +120,6 @@ end`.trim();
|
|
|
131
120
|
podfilePath: path.join(extensionFolderPath, name, constants.PODFILE_NAME),
|
|
132
121
|
}));
|
|
133
122
|
extensionsPodfile.forEach(({ targetName, podfilePath }) => {
|
|
134
|
-
// Remove the data between #Begin Podfile and #EndPodfile
|
|
135
123
|
const regExpToRemove = new RegExp(`${this.getExtensionPodfileHeader(podfilePath, targetName)}[\\s\\S]*?${this.getExtensionPodfileEnd()}`, "mg");
|
|
136
124
|
projectPodFileContent = projectPodFileContent.replace(regExpToRemove, "");
|
|
137
125
|
if (this.$fs.exists(podfilePath)) {
|
|
@@ -158,7 +146,6 @@ end`.trim();
|
|
|
158
146
|
? this.$fs.readText(pathToProjectPodfile).trim()
|
|
159
147
|
: "";
|
|
160
148
|
if (projectPodfileContent.indexOf(podfileContent) === -1) {
|
|
161
|
-
// Remove old occurences of the plugin from the project's Podfile.
|
|
162
149
|
this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
|
|
163
150
|
let finalPodfileContent = this.$fs.exists(pathToProjectPodfile)
|
|
164
151
|
? this.getPodfileContentWithoutTarget(projectData, this.$fs.readText(pathToProjectPodfile))
|
|
@@ -176,7 +163,6 @@ end`.trim();
|
|
|
176
163
|
removePodfileFromProject(moduleName, podfilePath, projectData, projectRoot) {
|
|
177
164
|
if (this.$fs.exists(this.getProjectPodfilePath(projectRoot))) {
|
|
178
165
|
let projectPodFileContent = this.$fs.readText(this.getProjectPodfilePath(projectRoot));
|
|
179
|
-
// Remove the data between #Begin Podfile and #EndPodfile
|
|
180
166
|
const regExpToRemove = new RegExp(`${this.getPluginPodfileHeader(podfilePath)}[\\s\\S]*?${this.getPluginPodfileEnd()}`, "mg");
|
|
181
167
|
projectPodFileContent = projectPodFileContent.replace(regExpToRemove, "");
|
|
182
168
|
projectPodFileContent = this.removePostInstallHook(moduleName, projectPodFileContent);
|
|
@@ -197,7 +183,7 @@ end`.trim();
|
|
|
197
183
|
}
|
|
198
184
|
}
|
|
199
185
|
getPluginPodfilePath(pluginData) {
|
|
200
|
-
const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath("ios"
|
|
186
|
+
const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath("ios");
|
|
201
187
|
const pluginPodFilePath = path.join(pluginPlatformsFolderPath, constants_1.PODFILE_NAME);
|
|
202
188
|
return pluginPodFilePath;
|
|
203
189
|
}
|
|
@@ -233,7 +219,6 @@ end`.trim();
|
|
|
233
219
|
if (_.startsWith(projectPodfileContent, podFileHeader)) {
|
|
234
220
|
projectPodfileContent = projectPodfileContent.substr(podFileHeader.length);
|
|
235
221
|
const podFileFooter = this.getPodfileFooter();
|
|
236
|
-
// Only remove the final end in case the file starts with the podFileHeader
|
|
237
222
|
if (_.endsWith(projectPodfileContent, podFileFooter)) {
|
|
238
223
|
projectPodfileContent = projectPodfileContent.substr(0, projectPodfileContent.length - podFileFooter.length);
|
|
239
224
|
}
|
|
@@ -254,8 +239,6 @@ end`.trim();
|
|
|
254
239
|
return projectPodFileContent;
|
|
255
240
|
}
|
|
256
241
|
getHookBasicFuncNameForPlugin(hookName, pluginName) {
|
|
257
|
-
// nativescript-hook and nativescript_hook should have different names, so replace all _ with ___ first and then replace all special symbols with _
|
|
258
|
-
// This will lead to a clash in case plugins are called nativescript-hook and nativescript___hook
|
|
259
242
|
const replacedPluginName = pluginName
|
|
260
243
|
.replace(/_/g, "___")
|
|
261
244
|
.replace(/[^A-Za-z0-9_]/g, "_");
|
|
@@ -269,7 +252,6 @@ end`.trim();
|
|
|
269
252
|
const newFunctionName = `${this.getHookBasicFuncNameForPlugin(hookName, pluginName)}_${newFunctions.length}`;
|
|
270
253
|
let newDefinition = `def ${newFunctionName}`;
|
|
271
254
|
const rubyFunction = { functionName: newFunctionName };
|
|
272
|
-
// firstGroup is the block parameter, secondGroup is the block parameter name.
|
|
273
255
|
if (firstGroup && secondGroup) {
|
|
274
256
|
newDefinition = `${newDefinition} (${secondGroup})`;
|
|
275
257
|
rubyFunction.functionParameters = secondGroup;
|
|
@@ -280,7 +262,6 @@ end`.trim();
|
|
|
280
262
|
return { replacedContent, newFunctions };
|
|
281
263
|
}
|
|
282
264
|
getPluginPodfileHeader(pluginPodFilePath) {
|
|
283
|
-
// escape special + from the podfile path (pnpm)
|
|
284
265
|
pluginPodFilePath = pluginPodFilePath.replace(/\+/g, "\\+");
|
|
285
266
|
return `# Begin Podfile - ${pluginPodFilePath}`;
|
|
286
267
|
}
|
|
@@ -350,4 +331,3 @@ exports.CocoaPodsService = CocoaPodsService;
|
|
|
350
331
|
CocoaPodsService.PODFILE_POST_INSTALL_SECTION_NAME = "post_install";
|
|
351
332
|
CocoaPodsService.INSTALLER_BLOCK_PARAMETER_NAME = "installer";
|
|
352
333
|
yok_1.injector.register("cocoapodsService", CocoaPodsService);
|
|
353
|
-
//# sourceMappingURL=cocoapods-service.js.map
|
|
@@ -27,12 +27,6 @@ class DebugServiceBase extends events_1.EventEmitter {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
getChromeDebugUrl(debugOptions, port) {
|
|
30
|
-
// corresponds to 55.0.2883 Chrome version
|
|
31
|
-
// SHA is taken from https://chromium.googlesource.com/chromium/src/+/55.0.2883.100
|
|
32
|
-
// This SHA is old and does not support debugging with HMR.
|
|
33
|
-
// In case we want to stick with concrete SHA, get it from one of the tags https://chromium.googlesource.com/chromium/src/
|
|
34
|
-
// IMPORTANT: When you get the SHA, ensure you are using the `parent` commit, not the actual one.
|
|
35
|
-
// Using the actual commit will result in 404 error in the remote serve.
|
|
36
30
|
const commitSHA = debugOptions.devToolsCommit || "02e6bde1bbe34e43b309d4ef774b1168d25fd024";
|
|
37
31
|
const devToolsProtocol = `devtools`;
|
|
38
32
|
let chromeDevToolsPrefix = `${devToolsProtocol}://devtools/remote/serve_file/@${commitSHA}`;
|
|
@@ -48,4 +42,3 @@ class DebugServiceBase extends events_1.EventEmitter {
|
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
44
|
exports.DebugServiceBase = DebugServiceBase;
|
|
51
|
-
//# sourceMappingURL=debug-service-base.js.map
|
|
@@ -21,7 +21,7 @@ class DeviceInstallAppService {
|
|
|
21
21
|
const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
|
|
22
22
|
const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
|
|
23
23
|
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
24
|
-
action: "Deploy"
|
|
24
|
+
action: "Deploy",
|
|
25
25
|
device,
|
|
26
26
|
projectDir: projectData.projectDir,
|
|
27
27
|
});
|
|
@@ -77,4 +77,3 @@ class DeviceInstallAppService {
|
|
|
77
77
|
}
|
|
78
78
|
exports.DeviceInstallAppService = DeviceInstallAppService;
|
|
79
79
|
yok_1.injector.register("deviceInstallAppService", DeviceInstallAppService);
|
|
80
|
-
//# sourceMappingURL=device-install-app-service.js.map
|
|
@@ -52,13 +52,9 @@ class DoctorService {
|
|
|
52
52
|
this.printPackageManagerTip();
|
|
53
53
|
}
|
|
54
54
|
if (!configOptions || configOptions.trackResult) {
|
|
55
|
-
// TODO(Analytics): Consider sending this information to Google Analytics
|
|
56
|
-
// await this.$analyticsService.track("DoctorEnvironmentSetup", hasWarnings ? "incorrect" : "correct");
|
|
57
55
|
}
|
|
58
56
|
if (hasWarnings) {
|
|
59
57
|
this.$logger.info("There seem to be issues with your configuration.");
|
|
60
|
-
// cleanup the cache file as there seems to be issues with the current config
|
|
61
|
-
// all projects need to be rechecked
|
|
62
58
|
this.$fs.deleteFile(this.jsonFileSettingsPath);
|
|
63
59
|
}
|
|
64
60
|
else {
|
|
@@ -72,7 +68,6 @@ class DoctorService {
|
|
|
72
68
|
catch (err) {
|
|
73
69
|
this.$logger.error("Cannot get the latest versions information from npm. Please try again later.");
|
|
74
70
|
}
|
|
75
|
-
// todo: check for deprecated imports from `tns-core-modules`
|
|
76
71
|
this.checkForDeprecatedShortImportsInAppDir(configOptions.projectDir);
|
|
77
72
|
await this.$injector
|
|
78
73
|
.resolve("platformEnvironmentRequirements")
|
|
@@ -85,12 +80,12 @@ class DoctorService {
|
|
|
85
80
|
}
|
|
86
81
|
async runSetupScript() {
|
|
87
82
|
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
88
|
-
action: "Run Setup Script"
|
|
83
|
+
action: "Run Setup Script",
|
|
89
84
|
additionalData: "Starting",
|
|
90
85
|
});
|
|
91
86
|
if (this.$hostInfo.isLinux) {
|
|
92
87
|
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
93
|
-
action: "Run Setup Script"
|
|
88
|
+
action: "Run Setup Script",
|
|
94
89
|
additionalData: "Skipped as OS is Linux",
|
|
95
90
|
});
|
|
96
91
|
return;
|
|
@@ -103,13 +98,13 @@ class DoctorService {
|
|
|
103
98
|
await this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
|
|
104
99
|
}
|
|
105
100
|
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
106
|
-
action: "Run Setup Script"
|
|
101
|
+
action: "Run Setup Script",
|
|
107
102
|
additionalData: "Finished",
|
|
108
103
|
});
|
|
109
104
|
}
|
|
110
105
|
async canExecuteLocalBuild(configuration) {
|
|
111
106
|
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
112
|
-
action: "Check Local Build Setup"
|
|
107
|
+
action: "Check Local Build Setup",
|
|
113
108
|
additionalData: "Starting",
|
|
114
109
|
});
|
|
115
110
|
const sysInfoConfig = {
|
|
@@ -121,11 +116,9 @@ class DoctorService {
|
|
|
121
116
|
const warnings = this.filterInfosByType(infos, doctor_1.constants.WARNING_TYPE_NAME);
|
|
122
117
|
const hasWarnings = warnings.length > 0;
|
|
123
118
|
if (hasWarnings) {
|
|
124
|
-
// cleanup the cache file as there seems to be issues with the current config
|
|
125
|
-
// all projects need to be rechecked
|
|
126
119
|
this.$fs.deleteFile(this.jsonFileSettingsPath);
|
|
127
120
|
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
128
|
-
action: "Check Local Build Setup"
|
|
121
|
+
action: "Check Local Build Setup",
|
|
129
122
|
additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
|
|
130
123
|
});
|
|
131
124
|
this.printInfosCore(infos);
|
|
@@ -135,7 +128,7 @@ class DoctorService {
|
|
|
135
128
|
await this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(sysInfoConfig), infos);
|
|
136
129
|
}
|
|
137
130
|
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
138
|
-
action: "Check Local Build Setup"
|
|
131
|
+
action: "Check Local Build Setup",
|
|
139
132
|
additionalData: `Finished: Is setup correct: ${!hasWarnings}`,
|
|
140
133
|
});
|
|
141
134
|
return !hasWarnings;
|
|
@@ -183,13 +176,6 @@ class DoctorService {
|
|
|
183
176
|
.getFsStats(path.join(pathToTnsCoreModules, entry))
|
|
184
177
|
.isDirectory());
|
|
185
178
|
const stringRegularExpressionsPerDir = coreModulesSubDirs.map((c) => {
|
|
186
|
-
// require("text");
|
|
187
|
-
// require("text/smth");
|
|
188
|
-
// require( "text/smth");
|
|
189
|
-
// require( "text/smth" );
|
|
190
|
-
// import * as text from "text";
|
|
191
|
-
// import { a } from "text";
|
|
192
|
-
// import {a } from "text/abc"
|
|
193
179
|
const subDirPart = `[\"\']${c}[\"\'/]`;
|
|
194
180
|
return `(\\brequire\\s*?\\(\\s*?${subDirPart})|(\\bimport\\b.*?from\\s*?${subDirPart})`;
|
|
195
181
|
});
|
|
@@ -287,4 +273,3 @@ __decorate([
|
|
|
287
273
|
(0, decorators_1.cache)()
|
|
288
274
|
], DoctorService.prototype, "$jsonFileSettingsService", null);
|
|
289
275
|
yok_1.injector.register("doctorService", DoctorService);
|
|
290
|
-
//# sourceMappingURL=doctor-service.js.map
|