nativescript 8.9.0-dev.2 → 8.9.0-dev.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/lib/android-tools-info.js +9 -32
- package/lib/base-package-manager.js +47 -71
- package/lib/bootstrap.js +1 -5
- package/lib/bun-package-manager.js +65 -104
- package/lib/color.js +2 -5
- package/lib/commands/add-platform.js +14 -31
- package/lib/commands/apple-login.js +18 -30
- package/lib/commands/appstore-list.js +34 -46
- package/lib/commands/appstore-upload.js +52 -68
- package/lib/commands/build.js +57 -90
- package/lib/commands/clean.js +161 -197
- package/lib/commands/command-base.js +14 -28
- package/lib/commands/config.js +48 -71
- package/lib/commands/create-project.js +210 -235
- package/lib/commands/debug.js +66 -93
- package/lib/commands/deploy.js +30 -47
- package/lib/commands/embedding/embed.js +33 -59
- package/lib/commands/extensibility/install-extension.js +5 -17
- package/lib/commands/extensibility/list-extensions.js +13 -25
- package/lib/commands/extensibility/uninstall-extension.js +4 -16
- package/lib/commands/fonts.js +30 -42
- package/lib/commands/generate-assets.js +13 -29
- package/lib/commands/generate-help.js +2 -14
- package/lib/commands/generate.js +12 -70
- package/lib/commands/info.js +2 -14
- package/lib/commands/install.js +34 -50
- package/lib/commands/list-platforms.js +14 -26
- package/lib/commands/migrate.js +15 -27
- package/lib/commands/native-add.js +23 -51
- package/lib/commands/platform-clean.js +19 -33
- package/lib/commands/plugin/add-plugin.js +12 -26
- package/lib/commands/plugin/build-plugin.js +31 -45
- package/lib/commands/plugin/create-plugin.js +110 -138
- package/lib/commands/plugin/list-plugins.js +22 -34
- package/lib/commands/plugin/remove-plugin.js +20 -35
- package/lib/commands/plugin/update-plugin.js +20 -34
- package/lib/commands/post-install.js +20 -39
- package/lib/commands/prepare.js +22 -39
- package/lib/commands/preview.js +49 -64
- package/lib/commands/remove-platform.js +7 -19
- package/lib/commands/resources/resources-update.js +13 -28
- package/lib/commands/run.js +55 -77
- package/lib/commands/setup.js +0 -1
- package/lib/commands/start.js +6 -20
- package/lib/commands/test-init.js +123 -138
- package/lib/commands/test.js +67 -97
- package/lib/commands/typings.js +126 -143
- package/lib/commands/update-platform.js +22 -40
- package/lib/commands/update.js +30 -45
- package/lib/commands/widget.js +390 -352
- package/lib/common/bootstrap.js +0 -1
- package/lib/common/child-process.js +53 -75
- package/lib/common/codeGeneration/code-entity.js +1 -2
- package/lib/common/codeGeneration/code-printer.js +1 -2
- package/lib/common/command-params.js +7 -19
- package/lib/common/commands/analytics.js +27 -43
- package/lib/common/commands/autocompletion.js +39 -59
- package/lib/common/commands/device/device-log-stream.js +12 -24
- package/lib/common/commands/device/get-file.js +22 -35
- package/lib/common/commands/device/list-applications.js +12 -24
- package/lib/common/commands/device/list-devices.js +72 -90
- package/lib/common/commands/device/list-files.js +23 -36
- package/lib/common/commands/device/put-file.js +22 -35
- package/lib/common/commands/device/run-application.js +12 -26
- package/lib/common/commands/device/stop-application.js +11 -23
- package/lib/common/commands/device/uninstall-application.js +6 -18
- package/lib/common/commands/doctor.js +2 -3
- package/lib/common/commands/generate-messages.js +17 -29
- package/lib/common/commands/help.js +20 -34
- package/lib/common/commands/package-manager-get.js +6 -18
- package/lib/common/commands/package-manager-set.js +9 -21
- package/lib/common/commands/post-install.js +2 -14
- package/lib/common/commands/preuninstall.js +24 -48
- package/lib/common/commands/proxy/proxy-base.js +8 -23
- package/lib/common/commands/proxy/proxy-clear.js +4 -16
- package/lib/common/commands/proxy/proxy-get.js +3 -15
- package/lib/common/commands/proxy/proxy-set.js +87 -101
- package/lib/common/common-lib.js +0 -1
- package/lib/common/constants.js +11 -22
- package/lib/common/decorators.js +10 -70
- package/lib/common/dispatchers.js +80 -106
- package/lib/common/errors.js +91 -116
- package/lib/common/file-system.js +108 -141
- package/lib/common/header.js +1 -5
- package/lib/common/helpers.js +152 -267
- package/lib/common/host-info.js +37 -54
- package/lib/common/http-client.js +93 -128
- package/lib/common/logger/appenders/cli-appender.js +1 -6
- package/lib/common/logger/appenders/emit-appender.js +1 -6
- package/lib/common/logger/layouts/cli-layout.js +1 -3
- package/lib/common/logger/logger.js +4 -9
- package/lib/common/messages/messages.js +0 -6
- package/lib/common/mobile/android/android-application-manager.js +122 -162
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -2
- package/lib/common/mobile/android/android-debug-bridge.js +87 -118
- package/lib/common/mobile/android/android-device-file-system.js +98 -135
- package/lib/common/mobile/android/android-device-hash-service.js +50 -78
- package/lib/common/mobile/android/android-device.js +68 -93
- package/lib/common/mobile/android/android-emulator-services.js +105 -131
- package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
- package/lib/common/mobile/android/android-log-filter.js +1 -5
- package/lib/common/mobile/android/android-virtual-device-service.js +76 -123
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -30
- package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -123
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -92
- package/lib/common/mobile/android/logcat-helper.js +108 -140
- package/lib/common/mobile/application-manager-base.js +84 -113
- 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 +7 -19
- 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 +79 -111
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -106
- package/lib/common/mobile/ios/device/ios-device-operations.js +105 -146
- package/lib/common/mobile/ios/device/ios-device.js +20 -40
- package/lib/common/mobile/ios/ios-device-base.js +58 -82
- 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 +63 -96
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -2
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -95
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -48
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -63
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -36
- 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 +43 -64
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -35
- package/lib/common/mobile/mobile-core/android-process-service.js +143 -214
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -14
- package/lib/common/mobile/mobile-core/devices-service.js +386 -505
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -37
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -65
- package/lib/common/mobile/mobile-helper.js +15 -27
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -53
- package/lib/common/opener.js +2 -3
- 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 +91 -114
- package/lib/common/queue.js +9 -21
- package/lib/common/resource-loader.js +0 -1
- package/lib/common/services/auto-completion-service.js +40 -65
- package/lib/common/services/cancellation.js +17 -29
- package/lib/common/services/commands-service.js +146 -180
- package/lib/common/services/help-service.js +133 -166
- package/lib/common/services/hooks-service.js +93 -121
- package/lib/common/services/ios-notification-service.js +21 -35
- package/lib/common/services/json-file-settings-service.js +52 -77
- package/lib/common/services/lock-service.js +35 -58
- package/lib/common/services/message-contract-generator.js +35 -47
- package/lib/common/services/messages-service.js +0 -1
- package/lib/common/services/micro-templating-service.js +4 -21
- package/lib/common/services/net-service.js +90 -110
- package/lib/common/services/project-files-manager.js +10 -28
- package/lib/common/services/project-files-provider-base.js +0 -1
- package/lib/common/services/proxy-service.js +13 -25
- package/lib/common/services/qr.js +13 -25
- package/lib/common/services/settings-service.js +1 -2
- package/lib/common/services/xcode-select-service.js +20 -36
- package/lib/common/utils.js +2 -3
- package/lib/common/validators/project-name-validator.js +1 -2
- package/lib/common/validators/validation-result.js +1 -2
- package/lib/common/verify-node-version.js +3 -11
- package/lib/common/yok.js +35 -69
- package/lib/config.js +36 -72
- package/lib/constants-provider.js +0 -1
- package/lib/constants.js +24 -77
- package/lib/controllers/build-controller.js +82 -100
- package/lib/controllers/debug-controller.js +107 -133
- package/lib/controllers/deploy-controller.js +15 -24
- package/lib/controllers/migrate-controller.js +723 -884
- package/lib/controllers/platform-controller.js +71 -94
- package/lib/controllers/prepare-controller.js +232 -274
- package/lib/controllers/run-controller.js +397 -427
- package/lib/controllers/update-controller-base.js +16 -30
- package/lib/controllers/update-controller.js +94 -130
- 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 +4 -2
- package/lib/data/run-data.js +0 -1
- package/lib/definitions/project.d.ts +24 -24
- package/lib/detached-processes/cleanup-js-subprocess.js +5 -20
- package/lib/detached-processes/cleanup-process.js +30 -43
- package/lib/detached-processes/file-log-service.js +1 -2
- package/lib/device-path-provider.js +23 -35
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -171
- package/lib/device-sockets/ios/notification.js +1 -4
- package/lib/device-sockets/ios/socket-request-executor.js +24 -42
- package/lib/helpers/android-bundle-validator-helper.js +2 -3
- package/lib/helpers/deploy-command-helper.js +44 -50
- package/lib/helpers/key-command-helper.js +6 -17
- package/lib/helpers/livesync-command-helper.js +137 -155
- package/lib/helpers/network-connectivity-validator.js +6 -18
- package/lib/helpers/options-track-helper.js +7 -19
- package/lib/helpers/package-path-helper.js +0 -1
- package/lib/helpers/platform-command-helper.js +101 -127
- package/lib/helpers/version-validator-helper.js +0 -1
- package/lib/key-commands/bootstrap.js +2 -3
- package/lib/key-commands/index.js +154 -205
- package/lib/nativescript-cli-lib-bootstrap.js +0 -4
- package/lib/nativescript-cli-lib.js +0 -1
- package/lib/nativescript-cli.js +6 -24
- package/lib/node/pbxproj-dom-xcode.js +0 -1
- package/lib/node/xcode.js +0 -1
- package/lib/node-package-manager.js +81 -114
- package/lib/options.js +122 -156
- package/lib/package-installation-manager.js +130 -172
- package/lib/package-manager.js +63 -88
- package/lib/platform-command-param.js +4 -16
- package/lib/pnpm-package-manager.js +59 -81
- package/lib/project-data.js +1 -13
- package/lib/providers/project-files-provider.js +1 -2
- package/lib/resolvers/livesync-service-resolver.js +0 -1
- package/lib/services/analytics/analytics-broker-process.js +19 -32
- package/lib/services/analytics/analytics-broker.js +17 -31
- package/lib/services/analytics/analytics-service.js +170 -210
- package/lib/services/analytics/google-analytics-provider.js +43 -59
- package/lib/services/analytics-settings-service.js +15 -37
- package/lib/services/android/android-bundle-tool-service.js +43 -61
- package/lib/services/android/gradle-build-args-service.js +9 -23
- package/lib/services/android/gradle-build-service.js +22 -36
- package/lib/services/android/gradle-command-service.js +22 -36
- package/lib/services/android-device-debug-service.js +90 -123
- package/lib/services/android-plugin-build-service.js +205 -260
- package/lib/services/android-project-service.js +129 -241
- package/lib/services/android-resources-migration-service.js +51 -71
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -64
- package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
- package/lib/services/apple-portal/apple-portal-session-service.js +197 -218
- package/lib/services/apple-portal/srp/srp-wrapper.js +43 -61
- package/lib/services/assets-generation/assets-generation-service.js +103 -128
- package/lib/services/build-artifacts-service.js +10 -22
- package/lib/services/build-data-service.js +0 -1
- package/lib/services/build-info-file-service.js +20 -36
- package/lib/services/cleanup-service.js +48 -81
- package/lib/services/cocoapods-platform-manager.js +0 -9
- package/lib/services/cocoapods-service.js +112 -153
- 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 +54 -72
- package/lib/services/doctor-service.js +101 -135
- package/lib/services/extensibility-service.js +81 -108
- package/lib/services/files-hash-service.js +26 -44
- package/lib/services/hmr-status-service.js +1 -3
- package/lib/services/info-service.js +0 -1
- package/lib/services/initialize-service.js +37 -54
- package/lib/services/ios/export-options-plist-service.js +38 -55
- package/lib/services/ios/ios-signing-service.js +168 -191
- package/lib/services/ios/spm-service.js +46 -70
- package/lib/services/ios/xcodebuild-args-service.js +77 -103
- package/lib/services/ios/xcodebuild-command-service.js +14 -26
- package/lib/services/ios/xcodebuild-service.js +52 -72
- package/lib/services/ios-debugger-port-service.js +24 -38
- package/lib/services/ios-device-debug-service.js +75 -103
- package/lib/services/ios-entitlements-service.js +31 -43
- package/lib/services/ios-extensions-service.js +18 -30
- 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 +452 -603
- package/lib/services/ios-provision-service.js +108 -132
- package/lib/services/ios-watch-app-service.js +21 -33
- package/lib/services/ip-service.js +38 -55
- package/lib/services/itmstransporter-service.js +129 -153
- package/lib/services/karma-execution.js +0 -2
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -49
- package/lib/services/livesync/android-device-livesync-service.js +120 -151
- package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -155
- package/lib/services/livesync/android-livesync-service.js +14 -36
- package/lib/services/livesync/android-livesync-tool.js +90 -117
- package/lib/services/livesync/device-livesync-service-base.js +15 -30
- package/lib/services/livesync/ios-device-livesync-service.js +114 -150
- package/lib/services/livesync/ios-livesync-service.js +42 -60
- package/lib/services/livesync/livesync-socket.js +0 -1
- package/lib/services/livesync/platform-livesync-service-base.js +94 -124
- package/lib/services/livesync-process-data-service.js +0 -1
- package/lib/services/log-parser-service.js +1 -2
- package/lib/services/log-source-map-service.js +30 -56
- package/lib/services/marking-mode-service.js +17 -33
- package/lib/services/metadata-filtering-service.js +0 -1
- package/lib/services/npm-config-service.js +1 -5
- package/lib/services/pacote-service.js +49 -71
- package/lib/services/performance-service.js +2 -4
- package/lib/services/platform/add-platform-service.js +51 -119
- package/lib/services/platform/platform-validation-service.js +22 -34
- package/lib/services/platform/prepare-native-platform-service.js +49 -65
- package/lib/services/platform-environment-requirements.js +27 -43
- 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 +125 -168
- package/lib/services/prepare-data-service.js +0 -1
- package/lib/services/project-backup-service.js +1 -5
- package/lib/services/project-changes-service.js +124 -152
- package/lib/services/project-cleanup-service.js +64 -79
- package/lib/services/project-config-service.js +73 -102
- package/lib/services/project-data-service.js +108 -154
- package/lib/services/project-name-service.js +28 -44
- package/lib/services/project-service.js +84 -113
- package/lib/services/project-templates-service.js +52 -68
- package/lib/services/qr-code-terminal-service.js +0 -1
- package/lib/services/require-service.js +0 -1
- package/lib/services/start-service.js +41 -60
- package/lib/services/temp-service.js +8 -22
- package/lib/services/terminal-spinner-service.js +15 -28
- package/lib/services/test-execution-service.js +59 -79
- package/lib/services/test-initialization-service.js +2 -6
- package/lib/services/timeline-profiler-service.js +1 -2
- package/lib/services/user-settings-service.js +0 -1
- package/lib/services/versions-service.js +119 -140
- package/lib/services/watch-ignore-list-service.js +0 -1
- package/lib/services/webpack/webpack-compiler-service.js +215 -279
- package/lib/services/xcconfig-service.js +8 -21
- package/lib/services/xcproj-service.js +0 -1
- package/lib/shared-event-bus.js +0 -6
- package/lib/sys-info.js +45 -63
- package/lib/tools/config-manipulation/config-transformer.js +0 -12
- package/lib/tools/node-modules/node-modules-builder.js +16 -28
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
- package/lib/yarn-package-manager.js +59 -79
- package/lib/yarn2-package-manager.js +60 -82
- package/package.json +65 -80
- package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
- package/node_modules/@npmcli/move-file/README.md +0 -69
- package/node_modules/@npmcli/move-file/lib/index.js +0 -185
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
- package/node_modules/@npmcli/move-file/package.json +0 -47
- package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -97
- package/node_modules/balanced-match/index.js +0 -62
- package/node_modules/balanced-match/package.json +0 -48
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -43
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -43
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -68
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
- package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/glob/README.md +0 -378
- package/node_modules/rimraf/node_modules/glob/common.js +0 -238
- package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
- package/node_modules/rimraf/node_modules/glob/package.json +0 -55
- package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
- package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
- package/node_modules/rimraf/package.json +0 -32
- package/node_modules/rimraf/rimraf.js +0 -360
- package/node_modules/stringify-package/LICENSE +0 -13
- package/node_modules/stringify-package/README.md +0 -55
- package/node_modules/stringify-package/index.js +0 -18
- package/node_modules/stringify-package/package.json +0 -38
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
|
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.ProjectDataService = void 0;
|
|
19
10
|
const path = require("path");
|
|
@@ -36,14 +27,12 @@ class ProjectDataService {
|
|
|
36
27
|
this.$injector = $injector;
|
|
37
28
|
this.projectDataCache = {};
|
|
38
29
|
try {
|
|
39
|
-
// add the ProjectData of the default projectDir to the projectData cache
|
|
40
30
|
const projectData = this.$injector.resolve("projectData");
|
|
41
31
|
projectData.initializeProjectData();
|
|
42
32
|
this.defaultProjectDir = projectData.projectDir;
|
|
43
33
|
this.projectDataCache[this.defaultProjectDir] = projectData;
|
|
44
34
|
}
|
|
45
35
|
catch (e) {
|
|
46
|
-
// the CLI is required as a lib from a non-project folder
|
|
47
36
|
}
|
|
48
37
|
}
|
|
49
38
|
get $pluginsService() {
|
|
@@ -72,8 +61,6 @@ class ProjectDataService {
|
|
|
72
61
|
delete projectFileInfo.projectData[ProjectDataService.DEPENDENCIES_KEY_NAME][dependencyName];
|
|
73
62
|
this.$fs.writeJson(projectFileInfo.projectFilePath, projectFileInfo.projectData);
|
|
74
63
|
}
|
|
75
|
-
// TODO: Add tests
|
|
76
|
-
// TODO: Remove $projectData and replace it with $projectDataService.getProjectData
|
|
77
64
|
getProjectData(projectDir) {
|
|
78
65
|
projectDir = projectDir || this.defaultProjectDir;
|
|
79
66
|
this.projectDataCache[projectDir] =
|
|
@@ -90,73 +77,62 @@ class ProjectDataService {
|
|
|
90
77
|
this.projectDataCache[projectDir].initializeProjectDataFromContent(packageJsonContent, projectDir);
|
|
91
78
|
return this.projectDataCache[projectDir];
|
|
92
79
|
}
|
|
93
|
-
getAssetsStructure(opts) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
};
|
|
103
|
-
});
|
|
80
|
+
async getAssetsStructure(opts) {
|
|
81
|
+
const iOSAssetStructure = await this.getIOSAssetsStructure(opts);
|
|
82
|
+
const androidAssetStructure = await this.getAndroidAssetsStructure(opts);
|
|
83
|
+
this.$logger.trace("iOS Assets structure:", JSON.stringify(iOSAssetStructure, null, 2));
|
|
84
|
+
this.$logger.trace("Android Assets structure:", JSON.stringify(androidAssetStructure, null, 2));
|
|
85
|
+
return {
|
|
86
|
+
ios: iOSAssetStructure,
|
|
87
|
+
android: androidAssetStructure,
|
|
88
|
+
};
|
|
104
89
|
}
|
|
105
|
-
getIOSAssetsStructure(opts) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
};
|
|
124
|
-
});
|
|
90
|
+
async getIOSAssetsStructure(opts) {
|
|
91
|
+
const projectDir = opts.projectDir;
|
|
92
|
+
const projectData = this.getProjectData(projectDir);
|
|
93
|
+
const basePath = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants_1.AssetConstants.iOSAssetsDirName);
|
|
94
|
+
const pathToIcons = path.join(basePath, constants_1.AssetConstants.iOSIconsDirName);
|
|
95
|
+
const icons = await this.getIOSAssetSubGroup(pathToIcons);
|
|
96
|
+
const pathToSplashBackgrounds = path.join(basePath, constants_1.AssetConstants.iOSSplashBackgroundsDirName);
|
|
97
|
+
const splashBackgrounds = await this.getIOSAssetSubGroup(pathToSplashBackgrounds);
|
|
98
|
+
const pathToSplashCenterImages = path.join(basePath, constants_1.AssetConstants.iOSSplashCenterImagesDirName);
|
|
99
|
+
const splashCenterImages = await this.getIOSAssetSubGroup(pathToSplashCenterImages);
|
|
100
|
+
const pathToSplashImages = path.join(basePath, constants_1.AssetConstants.iOSSplashImagesDirName);
|
|
101
|
+
const splashImages = await this.getIOSAssetSubGroup(pathToSplashImages);
|
|
102
|
+
return {
|
|
103
|
+
icons,
|
|
104
|
+
splashBackgrounds,
|
|
105
|
+
splashCenterImages,
|
|
106
|
+
splashImages,
|
|
107
|
+
};
|
|
125
108
|
}
|
|
126
109
|
removeNSConfigProperty(projectDir, propertyName) {
|
|
127
110
|
this.$logger.trace(`Removing "${propertyName}" property from nsconfig.`);
|
|
128
111
|
this.updateNsConfigValue(projectDir, null, [propertyName]);
|
|
129
112
|
this.$logger.trace(`"${propertyName}" property successfully removed.`);
|
|
130
113
|
}
|
|
131
|
-
getAndroidAssetsStructure(opts) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
return {
|
|
154
|
-
icons: this.getAndroidAssetSubGroup(content.icons, basePath),
|
|
155
|
-
splashBackgrounds: this.getAndroidAssetSubGroup(content.splashBackgrounds, basePath),
|
|
156
|
-
splashCenterImages: this.getAndroidAssetSubGroup(content.splashCenterImages, basePath),
|
|
157
|
-
splashImages: null,
|
|
158
|
-
};
|
|
159
|
-
});
|
|
114
|
+
async getAndroidAssetsStructure(opts) {
|
|
115
|
+
const projectDir = opts.projectDir;
|
|
116
|
+
const projectData = this.getProjectData(projectDir);
|
|
117
|
+
const pathToAndroidDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.Android);
|
|
118
|
+
const hasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.appResourcesDirectoryPath);
|
|
119
|
+
const basePath = hasMigrated
|
|
120
|
+
? path.join(pathToAndroidDir, constants_1.SRC_DIR, constants_1.MAIN_DIR, constants_1.RESOURCES_DIR)
|
|
121
|
+
: pathToAndroidDir;
|
|
122
|
+
let useLegacy = false;
|
|
123
|
+
try {
|
|
124
|
+
const manifest = this.$fs.readText(path.resolve(basePath, "../AndroidManifest.xml"));
|
|
125
|
+
useLegacy = !manifest.includes(`android:icon="@mipmap/ic_launcher"`);
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
}
|
|
129
|
+
const content = this.getImageDefinitions()[useLegacy ? "android_legacy" : "android"];
|
|
130
|
+
return {
|
|
131
|
+
icons: this.getAndroidAssetSubGroup(content.icons, basePath),
|
|
132
|
+
splashBackgrounds: this.getAndroidAssetSubGroup(content.splashBackgrounds, basePath),
|
|
133
|
+
splashCenterImages: this.getAndroidAssetSubGroup(content.splashCenterImages, basePath),
|
|
134
|
+
splashImages: null,
|
|
135
|
+
};
|
|
160
136
|
}
|
|
161
137
|
getAppExecutableFiles(projectDir) {
|
|
162
138
|
const projectData = this.getProjectData(projectDir);
|
|
@@ -172,8 +148,6 @@ class ProjectDataService {
|
|
|
172
148
|
}
|
|
173
149
|
if (fstat.isDirectory()) {
|
|
174
150
|
if (filePath === pathToProjectNodeModules) {
|
|
175
|
-
// we do not want to get the files from node_modules directory of the project.
|
|
176
|
-
// We'll get here only when you have nativescript.config with appDirectoryPath set to "."
|
|
177
151
|
return false;
|
|
178
152
|
}
|
|
179
153
|
return true;
|
|
@@ -188,9 +162,6 @@ class ProjectDataService {
|
|
|
188
162
|
}
|
|
189
163
|
}
|
|
190
164
|
updateNsConfigValue(projectDir, updateObject, propertiesToRemove) {
|
|
191
|
-
// todo: figure out a way to update js/ts configs
|
|
192
|
-
// most likely needs an ast parser/writer
|
|
193
|
-
// should be delegated to the config service
|
|
194
165
|
const nsConfigPath = path.join(projectDir, constants.CONFIG_FILE_NAME_JS);
|
|
195
166
|
const currentNsConfig = this.getNsConfig(nsConfigPath);
|
|
196
167
|
let newNsConfig = currentNsConfig;
|
|
@@ -223,70 +194,62 @@ class ProjectDataService {
|
|
|
223
194
|
const imageDefinitions = this.$fs.readJson(pathToImageDefinitions);
|
|
224
195
|
return imageDefinitions;
|
|
225
196
|
}
|
|
226
|
-
getIOSAssetSubGroup(dirPath) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
if (
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
.toString()
|
|
245
|
-
.split(constants_1.AssetConstants.sizeDelimiter);
|
|
246
|
-
if (width && height) {
|
|
247
|
-
image.width = +width;
|
|
248
|
-
image.height = +height;
|
|
249
|
-
}
|
|
197
|
+
async getIOSAssetSubGroup(dirPath) {
|
|
198
|
+
const pathToContentJson = path.join(dirPath, constants_1.AssetConstants.iOSResourcesFileName);
|
|
199
|
+
const content = (this.$fs.exists(pathToContentJson) &&
|
|
200
|
+
this.$fs.readJson(pathToContentJson)) || { images: [] };
|
|
201
|
+
const finalContent = { images: [] };
|
|
202
|
+
const imageDefinitions = this.getImageDefinitions().ios;
|
|
203
|
+
_.each(content && content.images, (image) => {
|
|
204
|
+
let foundMatchingDefinition = false;
|
|
205
|
+
if (image.filename) {
|
|
206
|
+
image.path = path.join(dirPath, image.filename);
|
|
207
|
+
}
|
|
208
|
+
if (image.size) {
|
|
209
|
+
const [width, height] = image.size
|
|
210
|
+
.toString()
|
|
211
|
+
.split(constants_1.AssetConstants.sizeDelimiter);
|
|
212
|
+
if (width && height) {
|
|
213
|
+
image.width = +width;
|
|
214
|
+
image.height = +height;
|
|
250
215
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
}
|
|
264
|
-
image.resizeOperation =
|
|
265
|
-
image.resizeOperation || assetItem.resizeOperation;
|
|
266
|
-
image.overlayImageScale =
|
|
267
|
-
image.overlayImageScale || assetItem.overlayImageScale;
|
|
268
|
-
image.scale = image.scale || assetItem.scale;
|
|
269
|
-
image.rgba = assetItem.rgba;
|
|
270
|
-
finalContent.images.push(image);
|
|
271
|
-
// break each
|
|
272
|
-
return false;
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
if (!foundMatchingDefinition) {
|
|
276
|
-
if (image.height && image.width) {
|
|
277
|
-
this.$logger.trace("Missing data for image", image, " in CLI's resource file, but we will try to generate images based on the size from Contents.json");
|
|
278
|
-
finalContent.images.push(image);
|
|
279
|
-
}
|
|
280
|
-
else if (image.filename) {
|
|
281
|
-
this.$logger.warn(`Didn't find a matching image definition for file ${path.join(path.basename(dirPath), image.filename)}. This file will be skipped from resources generation.`);
|
|
282
|
-
}
|
|
283
|
-
else {
|
|
284
|
-
this.$logger.trace(`Unable to detect data for image generation of image`, image);
|
|
216
|
+
}
|
|
217
|
+
_.each(imageDefinitions, (assetSubGroup) => {
|
|
218
|
+
const assetItem = _.find(assetSubGroup, (assetElement) => assetElement.filename === image.filename &&
|
|
219
|
+
path.basename(assetElement.directory) === path.basename(dirPath));
|
|
220
|
+
if (assetItem) {
|
|
221
|
+
foundMatchingDefinition = true;
|
|
222
|
+
if (!image.width || !image.height) {
|
|
223
|
+
image.width = assetItem.width;
|
|
224
|
+
image.height = assetItem.height;
|
|
225
|
+
image.size =
|
|
226
|
+
image.size ||
|
|
227
|
+
`${assetItem.width}${constants_1.AssetConstants.sizeDelimiter}${assetItem.height}`;
|
|
285
228
|
}
|
|
229
|
+
image.resizeOperation =
|
|
230
|
+
image.resizeOperation || assetItem.resizeOperation;
|
|
231
|
+
image.overlayImageScale =
|
|
232
|
+
image.overlayImageScale || assetItem.overlayImageScale;
|
|
233
|
+
image.scale = image.scale || assetItem.scale;
|
|
234
|
+
image.rgba = assetItem.rgba;
|
|
235
|
+
finalContent.images.push(image);
|
|
236
|
+
return false;
|
|
286
237
|
}
|
|
287
238
|
});
|
|
288
|
-
|
|
239
|
+
if (!foundMatchingDefinition) {
|
|
240
|
+
if (image.height && image.width) {
|
|
241
|
+
this.$logger.trace("Missing data for image", image, " in CLI's resource file, but we will try to generate images based on the size from Contents.json");
|
|
242
|
+
finalContent.images.push(image);
|
|
243
|
+
}
|
|
244
|
+
else if (image.filename) {
|
|
245
|
+
this.$logger.warn(`Didn't find a matching image definition for file ${path.join(path.basename(dirPath), image.filename)}. This file will be skipped from resources generation.`);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
this.$logger.trace(`Unable to detect data for image generation of image`, image);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
289
251
|
});
|
|
252
|
+
return finalContent;
|
|
290
253
|
}
|
|
291
254
|
getAndroidAssetSubGroup(assetItems, basePath) {
|
|
292
255
|
const assetSubGroup = {
|
|
@@ -372,16 +335,13 @@ class ProjectDataService {
|
|
|
372
335
|
getRuntimePackage(projectDir, platform) {
|
|
373
336
|
platform = platform.toLowerCase();
|
|
374
337
|
const packageJson = this.$fs.readJson(path.join(projectDir, constants.PACKAGE_JSON_FILE_NAME));
|
|
375
|
-
const runtimeName = platform === "android"
|
|
338
|
+
const runtimeName = platform === "android"
|
|
376
339
|
? constants.TNS_ANDROID_RUNTIME_NAME
|
|
377
340
|
: constants.TNS_IOS_RUNTIME_NAME;
|
|
378
341
|
if (packageJson &&
|
|
379
342
|
packageJson.nativescript &&
|
|
380
343
|
packageJson.nativescript[runtimeName] &&
|
|
381
344
|
packageJson.nativescript[runtimeName].version) {
|
|
382
|
-
// if we have a nativescript key with a runtime version in package.json
|
|
383
|
-
// that means we are dealing with a legacy project, and should respect
|
|
384
|
-
// that information
|
|
385
345
|
return {
|
|
386
346
|
name: runtimeName,
|
|
387
347
|
version: packageJson.nativescript[runtimeName].version,
|
|
@@ -393,19 +353,19 @@ class ProjectDataService {
|
|
|
393
353
|
const runtimePackage = this.$pluginsService
|
|
394
354
|
.getDependenciesFromPackageJson(projectDir)
|
|
395
355
|
.devDependencies.find((d) => {
|
|
396
|
-
if (platform === "ios"
|
|
356
|
+
if (platform === "ios") {
|
|
397
357
|
return [
|
|
398
358
|
constants.SCOPED_IOS_RUNTIME_NAME,
|
|
399
359
|
constants.TNS_IOS_RUNTIME_NAME,
|
|
400
360
|
].includes(d.name);
|
|
401
361
|
}
|
|
402
|
-
else if (platform === "android"
|
|
362
|
+
else if (platform === "android") {
|
|
403
363
|
return [
|
|
404
364
|
constants.SCOPED_ANDROID_RUNTIME_NAME,
|
|
405
365
|
constants.TNS_ANDROID_RUNTIME_NAME,
|
|
406
366
|
].includes(d.name);
|
|
407
367
|
}
|
|
408
|
-
else if (platform === "visionos"
|
|
368
|
+
else if (platform === "visionos") {
|
|
409
369
|
return d.name === constants.SCOPED_VISIONOS_RUNTIME_NAME;
|
|
410
370
|
}
|
|
411
371
|
});
|
|
@@ -413,14 +373,12 @@ class ProjectDataService {
|
|
|
413
373
|
const coerced = semver.coerce(runtimePackage.version);
|
|
414
374
|
const isRange = !!coerced && coerced.version !== runtimePackage.version;
|
|
415
375
|
const isTag = !coerced;
|
|
416
|
-
// in case we are using a local tgz for the runtime or a range like ~8.0.0, ^8.0.0 etc. or a tag like JSC
|
|
417
376
|
if (runtimePackage.version.includes("tgz") || isRange || isTag) {
|
|
418
377
|
try {
|
|
419
378
|
const runtimePackageJsonPath = (0, package_path_helper_1.resolvePackageJSONPath)(runtimePackage.name, {
|
|
420
379
|
paths: [projectDir],
|
|
421
380
|
});
|
|
422
381
|
if (!runtimePackageJsonPath) {
|
|
423
|
-
// caught below
|
|
424
382
|
throw new Error("Runtime package.json not found.");
|
|
425
383
|
}
|
|
426
384
|
runtimePackage.version = this.$fs.readJson(runtimePackageJsonPath).version;
|
|
@@ -437,21 +395,20 @@ class ProjectDataService {
|
|
|
437
395
|
}
|
|
438
396
|
return runtimePackage;
|
|
439
397
|
}
|
|
440
|
-
// default to the scoped runtimes
|
|
441
398
|
this.$logger.trace("Could not find an installed runtime, falling back to default runtimes");
|
|
442
|
-
if (platform === "ios"
|
|
399
|
+
if (platform === "ios") {
|
|
443
400
|
return {
|
|
444
401
|
name: constants.SCOPED_IOS_RUNTIME_NAME,
|
|
445
402
|
version: null,
|
|
446
403
|
};
|
|
447
404
|
}
|
|
448
|
-
else if (platform === "android"
|
|
405
|
+
else if (platform === "android") {
|
|
449
406
|
return {
|
|
450
407
|
name: constants.SCOPED_ANDROID_RUNTIME_NAME,
|
|
451
408
|
version: null,
|
|
452
409
|
};
|
|
453
410
|
}
|
|
454
|
-
else if (platform === "visionos"
|
|
411
|
+
else if (platform === "visionos") {
|
|
455
412
|
return {
|
|
456
413
|
name: constants.SCOPED_VISIONOS_RUNTIME_NAME,
|
|
457
414
|
version: null,
|
|
@@ -463,6 +420,7 @@ class ProjectDataService {
|
|
|
463
420
|
return JSON.stringify(config);
|
|
464
421
|
}
|
|
465
422
|
}
|
|
423
|
+
exports.ProjectDataService = ProjectDataService;
|
|
466
424
|
ProjectDataService.DEPENDENCIES_KEY_NAME = "dependencies";
|
|
467
425
|
__decorate([
|
|
468
426
|
(0, decorators_1.exported)("projectDataService")
|
|
@@ -485,11 +443,9 @@ __decorate([
|
|
|
485
443
|
return projectDir + ":" + platform;
|
|
486
444
|
},
|
|
487
445
|
shouldCache(result) {
|
|
488
|
-
// don't cache coerced versions
|
|
489
446
|
if (result._coerced) {
|
|
490
447
|
return false;
|
|
491
448
|
}
|
|
492
|
-
// only cache if version is defined
|
|
493
449
|
return !!result.version;
|
|
494
450
|
},
|
|
495
451
|
})
|
|
@@ -497,6 +453,4 @@ __decorate([
|
|
|
497
453
|
__decorate([
|
|
498
454
|
(0, decorators_1.exported)("projectDataService")
|
|
499
455
|
], ProjectDataService.prototype, "getNsConfigDefaultContent", null);
|
|
500
|
-
exports.ProjectDataService = ProjectDataService;
|
|
501
456
|
yok_1.injector.register("projectDataService", ProjectDataService);
|
|
502
|
-
//# sourceMappingURL=project-data-service.js.map
|
|
@@ -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.ProjectNameService = void 0;
|
|
13
4
|
const helpers_1 = require("../common/helpers");
|
|
@@ -19,50 +10,43 @@ class ProjectNameService {
|
|
|
19
10
|
this.$logger = $logger;
|
|
20
11
|
this.$prompter = $prompter;
|
|
21
12
|
}
|
|
22
|
-
ensureValidName(projectName, validateOptions) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (!
|
|
32
|
-
|
|
33
|
-
this.$errors.fail("The project name does not start with letter and will fail to build for Android. If You want to create project with this name add --force to the create command.");
|
|
34
|
-
}
|
|
35
|
-
return yield this.promptForNewName("The project name does not start with letter and will fail to build for Android.", projectName, validateOptions);
|
|
13
|
+
async ensureValidName(projectName, validateOptions) {
|
|
14
|
+
if (validateOptions && validateOptions.force) {
|
|
15
|
+
return projectName;
|
|
16
|
+
}
|
|
17
|
+
if (!this.$projectNameValidator.validate(projectName)) {
|
|
18
|
+
return await this.promptForNewName("The project name is invalid.", projectName, validateOptions);
|
|
19
|
+
}
|
|
20
|
+
const userCanInteract = (0, helpers_1.isInteractive)();
|
|
21
|
+
if (!this.checkIfNameStartsWithLetter(projectName)) {
|
|
22
|
+
if (!userCanInteract) {
|
|
23
|
+
this.$errors.fail("The project name does not start with letter and will fail to build for Android. If You want to create project with this name add --force to the create command.");
|
|
36
24
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
25
|
+
return await this.promptForNewName("The project name does not start with letter and will fail to build for Android.", projectName, validateOptions);
|
|
26
|
+
}
|
|
27
|
+
if (projectName.toUpperCase() === "APP") {
|
|
28
|
+
if (!userCanInteract) {
|
|
29
|
+
this.$errors.fail("You cannot build applications named 'app' in Xcode. Consider creating a project with different name. If You want to create project with this name add --force to the create command.");
|
|
42
30
|
}
|
|
43
|
-
return projectName;
|
|
44
|
-
}
|
|
31
|
+
return await this.promptForNewName("You cannot build applications named 'app' in Xcode. Consider creating a project with different name.", projectName, validateOptions);
|
|
32
|
+
}
|
|
33
|
+
return projectName;
|
|
45
34
|
}
|
|
46
35
|
checkIfNameStartsWithLetter(projectName) {
|
|
47
36
|
const startsWithLetterExpression = /^[a-zA-Z]/;
|
|
48
37
|
return startsWithLetterExpression.test(projectName);
|
|
49
38
|
}
|
|
50
|
-
promptForNewName(warningMessage, projectName, validateOptions) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return yield this.ensureValidName(newProjectName, validateOptions);
|
|
57
|
-
});
|
|
39
|
+
async promptForNewName(warningMessage, projectName, validateOptions) {
|
|
40
|
+
if (await this.promptForForceNameConfirm(warningMessage)) {
|
|
41
|
+
return projectName;
|
|
42
|
+
}
|
|
43
|
+
const newProjectName = await this.$prompter.getString("Enter the new project name:");
|
|
44
|
+
return await this.ensureValidName(newProjectName, validateOptions);
|
|
58
45
|
}
|
|
59
|
-
promptForForceNameConfirm(warningMessage) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return yield this.$prompter.confirm("Do you want to create the project with this name?");
|
|
63
|
-
});
|
|
46
|
+
async promptForForceNameConfirm(warningMessage) {
|
|
47
|
+
this.$logger.warn(warningMessage);
|
|
48
|
+
return await this.$prompter.confirm("Do you want to create the project with this name?");
|
|
64
49
|
}
|
|
65
50
|
}
|
|
66
51
|
exports.ProjectNameService = ProjectNameService;
|
|
67
52
|
yok_1.injector.register("projectNameService", ProjectNameService);
|
|
68
|
-
//# sourceMappingURL=project-name-service.js.map
|