nativescript 8.1.5 → 8.2.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.
Files changed (145) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +2 -2
  3. package/lib/base-package-manager.js +3 -2
  4. package/lib/commands/appstore-list.js +1 -1
  5. package/lib/commands/build.js +1 -1
  6. package/lib/commands/clean.js +7 -3
  7. package/lib/commands/create-project.js +2 -2
  8. package/lib/commands/debug.js +3 -3
  9. package/lib/commands/deploy.js +1 -1
  10. package/lib/commands/fonts.js +1 -1
  11. package/lib/commands/generate.js +1 -1
  12. package/lib/commands/plugin/build-plugin.js +2 -0
  13. package/lib/commands/plugin/create-plugin.js +4 -4
  14. package/lib/commands/plugin/list-plugins.js +2 -2
  15. package/lib/commands/post-install.js +1 -1
  16. package/lib/commands/run.js +3 -3
  17. package/lib/commands/test-init.js +1 -1
  18. package/lib/commands/test.js +2 -1
  19. package/lib/commands/typings.js +35 -27
  20. package/lib/common/commands/device/list-devices.js +18 -7
  21. package/lib/common/commands/preuninstall.js +2 -2
  22. package/lib/common/commands/proxy/proxy-set.js +6 -6
  23. package/lib/common/dispatchers.js +1 -1
  24. package/lib/common/errors.js +2 -2
  25. package/lib/common/file-system.js +17 -17
  26. package/lib/common/helpers.js +6 -5
  27. package/lib/common/host-info.js +1 -1
  28. package/lib/common/http-client.js +1 -1
  29. package/lib/common/logger/layouts/cli-layout.js +1 -1
  30. package/lib/common/logger/logger.js +1 -1
  31. package/lib/common/mobile/android/android-application-manager.js +6 -6
  32. package/lib/common/mobile/android/android-debug-bridge.js +4 -4
  33. package/lib/common/mobile/android/android-device-file-system.js +3 -3
  34. package/lib/common/mobile/android/android-device-hash-service.js +4 -4
  35. package/lib/common/mobile/android/android-device.js +1 -1
  36. package/lib/common/mobile/android/android-emulator-services.js +6 -6
  37. package/lib/common/mobile/android/android-virtual-device-service.js +7 -7
  38. package/lib/common/mobile/android/genymotion/genymotion-service.js +3 -3
  39. package/lib/common/mobile/android/genymotion/virtualbox-service.js +2 -2
  40. package/lib/common/mobile/device-log-provider-base.js +1 -1
  41. package/lib/common/mobile/ios/device/ios-application-manager.js +2 -2
  42. package/lib/common/mobile/ios/device/ios-device-operations.js +2 -2
  43. package/lib/common/mobile/ios/device/ios-device.js +1 -1
  44. package/lib/common/mobile/ios/ios-device-base.js +1 -1
  45. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +1 -1
  46. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +3 -3
  47. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +1 -1
  48. package/lib/common/mobile/mobile-core/android-process-service.js +1 -1
  49. package/lib/common/mobile/mobile-core/devices-service.js +22 -20
  50. package/lib/common/services/auto-completion-service.js +3 -3
  51. package/lib/common/services/hooks-service.js +2 -2
  52. package/lib/common/services/json-file-settings-service.js +1 -1
  53. package/lib/common/services/lock-service.js +2 -2
  54. package/lib/common/services/messages-service.js +1 -1
  55. package/lib/common/services/net-service.js +1 -1
  56. package/lib/common/services/qr.js +2 -2
  57. package/lib/common/services/settings-service.js +1 -1
  58. package/lib/common/services/xcode-select-service.js +1 -1
  59. package/lib/common/yok.js +2 -2
  60. package/lib/constants.js +8 -6
  61. package/lib/controllers/build-controller.js +6 -1
  62. package/lib/controllers/company-insights-controller.js +1 -1
  63. package/lib/controllers/debug-controller.js +3 -3
  64. package/lib/controllers/migrate-controller.js +16 -16
  65. package/lib/controllers/platform-controller.js +32 -6
  66. package/lib/controllers/prepare-controller.js +6 -6
  67. package/lib/controllers/preview-app-controller.js +3 -3
  68. package/lib/controllers/run-controller.js +4 -3
  69. package/lib/data/build-data.js +2 -0
  70. package/lib/declarations.d.ts +6 -0
  71. package/lib/definitions/android-plugin-migrator.d.ts +12 -0
  72. package/lib/definitions/build.d.ts +4 -1
  73. package/lib/definitions/gradle.d.ts +1 -0
  74. package/lib/definitions/platform.d.ts +12 -3
  75. package/lib/detached-processes/cleanup-js-subprocess.js +1 -1
  76. package/lib/detached-processes/file-log-service.js +1 -1
  77. package/lib/device-path-provider.js +1 -1
  78. package/lib/nativescript-cli.js +2 -2
  79. package/lib/node-package-manager.js +15 -10
  80. package/lib/options.js +4 -1
  81. package/lib/package-manager.js +17 -17
  82. package/lib/pnpm-package-manager.js +12 -8
  83. package/lib/project-data.js +3 -3
  84. package/lib/services/analytics/analytics-broker.js +1 -1
  85. package/lib/services/analytics/analytics-service.js +5 -5
  86. package/lib/services/analytics/google-analytics-provider.js +2 -2
  87. package/lib/services/analytics-settings-service.js +4 -4
  88. package/lib/services/android/android-bundle-tool-service.js +2 -2
  89. package/lib/services/android/gradle-build-args-service.js +3 -0
  90. package/lib/services/android/gradle-build-service.js +3 -1
  91. package/lib/services/android/gradle-command-service.js +2 -3
  92. package/lib/services/android-device-debug-service.js +3 -3
  93. package/lib/services/android-plugin-build-service.js +33 -13
  94. package/lib/services/android-project-service.js +35 -10
  95. package/lib/services/apple-portal/apple-portal-session-service.js +1 -1
  96. package/lib/services/assets-generation/assets-generation-service.js +2 -2
  97. package/lib/services/cleanup-service.js +2 -2
  98. package/lib/services/cocoapods-service.js +2 -1
  99. package/lib/services/doctor-service.js +3 -3
  100. package/lib/services/extensibility-service.js +4 -4
  101. package/lib/services/files-hash-service.js +1 -1
  102. package/lib/services/hmr-status-service.js +1 -1
  103. package/lib/services/ios-debugger-port-service.js +2 -2
  104. package/lib/services/ios-device-debug-service.js +4 -4
  105. package/lib/services/ios-project-service.js +6 -6
  106. package/lib/services/ios-provision-service.js +3 -3
  107. package/lib/services/ip-service.js +1 -1
  108. package/lib/services/itmstransporter-service.js +3 -3
  109. package/lib/services/karma-execution.js +1 -1
  110. package/lib/services/livesync/android-device-livesync-service.js +2 -2
  111. package/lib/services/livesync/android-livesync-service.js +2 -2
  112. package/lib/services/livesync/device-livesync-service-base.js +2 -2
  113. package/lib/services/livesync/ios-device-livesync-service.js +1 -1
  114. package/lib/services/livesync/ios-livesync-service.js +1 -1
  115. package/lib/services/livesync/platform-livesync-service-base.js +2 -2
  116. package/lib/services/livesync/playground/preview-app-files-service.js +1 -1
  117. package/lib/services/livesync/playground/preview-qr-code-service.js +1 -1
  118. package/lib/services/log-parser-service.js +1 -1
  119. package/lib/services/log-source-map-service.js +1 -1
  120. package/lib/services/pacote-service.js +1 -1
  121. package/lib/services/performance-service.js +1 -1
  122. package/lib/services/platform/add-platform-service.js +1 -1
  123. package/lib/services/platform/prepare-native-platform-service.js +2 -2
  124. package/lib/services/platform-environment-requirements.js +1 -1
  125. package/lib/services/plugins-service.js +2 -2
  126. package/lib/services/project-changes-service.js +2 -2
  127. package/lib/services/project-cleanup-service.js +3 -1
  128. package/lib/services/project-config-service.js +6 -6
  129. package/lib/services/project-data-service.js +9 -9
  130. package/lib/services/project-name-service.js +1 -1
  131. package/lib/services/project-service.js +7 -7
  132. package/lib/services/project-templates-service.js +1 -1
  133. package/lib/services/test-execution-service.js +1 -1
  134. package/lib/services/test-initialization-service.js +2 -2
  135. package/lib/services/webpack/webpack-compiler-service.js +6 -5
  136. package/lib/services/webpack/webpack.d.ts +1 -1
  137. package/lib/sys-info.js +5 -5
  138. package/lib/tools/node-modules/node-modules-builder.js +2 -2
  139. package/lib/tools/node-modules/node-modules-dependencies-builder.js +13 -6
  140. package/lib/yarn-package-manager.js +13 -8
  141. package/package.json +6 -6
  142. package/vendor/aab-tool/README.txt +1 -1
  143. package/vendor/aab-tool/bundletool.jar +0 -0
  144. package/vendor/gradle-plugin/build.gradle +127 -34
  145. package/vendor/gradle-plugin/gradle.properties +2 -0
@@ -23,13 +23,14 @@ const xml2js_1 = require("xml2js");
23
23
  const yok_1 = require("../common/yok");
24
24
  const _ = require("lodash");
25
25
  class AndroidPluginBuildService {
26
- constructor($fs, $childProcess, $hostInfo, $androidToolsInfo, $logger, $packageManager, $projectDataService, $devicePlatformsConstants, $errors, $filesHashService, $hooksService, $injector, $watchIgnoreListService) {
26
+ constructor($fs, $childProcess, $hostInfo, $androidToolsInfo, $logger, $packageManager, $projectData, $projectDataService, $devicePlatformsConstants, $errors, $filesHashService, $hooksService, $injector, $watchIgnoreListService) {
27
27
  this.$fs = $fs;
28
28
  this.$childProcess = $childProcess;
29
29
  this.$hostInfo = $hostInfo;
30
30
  this.$androidToolsInfo = $androidToolsInfo;
31
31
  this.$logger = $logger;
32
32
  this.$packageManager = $packageManager;
33
+ this.$projectData = $projectData;
33
34
  this.$projectDataService = $projectDataService;
34
35
  this.$devicePlatformsConstants = $devicePlatformsConstants;
35
36
  this.$errors = $errors;
@@ -88,7 +89,7 @@ class AndroidPluginBuildService {
88
89
  }
89
90
  getXml(stringContent) {
90
91
  return __awaiter(this, void 0, void 0, function* () {
91
- const promise = new Promise((resolve, reject) => xml2js_1.parseString(stringContent, (err, result) => {
92
+ const promise = new Promise((resolve, reject) => (0, xml2js_1.parseString)(stringContent, (err, result) => {
92
93
  if (err) {
93
94
  reject(err);
94
95
  }
@@ -147,7 +148,7 @@ class AndroidPluginBuildService {
147
148
  this.validateOptions(options);
148
149
  const manifestFilePath = this.getManifest(options.platformsAndroidDirPath);
149
150
  const androidSourceDirectories = this.getAndroidSourceDirectories(options.platformsAndroidDirPath);
150
- const shortPluginName = helpers_1.getShortPluginName(options.pluginName);
151
+ const shortPluginName = (0, helpers_1.getShortPluginName)(options.pluginName);
151
152
  const pluginTempDir = path.join(options.tempPluginDirPath, shortPluginName);
152
153
  const pluginSourceFileHashesInfo = yield this.getSourceFilesHashes(options.platformsAndroidDirPath, shortPluginName);
153
154
  const shouldBuildAar = yield this.shouldBuildAar({
@@ -163,8 +164,10 @@ class AndroidPluginBuildService {
163
164
  const pluginTempMainSrcDir = path.join(pluginTempDir, "src", "main");
164
165
  yield this.updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName);
165
166
  this.copySourceSetDirectories(androidSourceDirectories, pluginTempMainSrcDir);
166
- yield this.setupGradle(pluginTempDir, options.platformsAndroidDirPath, options.projectDir);
167
+ yield this.setupGradle(pluginTempDir, options.platformsAndroidDirPath, options.projectDir, options.pluginName);
167
168
  yield this.buildPlugin({
169
+ gradlePath: options.gradlePath,
170
+ gradleArgs: options.gradleArgs,
168
171
  pluginDir: pluginTempDir,
169
172
  pluginName: options.pluginName,
170
173
  projectDir: options.projectDir,
@@ -242,7 +245,7 @@ class AndroidPluginBuildService {
242
245
  this.$fs.copyFile(path.join(dir, "*"), destination);
243
246
  }
244
247
  }
245
- setupGradle(pluginTempDir, platformsAndroidDirPath, projectDir) {
248
+ setupGradle(pluginTempDir, platformsAndroidDirPath, projectDir, pluginName) {
246
249
  return __awaiter(this, void 0, void 0, function* () {
247
250
  const gradleTemplatePath = path.resolve(path.join(__dirname, "../../vendor/gradle-plugin"));
248
251
  const allGradleTemplateFiles = path.join(gradleTemplatePath, "*");
@@ -252,6 +255,7 @@ class AndroidPluginBuildService {
252
255
  const runtimeGradleVersions = yield this.getRuntimeGradleVersions(projectDir);
253
256
  this.replaceGradleVersion(pluginTempDir, runtimeGradleVersions.gradleVersion);
254
257
  this.replaceGradleAndroidPluginVersion(buildGradlePath, runtimeGradleVersions.gradleAndroidPluginVersion);
258
+ this.replaceFileContent(buildGradlePath, "{{pluginName}}", pluginName);
255
259
  });
256
260
  }
257
261
  getRuntimeGradleVersions(projectDir) {
@@ -261,6 +265,7 @@ class AndroidPluginBuildService {
261
265
  const projectData = this.$projectDataService.getProjectData(projectDir);
262
266
  const platformData = this.$platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, projectData);
263
267
  const projectRuntimeVersion = platformData.platformProjectService.getFrameworkVersion(projectData);
268
+ runtimeGradleVersions = yield this.getGradleVersions(projectRuntimeVersion);
264
269
  this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from runtime v${projectRuntimeVersion}`);
265
270
  }
266
271
  if (!runtimeGradleVersions) {
@@ -292,8 +297,16 @@ class AndroidPluginBuildService {
292
297
  return __awaiter(this, void 0, void 0, function* () {
293
298
  let runtimeGradleVersions = null;
294
299
  try {
295
- const output = yield this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { gradle: true });
296
- runtimeGradleVersions = { gradle: output };
300
+ let output = yield this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { version_info: true });
301
+ if (!output) {
302
+ output = yield this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { gradle: true });
303
+ const { version, android } = output;
304
+ output = {
305
+ gradle: version,
306
+ gradleAndroid: android,
307
+ };
308
+ }
309
+ runtimeGradleVersions = { versions: output };
297
310
  }
298
311
  catch (err) {
299
312
  this.$logger.trace(`Error while getting gradle data for android runtime from view command: ${err}`);
@@ -305,13 +318,14 @@ class AndroidPluginBuildService {
305
318
  });
306
319
  }
307
320
  getGradleVersionsCore(packageData) {
308
- const packageJsonGradle = packageData && packageData.gradle;
321
+ const packageJsonGradle = packageData && packageData.versions;
309
322
  let runtimeVersions = null;
310
323
  if (packageJsonGradle &&
311
- (packageJsonGradle.version || packageJsonGradle.android)) {
324
+ (packageJsonGradle.gradle || packageJsonGradle.gradleAndroid)) {
312
325
  runtimeVersions = {};
313
- runtimeVersions.gradleVersion = packageJsonGradle.version;
314
- runtimeVersions.gradleAndroidPluginVersion = packageJsonGradle.android;
326
+ runtimeVersions.gradleVersion = packageJsonGradle.gradle;
327
+ runtimeVersions.gradleAndroidPluginVersion =
328
+ packageJsonGradle.gradleAndroid;
315
329
  }
316
330
  return runtimeVersions;
317
331
  }
@@ -388,6 +402,7 @@ class AndroidPluginBuildService {
388
402
  return false;
389
403
  }
390
404
  buildPlugin(pluginBuildSettings) {
405
+ var _a;
391
406
  return __awaiter(this, void 0, void 0, function* () {
392
407
  if (!pluginBuildSettings.androidToolsInfo) {
393
408
  this.$androidToolsInfo.validateInfo({
@@ -397,14 +412,19 @@ class AndroidPluginBuildService {
397
412
  });
398
413
  pluginBuildSettings.androidToolsInfo = this.$androidToolsInfo.getToolsInfo({ projectDir: pluginBuildSettings.projectDir });
399
414
  }
400
- const gradlew = this.$hostInfo.isWindows ? "gradlew.bat" : "./gradlew";
415
+ const gradlew = (_a = pluginBuildSettings.gradlePath) !== null && _a !== void 0 ? _a : (this.$hostInfo.isWindows ? "gradlew.bat" : "./gradlew");
401
416
  const localArgs = [
402
417
  "-p",
403
418
  pluginBuildSettings.pluginDir,
404
419
  "assembleRelease",
405
420
  `-PcompileSdk=android-${pluginBuildSettings.androidToolsInfo.compileSdkVersion}`,
406
421
  `-PbuildToolsVersion=${pluginBuildSettings.androidToolsInfo.buildToolsVersion}`,
422
+ `-PappPath=${this.$projectData.getAppDirectoryPath()}`,
423
+ `-PappResourcesPath=${this.$projectData.getAppResourcesDirectoryPath()}`,
407
424
  ];
425
+ if (pluginBuildSettings.gradleArgs) {
426
+ localArgs.push(pluginBuildSettings.gradleArgs);
427
+ }
408
428
  if (this.$logger.getLevel() === "INFO") {
409
429
  localArgs.push("--quiet");
410
430
  }
@@ -449,7 +469,7 @@ AndroidPluginBuildService.MANIFEST_ROOT = {
449
469
  },
450
470
  };
451
471
  __decorate([
452
- helpers_1.hook("buildAndroidPlugin")
472
+ (0, helpers_1.hook)("buildAndroidPlugin")
453
473
  ], AndroidPluginBuildService.prototype, "buildPlugin", null);
454
474
  exports.AndroidPluginBuildService = AndroidPluginBuildService;
455
475
  yok_1.injector.register("androidPluginBuildService", AndroidPluginBuildService);
@@ -27,12 +27,26 @@ const constants_1 = require("../common/constants");
27
27
  const helpers_1 = require("../common/helpers");
28
28
  const decorators_1 = require(".././common/decorators");
29
29
  const yok_1 = require("../common/yok");
30
+ function topologicalSortNativeDependencies(nativeDeps, start = [], depth = 0) {
31
+ const processedDeps = nativeDeps.reduce((accumulator, nativeDep) => {
32
+ if (nativeDep.dependencies.every(Array.prototype.includes, accumulator.map((n) => n.name))) {
33
+ accumulator.push(nativeDep);
34
+ }
35
+ return accumulator;
36
+ }, start);
37
+ const remainingDeps = nativeDeps.filter((nativeDep) => !processedDeps.includes(nativeDep));
38
+ if (remainingDeps.length && depth <= nativeDeps.length) {
39
+ return topologicalSortNativeDependencies(remainingDeps, processedDeps, depth + 1);
40
+ }
41
+ return processedDeps;
42
+ }
30
43
  class AndroidProjectService extends projectServiceBaseLib.PlatformProjectServiceBase {
31
- constructor($androidToolsInfo, $errors, $fs, $logger, $projectDataService, $injector, $devicePlatformsConstants, $androidPluginBuildService, $platformEnvironmentRequirements, $androidResourcesMigrationService, $filesHashService, $gradleCommandService, $gradleBuildService, $analyticsService) {
44
+ constructor($androidToolsInfo, $errors, $fs, $logger, $projectDataService, $options, $injector, $devicePlatformsConstants, $androidPluginBuildService, $platformEnvironmentRequirements, $androidResourcesMigrationService, $filesHashService, $gradleCommandService, $gradleBuildService, $analyticsService) {
32
45
  super($fs, $projectDataService);
33
46
  this.$androidToolsInfo = $androidToolsInfo;
34
47
  this.$errors = $errors;
35
48
  this.$logger = $logger;
49
+ this.$options = $options;
36
50
  this.$injector = $injector;
37
51
  this.$devicePlatformsConstants = $devicePlatformsConstants;
38
52
  this.$androidPluginBuildService = $androidPluginBuildService;
@@ -323,6 +337,8 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
323
337
  const pluginPlatformsFolderPath = this.getPluginPlatformsFolderPath(pluginData, AndroidProjectService.ANDROID_PLATFORM_NAME);
324
338
  if (this.$fs.exists(pluginPlatformsFolderPath)) {
325
339
  const options = {
340
+ gradlePath: this.$options.gradlePath,
341
+ gradleArgs: this.$options.gradleArgs,
326
342
  projectDir: projectData.projectDir,
327
343
  pluginName: pluginData.name,
328
344
  platformsAndroidDirPath: pluginPlatformsFolderPath,
@@ -349,7 +365,7 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
349
365
  return __awaiter(this, void 0, void 0, function* () {
350
366
  if (dependencies) {
351
367
  dependencies = this.filterUniqueDependencies(dependencies);
352
- this.provideDependenciesJson(projectData, dependencies);
368
+ return this.provideDependenciesJson(projectData, dependencies);
353
369
  }
354
370
  });
355
371
  }
@@ -371,14 +387,23 @@ class AndroidProjectService extends projectServiceBaseLib.PlatformProjectService
371
387
  provideDependenciesJson(projectData, dependencies) {
372
388
  const platformDir = path.join(projectData.platformsDir, AndroidProjectService.ANDROID_PLATFORM_NAME);
373
389
  const dependenciesJsonPath = path.join(platformDir, constants.DEPENDENCIES_JSON_NAME);
374
- const nativeDependencies = dependencies
375
- .filter(AndroidProjectService.isNativeAndroidDependency)
376
- .map(({ name, directory }) => ({
377
- name,
378
- directory: path.relative(platformDir, directory),
379
- }));
390
+ let nativeDependencyData = dependencies.filter(AndroidProjectService.isNativeAndroidDependency);
391
+ let nativeDependencies = nativeDependencyData.map(({ name, directory, dependencies }) => {
392
+ return {
393
+ name,
394
+ directory: path.relative(platformDir, directory),
395
+ dependencies: dependencies.filter((dep) => {
396
+ return (nativeDependencyData.findIndex((nativeDep) => nativeDep.name === dep) !== -1);
397
+ }),
398
+ };
399
+ });
400
+ nativeDependencies = topologicalSortNativeDependencies(nativeDependencies);
380
401
  const jsonContent = JSON.stringify(nativeDependencies, null, 4);
381
402
  this.$fs.writeFile(dependenciesJsonPath, jsonContent);
403
+ return dependencies.sort(function (a, b) {
404
+ return (nativeDependencies.findIndex((n) => n.name === a.name) -
405
+ nativeDependencies.findIndex((n) => n.name === b.name));
406
+ });
382
407
  }
383
408
  static isNativeAndroidDependency({ nativescript, }) {
384
409
  return (nativescript &&
@@ -508,8 +533,8 @@ AndroidProjectService.VALUES_VERSION_DIRNAME_PREFIX = AndroidProjectService.VALU
508
533
  AndroidProjectService.ANDROID_PLATFORM_NAME = "android";
509
534
  AndroidProjectService.MIN_RUNTIME_VERSION_WITH_GRADLE = "1.5.0";
510
535
  __decorate([
511
- decorators_1.performanceLog(),
512
- helpers_1.hook("buildAndroid")
536
+ (0, decorators_1.performanceLog)(),
537
+ (0, helpers_1.hook)("buildAndroid")
513
538
  ], AndroidProjectService.prototype, "buildProject", null);
514
539
  exports.AndroidProjectService = AndroidProjectService;
515
540
  yok_1.injector.register("androidProjectService", AndroidProjectService);
@@ -120,7 +120,7 @@ This password will be used for the iTunes Transporter, which is used to upload y
120
120
  if (result.isTwoFactorAuthenticationEnabled &&
121
121
  opts &&
122
122
  opts.requireInteractiveConsole &&
123
- !helpers_1.isInteractive()) {
123
+ !(0, helpers_1.isInteractive)()) {
124
124
  this.$errors
125
125
  .fail(`Your account has two-factor authentication enabled, but your console is not interactive.
126
126
  For more details how to set up your environment, please execute "tns publish ios --help".`);
@@ -134,10 +134,10 @@ class AssetsGenerationService {
134
134
  }
135
135
  }
136
136
  __decorate([
137
- decorators_1.exported("assetsGenerationService")
137
+ (0, decorators_1.exported)("assetsGenerationService")
138
138
  ], AssetsGenerationService.prototype, "generateIcons", null);
139
139
  __decorate([
140
- decorators_1.exported("assetsGenerationService")
140
+ (0, decorators_1.exported)("assetsGenerationService")
141
141
  ], AssetsGenerationService.prototype, "generateSplashScreens", null);
142
142
  exports.AssetsGenerationService = AssetsGenerationService;
143
143
  yok_1.injector.register("assetsGenerationService", AssetsGenerationService);
@@ -185,10 +185,10 @@ class CleanupService {
185
185
  }
186
186
  CleanupService.CLEANUP_PROCESS_START_TIMEOUT = 10 * 1000;
187
187
  __decorate([
188
- decorators_1.exported("cleanupService")
188
+ (0, decorators_1.exported)("cleanupService")
189
189
  ], CleanupService.prototype, "setCleanupLogFile", null);
190
190
  __decorate([
191
- decorators_1.cache()
191
+ (0, decorators_1.cache)()
192
192
  ], CleanupService.prototype, "getCleanupProcess", null);
193
193
  exports.CleanupService = CleanupService;
194
194
  yok_1.injector.register("cleanupService", CleanupService);
@@ -179,7 +179,7 @@ end`.trim();
179
179
  if (postInstallHookContent) {
180
180
  const index = finalPodfileContent.indexOf(postInstallHookStart);
181
181
  if (index !== -1) {
182
- const regExp = new RegExp(`(${helpers_1.regExpEscape(postInstallHookStart)}[\\s\\S]*?)(\\bend\\b)`, "m");
182
+ const regExp = new RegExp(`(${(0, helpers_1.regExpEscape)(postInstallHookStart)}[\\s\\S]*?)(\\bend\\b)`, "m");
183
183
  finalPodfileContent = finalPodfileContent.replace(regExp, `$1${postInstallHookContent.trimRight()}${os_1.EOL}$2`);
184
184
  }
185
185
  else {
@@ -240,6 +240,7 @@ end`.trim();
240
240
  return { replacedContent, newFunctions };
241
241
  }
242
242
  getPluginPodfileHeader(pluginPodFilePath) {
243
+ pluginPodFilePath = pluginPodFilePath.replace(/\+/g, "\\+");
243
244
  return `# Begin Podfile - ${pluginPodFilePath}`;
244
245
  }
245
246
  getPluginPodfileEnd() {
@@ -81,7 +81,7 @@ class DoctorService {
81
81
  yield this.$injector
82
82
  .resolve("platformEnvironmentRequirements")
83
83
  .checkEnvironmentRequirements({
84
- platform: null,
84
+ platform: configOptions.platform,
85
85
  projectDir: configOptions.projectDir,
86
86
  runtimeVersion: configOptions.runtimeVersion,
87
87
  options: configOptions.options,
@@ -284,10 +284,10 @@ DoctorService.WindowsSetupScriptArguments = [
284
284
  "\"-NoProfile -ExecutionPolicy Bypass -Command iex ((new-object net.webclient).DownloadString('https://www.nativescript.org/setup/win'))\"",
285
285
  ];
286
286
  __decorate([
287
- decorators_1.cache()
287
+ (0, decorators_1.cache)()
288
288
  ], DoctorService.prototype, "jsonFileSettingsPath", null);
289
289
  __decorate([
290
- decorators_1.cache()
290
+ (0, decorators_1.cache)()
291
291
  ], DoctorService.prototype, "$jsonFileSettingsService", null);
292
292
  exports.DoctorService = DoctorService;
293
293
  yok_1.injector.register("doctorService", DoctorService);
@@ -130,8 +130,8 @@ class ExtensibilityService {
130
130
  this.$logger.trace(`Unable to find extensions via npms. Error is: ${err}`);
131
131
  return null;
132
132
  }
133
- const defaultCommandRegExp = new RegExp(`${helpers_1.regExpEscape(inputOpts.defaultCommandDelimiter)}.*`);
134
- const commandDelimiterRegExp = helpers_1.createRegExp(inputOpts.commandDelimiter, "g");
133
+ const defaultCommandRegExp = new RegExp(`${(0, helpers_1.regExpEscape)(inputOpts.defaultCommandDelimiter)}.*`);
134
+ const commandDelimiterRegExp = (0, helpers_1.createRegExp)(inputOpts.commandDelimiter, "g");
135
135
  for (const extensionData of allExtensions) {
136
136
  const extensionName = extensionData.package.name;
137
137
  try {
@@ -211,10 +211,10 @@ class ExtensibilityService {
211
211
  }
212
212
  }
213
213
  __decorate([
214
- decorators_1.cache()
214
+ (0, decorators_1.cache)()
215
215
  ], ExtensibilityService.prototype, "assertExtensionsDirExists", null);
216
216
  __decorate([
217
- decorators_1.cache()
217
+ (0, decorators_1.cache)()
218
218
  ], ExtensibilityService.prototype, "assertPackageJsonExists", null);
219
219
  exports.ExtensibilityService = ExtensibilityService;
220
220
  yok_1.injector.register("extensibilityService", ExtensibilityService);
@@ -35,7 +35,7 @@ class FilesHashService {
35
35
  this.$logger.trace(`Unable to generate hash for file ${file}. Error is: ${err}`);
36
36
  }
37
37
  });
38
- yield helpers_1.executeActionByChunks(files, constants_1.DEFAULT_CHUNK_SIZE, action);
38
+ yield (0, helpers_1.executeActionByChunks)(files, constants_1.DEFAULT_CHUNK_SIZE, action);
39
39
  return result;
40
40
  });
41
41
  }
@@ -122,7 +122,7 @@ HmrStatusService.STARTED_MESSAGE = "Checking for updates to the bundle with";
122
122
  HmrStatusService.SUCCESS_MESSAGE = "Successfully applied update with";
123
123
  HmrStatusService.FAILED_MESSAGE = "Cannot apply update with";
124
124
  __decorate([
125
- decorators_1.cache()
125
+ (0, decorators_1.cache)()
126
126
  ], HmrStatusService.prototype, "attachToHmrStatusEvent", null);
127
127
  exports.HmrStatusService = HmrStatusService;
128
128
  yok_1.injector.register("hmrStatusService", HmrStatusService);
@@ -131,10 +131,10 @@ class IOSDebuggerPortService {
131
131
  }
132
132
  IOSDebuggerPortService.DEBUG_PORT_LOG_REGEX = /NativeScript debugger has opened inspector socket on port (\d+?) for (.*)[.]/;
133
133
  __decorate([
134
- decorators_1.cache()
134
+ (0, decorators_1.cache)()
135
135
  ], IOSDebuggerPortService.prototype, "attachToDebuggerPortFoundEventCore", null);
136
136
  __decorate([
137
- decorators_1.cache()
137
+ (0, decorators_1.cache)()
138
138
  ], IOSDebuggerPortService.prototype, "attachToAttachRequestEvent", null);
139
139
  exports.IOSDebuggerPortService = IOSDebuggerPortService;
140
140
  yok_1.injector.register("iOSDebuggerPortService", IOSDebuggerPortService);
@@ -59,7 +59,7 @@ class IOSDeviceDebugService extends debug_service_base_1.DebugServiceBase {
59
59
  validateOptions(debugOptions) {
60
60
  return __awaiter(this, void 0, void 0, function* () {
61
61
  if (!this.$hostInfo.isWindows && !this.$hostInfo.isDarwin) {
62
- this.$errors.fail(`Debugging on iOS devices is not supported for ${os_1.platform()} yet.`);
62
+ this.$errors.fail(`Debugging on iOS devices is not supported for ${(0, os_1.platform)()} yet.`);
63
63
  }
64
64
  if (debugOptions.debugBrk && debugOptions.start) {
65
65
  this.$errors.fail("Expected exactly one of the --debug-brk or --start options.");
@@ -155,13 +155,13 @@ class IOSDeviceDebugService extends debug_service_base_1.DebugServiceBase {
155
155
  }
156
156
  }
157
157
  __decorate([
158
- decorators_1.performanceLog()
158
+ (0, decorators_1.performanceLog)()
159
159
  ], IOSDeviceDebugService.prototype, "debug", null);
160
160
  __decorate([
161
- decorators_1.performanceLog()
161
+ (0, decorators_1.performanceLog)()
162
162
  ], IOSDeviceDebugService.prototype, "wireDebuggerClient", null);
163
163
  __decorate([
164
- decorators_1.performanceLog()
164
+ (0, decorators_1.performanceLog)()
165
165
  ], IOSDeviceDebugService.prototype, "openAppInspector", null);
166
166
  exports.IOSDeviceDebugService = IOSDeviceDebugService;
167
167
  yok_1.injector.register("iOSDeviceDebugService", IOSDeviceDebugService, false);
@@ -231,13 +231,13 @@ class IOSProjectService extends projectServiceBaseLib.PlatformProjectServiceBase
231
231
  };
232
232
  if (buildData.buildForDevice) {
233
233
  yield this.$iOSSigningService.setupSigningForDevice(projectRoot, projectData, buildData);
234
- yield helpers_1.attachAwaitDetach(constants.BUILD_OUTPUT_EVENT_NAME, this.$childProcess, handler, this.$xcodebuildService.buildForDevice(platformData, projectData, buildData));
234
+ yield (0, helpers_1.attachAwaitDetach)(constants.BUILD_OUTPUT_EVENT_NAME, this.$childProcess, handler, this.$xcodebuildService.buildForDevice(platformData, projectData, buildData));
235
235
  }
236
236
  else if (buildData.buildForAppStore) {
237
- yield helpers_1.attachAwaitDetach(constants.BUILD_OUTPUT_EVENT_NAME, this.$childProcess, handler, this.$xcodebuildService.buildForAppStore(platformData, projectData, buildData));
237
+ yield (0, helpers_1.attachAwaitDetach)(constants.BUILD_OUTPUT_EVENT_NAME, this.$childProcess, handler, this.$xcodebuildService.buildForAppStore(platformData, projectData, buildData));
238
238
  }
239
239
  else {
240
- yield helpers_1.attachAwaitDetach(constants.BUILD_OUTPUT_EVENT_NAME, this.$childProcess, handler, this.$xcodebuildService.buildForSimulator(platformData, projectData, buildData));
240
+ yield (0, helpers_1.attachAwaitDetach)(constants.BUILD_OUTPUT_EVENT_NAME, this.$childProcess, handler, this.$xcodebuildService.buildForSimulator(platformData, projectData, buildData));
241
241
  }
242
242
  this.validateApplicationIdentifier(projectData);
243
243
  });
@@ -509,8 +509,8 @@ class IOSProjectService extends projectServiceBaseLib.PlatformProjectServiceBase
509
509
  yield this.addExtensions(projectData, pluginsData);
510
510
  });
511
511
  }
512
- beforePrepareAllPlugins() {
513
- return Promise.resolve();
512
+ beforePrepareAllPlugins(projectData, dependencies) {
513
+ return Promise.resolve(dependencies);
514
514
  }
515
515
  checkForChanges(changesInfo, prepareData, projectData) {
516
516
  return __awaiter(this, void 0, void 0, function* () {
@@ -812,7 +812,7 @@ class IOSProjectService extends projectServiceBaseLib.PlatformProjectServiceBase
812
812
  IOSProjectService.IOS_PROJECT_NAME_PLACEHOLDER = "__PROJECT_NAME__";
813
813
  IOSProjectService.IOS_PLATFORM_NAME = "ios";
814
814
  __decorate([
815
- helpers_2.hook("buildIOS")
815
+ (0, helpers_2.hook)("buildIOS")
816
816
  ], IOSProjectService.prototype, "buildProject", null);
817
817
  exports.IOSProjectService = IOSProjectService;
818
818
  yok_1.injector.register("iOSProjectService", IOSProjectService);
@@ -75,7 +75,7 @@ class IOSProvisionService {
75
75
  return "";
76
76
  }
77
77
  }
78
- const table = helpers_1.createTable([
78
+ const table = (0, helpers_1.createTable)([
79
79
  "Provision Name / Provision UUID / App Id",
80
80
  "Team",
81
81
  "Type / Due",
@@ -84,7 +84,7 @@ class IOSProvisionService {
84
84
  function pushProvision(prov) {
85
85
  table.push(["", "", "", ""]);
86
86
  table.push([
87
- helpers_1.quoteString(prov.Name),
87
+ (0, helpers_1.quoteString)(prov.Name),
88
88
  prov.TeamName,
89
89
  prov.Type,
90
90
  formatTotalDeviceCount(prov),
@@ -111,7 +111,7 @@ class IOSProvisionService {
111
111
  listTeams() {
112
112
  return __awaiter(this, void 0, void 0, function* () {
113
113
  const teams = yield this.getDevelopmentTeams();
114
- const table = helpers_1.createTable(["Team Name", "Team ID"], teams.map((team) => [helpers_1.quoteString(team.name), team.id]));
114
+ const table = (0, helpers_1.createTable)(["Team Name", "Team ID"], teams.map((team) => [(0, helpers_1.quoteString)(team.name), team.id]));
115
115
  this.$logger.info(table.toString());
116
116
  });
117
117
  }
@@ -74,7 +74,7 @@ class IPService {
74
74
  }
75
75
  IPService.GET_IP_TIMEOUT = 1000;
76
76
  __decorate([
77
- decorators_1.cache()
77
+ (0, decorators_1.cache)()
78
78
  ], IPService.prototype, "getCurrentIPv4Address", null);
79
79
  exports.IPService = IPService;
80
80
  yok_1.injector.register("ipService", IPService);
@@ -73,9 +73,9 @@ class ITMSTransporterService {
73
73
  "-f",
74
74
  itmsDirectory,
75
75
  "-u",
76
- helpers_1.quoteString(data.credentials.username),
76
+ (0, helpers_1.quoteString)(data.credentials.username),
77
77
  "-p",
78
- helpers_1.quoteString(password),
78
+ (0, helpers_1.quoteString)(password),
79
79
  "-v",
80
80
  loggingLevel,
81
81
  ], "close", { stdio: "inherit" });
@@ -143,7 +143,7 @@ class ITMSTransporterService {
143
143
  }
144
144
  }
145
145
  __decorate([
146
- decorators_1.cache()
146
+ (0, decorators_1.cache)()
147
147
  ], ITMSTransporterService.prototype, "getITMSTransporterPath", null);
148
148
  exports.ITMSTransporterService = ITMSTransporterService;
149
149
  yok_1.injector.register("itmsTransporterService", ITMSTransporterService);
@@ -4,7 +4,7 @@ const path = require("path");
4
4
  const package_path_helper_1 = require("../helpers/package-path-helper");
5
5
  process.on("message", (data) => {
6
6
  if (data.karmaConfig) {
7
- const pathToKarma = package_path_helper_1.resolvePackagePath("karma", {
7
+ const pathToKarma = (0, package_path_helper_1.resolvePackagePath)("karma", {
8
8
  paths: [data.karmaConfig.projectDir],
9
9
  });
10
10
  const KarmaServer = require(path.join(pathToKarma, "lib/server"));
@@ -195,9 +195,9 @@ class AndroidDeviceLiveSyncService extends android_device_livesync_service_base_
195
195
  }
196
196
  }
197
197
  __decorate([
198
- decorators_1.performanceLog()
198
+ (0, decorators_1.performanceLog)()
199
199
  ], AndroidDeviceLiveSyncService.prototype, "beforeLiveSyncAction", null);
200
200
  __decorate([
201
- decorators_1.performanceLog()
201
+ (0, decorators_1.performanceLog)()
202
202
  ], AndroidDeviceLiveSyncService.prototype, "removeFiles", null);
203
203
  exports.AndroidDeviceLiveSyncService = AndroidDeviceLiveSyncService;
@@ -67,10 +67,10 @@ class AndroidLiveSyncService extends platform_livesync_service_base_1.PlatformLi
67
67
  }
68
68
  AndroidLiveSyncService.MIN_SOCKETS_LIVESYNC_RUNTIME_VERSION = "4.2.0-2018-07-20-02";
69
69
  __decorate([
70
- decorators_1.performanceLog()
70
+ (0, decorators_1.performanceLog)()
71
71
  ], AndroidLiveSyncService.prototype, "liveSyncWatchAction", null);
72
72
  __decorate([
73
- decorators_1.performanceLog()
73
+ (0, decorators_1.performanceLog)()
74
74
  ], AndroidLiveSyncService.prototype, "fullSync", null);
75
75
  exports.AndroidLiveSyncService = AndroidLiveSyncService;
76
76
  yok_1.injector.register("androidLiveSyncService", AndroidLiveSyncService);
@@ -61,9 +61,9 @@ class DeviceLiveSyncServiceBase {
61
61
  }
62
62
  DeviceLiveSyncServiceBase.FAST_SYNC_FILE_EXTENSIONS = [".css", ".xml", ".html"];
63
63
  __decorate([
64
- decorators_1.cache()
64
+ (0, decorators_1.cache)()
65
65
  ], DeviceLiveSyncServiceBase.prototype, "getFastLiveSyncFileExtensions", null);
66
66
  __decorate([
67
- decorators_2.performanceLog()
67
+ (0, decorators_2.performanceLog)()
68
68
  ], DeviceLiveSyncServiceBase.prototype, "transferFiles", null);
69
69
  exports.DeviceLiveSyncServiceBase = DeviceLiveSyncServiceBase;
@@ -213,6 +213,6 @@ class IOSDeviceLiveSyncService extends device_livesync_service_base_1.DeviceLive
213
213
  }
214
214
  IOSDeviceLiveSyncService.MIN_RUNTIME_VERSION_WITH_REFRESH_NOTIFICATION = "6.1.0";
215
215
  __decorate([
216
- decorators_1.performanceLog()
216
+ (0, decorators_1.performanceLog)()
217
217
  ], IOSDeviceLiveSyncService.prototype, "removeFiles", null);
218
218
  exports.IOSDeviceLiveSyncService = IOSDeviceLiveSyncService;
@@ -89,7 +89,7 @@ class IOSLiveSyncService extends platform_livesync_service_base_1.PlatformLiveSy
89
89
  }
90
90
  }
91
91
  __decorate([
92
- decorators_1.performanceLog()
92
+ (0, decorators_1.performanceLog)()
93
93
  ], IOSLiveSyncService.prototype, "fullSync", null);
94
94
  exports.IOSLiveSyncService = IOSLiveSyncService;
95
95
  yok_1.injector.register("iOSLiveSyncService", IOSLiveSyncService);
@@ -35,7 +35,7 @@ class PlatformLiveSyncServiceBase {
35
35
  const platform = device.deviceInfo.platform.toLowerCase();
36
36
  const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
37
37
  const frameworkVersion = platformData.platformProjectService.getFrameworkVersion(projectData);
38
- const key = helpers_1.getHash(`${device.deviceInfo.identifier}${projectData.projectIdentifiers[platform]}${projectData.projectDir}${frameworkVersion}`);
38
+ const key = (0, helpers_1.getHash)(`${device.deviceInfo.identifier}${projectData.projectIdentifiers[platform]}${projectData.projectDir}${frameworkVersion}`);
39
39
  if (!this._deviceLiveSyncServicesCache[key]) {
40
40
  this._deviceLiveSyncServicesCache[key] = this._getDeviceLiveSyncService(device, projectData, frameworkVersion);
41
41
  }
@@ -174,6 +174,6 @@ class PlatformLiveSyncServiceBase {
174
174
  }
175
175
  }
176
176
  __decorate([
177
- decorators_1.performanceLog()
177
+ (0, decorators_1.performanceLog)()
178
178
  ], PlatformLiveSyncServiceBase.prototype, "liveSyncWatchAction", null);
179
179
  exports.PlatformLiveSyncServiceBase = PlatformLiveSyncServiceBase;
@@ -54,7 +54,7 @@ class PreviewAppFilesService {
54
54
  let fileContents = "";
55
55
  let binary = false;
56
56
  if (event === preview_app_constants_1.PreviewSdkEventNames.CHANGE_EVENT_NAME) {
57
- binary = istextorbinary_1.isBinary(file);
57
+ binary = (0, istextorbinary_1.isBinary)(file);
58
58
  if (binary) {
59
59
  const bitmap = this.$fs.readFile(file);
60
60
  const base64 = Buffer.from(bitmap).toString("base64");
@@ -103,7 +103,7 @@ To scan the QR code and deploy your app on a device, you need to have the \`Nati
103
103
  }
104
104
  }
105
105
  __decorate([
106
- decorators_1.exported("previewQrCodeService")
106
+ (0, decorators_1.exported)("previewQrCodeService")
107
107
  ], PreviewQrCodeService.prototype, "getPlaygroundAppQrCode", null);
108
108
  exports.PreviewQrCodeService = PreviewQrCodeService;
109
109
  yok_1.injector.register("previewQrCodeService", PreviewQrCodeService);
@@ -50,7 +50,7 @@ class LogParserService extends events_1.EventEmitter {
50
50
  }
51
51
  }
52
52
  __decorate([
53
- decorators_1.cache()
53
+ (0, decorators_1.cache)()
54
54
  ], LogParserService.prototype, "startParsingLogCore", null);
55
55
  exports.LogParserService = LogParserService;
56
56
  yok_1.injector.register("logParserService", LogParserService);
@@ -132,7 +132,7 @@ class LogSourceMapService {
132
132
  !_.startsWith(sourceFile, appPath + "/")) {
133
133
  sourceFile = path.join(appPath, sourceFile);
134
134
  }
135
- sourceFile = helpers_1.stringReplaceAll(sourceFile, "/", path.sep);
135
+ sourceFile = (0, helpers_1.stringReplaceAll)(sourceFile, "/", path.sep);
136
136
  if (!this.originalFilesLocationCache[sourceFile]) {
137
137
  const { dir, ext, name } = path.parse(sourceFile);
138
138
  const platformSpecificName = `${name}.${platform.toLowerCase()}`;
@@ -101,7 +101,7 @@ class PacoteService {
101
101
  }
102
102
  }
103
103
  __decorate([
104
- decorators_1.cache()
104
+ (0, decorators_1.cache)()
105
105
  ], PacoteService.prototype, "$packageManager", null);
106
106
  exports.PacoteService = PacoteService;
107
107
  yok_1.injector.register("pacoteService", PacoteService);