@nx/expo 17.0.4 → 17.0.6

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 (109) hide show
  1. package/.eslintrc.json +0 -3
  2. package/LICENSE +1 -1
  3. package/README.md +4 -9
  4. package/collection.json +0 -0
  5. package/docs/start-examples.md +0 -6
  6. package/executors.json +0 -5
  7. package/generators.json +2 -2
  8. package/migrations.json +6 -114
  9. package/package.json +16 -12
  10. package/plugins/metro-resolver.js +1 -4
  11. package/plugins/with-nx-metro.js +2 -6
  12. package/plugins/with-nx-webpack.d.ts +1 -1
  13. package/plugins/with-nx-webpack.js +4 -8
  14. package/src/executors/build/build.impl.js +1 -2
  15. package/src/executors/build/schema.json +1 -1
  16. package/src/executors/build-list/build-list.impl.js +3 -2
  17. package/src/executors/build-list/schema.json +1 -1
  18. package/src/executors/ensure-symlink/ensure-symlink.impl.d.ts +0 -4
  19. package/src/executors/ensure-symlink/ensure-symlink.impl.js +0 -4
  20. package/src/executors/ensure-symlink/schema.json +1 -1
  21. package/src/executors/export/export.impl.d.ts +0 -1
  22. package/src/executors/export/export.impl.js +15 -25
  23. package/src/executors/export/schema.d.ts +2 -4
  24. package/src/executors/export/schema.json +13 -14
  25. package/src/executors/install/install.impl.js +2 -0
  26. package/src/executors/install/schema.json +1 -1
  27. package/src/executors/prebuild/prebuild.impl.js +5 -11
  28. package/src/executors/prebuild/schema.json +1 -2
  29. package/src/executors/run/schema.json +1 -1
  30. package/src/executors/start/schema.json +1 -1
  31. package/src/executors/start/start.impl.js +1 -7
  32. package/src/executors/submit/schema.json +1 -1
  33. package/src/executors/submit/submit.impl.js +1 -2
  34. package/src/executors/sync-deps/schema.d.ts +0 -1
  35. package/src/executors/sync-deps/schema.json +1 -6
  36. package/src/executors/sync-deps/sync-deps.impl.d.ts +3 -4
  37. package/src/executors/sync-deps/sync-deps.impl.js +11 -33
  38. package/src/executors/update/schema.json +1 -1
  39. package/src/executors/update/update.impl.js +4 -7
  40. package/src/generators/application/application.js +7 -27
  41. package/src/generators/application/files/app.json.template +0 -2
  42. package/src/generators/application/files/eas.json.template +3 -0
  43. package/src/generators/application/files/metro.config.js.template +5 -1
  44. package/src/generators/application/files/src/app/App.tsx.template +13 -50
  45. package/src/generators/application/lib/add-detox.d.ts +3 -0
  46. package/src/generators/application/lib/add-detox.js +24 -0
  47. package/src/generators/application/lib/add-project.js +22 -20
  48. package/src/generators/application/lib/create-application-files.js +2 -0
  49. package/src/generators/application/lib/normalize-options.d.ts +0 -6
  50. package/src/generators/application/lib/normalize-options.js +1 -33
  51. package/src/generators/application/schema.d.ts +1 -2
  52. package/src/generators/application/schema.json +4 -4
  53. package/src/generators/component/files/__fileName__.tsx.template +1 -1
  54. package/src/generators/component/schema.d.ts +3 -3
  55. package/src/generators/component/schema.json +4 -4
  56. package/src/generators/init/init.d.ts +2 -3
  57. package/src/generators/init/init.js +40 -44
  58. package/src/generators/init/schema.d.ts +3 -3
  59. package/src/generators/init/schema.json +16 -11
  60. package/src/generators/library/files/lib/babel.config.json +17 -0
  61. package/src/generators/library/lib/normalize-options.js +0 -5
  62. package/src/generators/library/library.js +38 -52
  63. package/src/generators/library/schema.d.ts +0 -1
  64. package/src/generators/library/schema.json +2 -2
  65. package/src/migrations/{update-18-0-0/change-outputDir-export-target.d.ts → update-16-1-4/add-detox-app-json.d.ts} +1 -1
  66. package/src/migrations/update-16-1-4/add-detox-app-json.js +29 -0
  67. package/src/migrations/update-16-6-0/update-metro-config.js +5 -1
  68. package/src/migrations/update-16-9-0/remove-types-react-native.js +9 -2
  69. package/src/migrations/update-16-9-0/update-eas-cli-version.js +2 -1
  70. package/src/utils/add-jest.d.ts +1 -1
  71. package/src/utils/add-jest.js +5 -15
  72. package/src/utils/add-linting.d.ts +0 -1
  73. package/src/utils/add-linting.js +1 -1
  74. package/src/utils/find-all-npm-dependencies.js +2 -4
  75. package/src/utils/symlink-task.d.ts +2 -0
  76. package/src/utils/symlink-task.js +18 -0
  77. package/src/utils/versions.d.ts +15 -14
  78. package/src/utils/versions.js +16 -15
  79. package/docs/export-examples.md +0 -112
  80. package/plugin.d.ts +0 -1
  81. package/plugin.js +0 -6
  82. package/plugins/plugin.d.ts +0 -14
  83. package/plugins/plugin.js +0 -150
  84. package/src/executors/serve/lib/is-packager-running.d.ts +0 -1
  85. package/src/executors/serve/lib/is-packager-running.js +0 -15
  86. package/src/executors/serve/schema.d.ts +0 -7
  87. package/src/executors/serve/schema.json +0 -35
  88. package/src/executors/serve/serve.impl.d.ts +0 -11
  89. package/src/executors/serve/serve.impl.js +0 -105
  90. package/src/generators/application/files/webpack.config.js.template +0 -57
  91. package/src/generators/application/lib/add-e2e.d.ts +0 -3
  92. package/src/generators/application/lib/add-e2e.js +0 -86
  93. package/src/generators/library/files/lib/.babelrc.js.template +0 -21
  94. package/src/migrations/update-18-0-0/change-outputDir-export-target.js +0 -25
  95. package/src/migrations/update-18-0-0/remove-block-list.d.ts +0 -6
  96. package/src/migrations/update-18-0-0/remove-block-list.js +0 -28
  97. package/src/migrations/update-18-0-0/remove-eas-cli.d.ts +0 -12
  98. package/src/migrations/update-18-0-0/remove-eas-cli.js +0 -18
  99. package/src/migrations/update-18-0-0/remove-symlink-target.d.ts +0 -6
  100. package/src/migrations/update-18-0-0/remove-symlink-target.js +0 -29
  101. package/src/utils/ensure-dependencies.d.ts +0 -2
  102. package/src/utils/ensure-dependencies.js +0 -24
  103. package/src/utils/has-expo-plugin.d.ts +0 -2
  104. package/src/utils/has-expo-plugin.js +0 -11
  105. package/src/utils/resolve-eas.d.ts +0 -1
  106. package/src/utils/resolve-eas.js +0 -36
  107. /package/src/generators/application/files/{.babelrc.js.template → babel.config.js.template} +0 -0
  108. /package/src/{utils → generators/init/lib}/init-root-babel-config.d.ts +0 -0
  109. /package/src/{utils → generators/init/lib}/init-root-babel-config.js +0 -0
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runCliServe = void 0;
4
- const devkit_1 = require("@nx/devkit");
5
- const child_process_1 = require("child_process");
6
- const path_1 = require("path");
7
- const is_packager_running_1 = require("./lib/is-packager-running");
8
- async function* serveExecutor(options, context) {
9
- const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
10
- const serveProcess = await runCliServe(context.root, projectRoot, options);
11
- yield {
12
- port: options.port,
13
- baseUrl: `http://localhost:${options.port}`,
14
- success: true,
15
- };
16
- if (!serveProcess) {
17
- return;
18
- }
19
- await new Promise((resolve) => {
20
- const processExitListener = (signal) => () => {
21
- serveProcess.kill(signal);
22
- resolve();
23
- process.exit();
24
- };
25
- process.once('exit', (signal) => serveProcess.kill(signal));
26
- process.once('SIGTERM', processExitListener);
27
- process.once('SIGINT', processExitListener);
28
- process.once('SIGQUIT', processExitListener);
29
- });
30
- }
31
- exports.default = serveExecutor;
32
- async function runCliServe(workspaceRoot, projectRoot, options) {
33
- const result = await (0, is_packager_running_1.isPackagerRunning)(options.port);
34
- if (result === 'running') {
35
- devkit_1.logger.info(`JS server already running on port ${options.port}.`);
36
- }
37
- else if (result === 'unrecognized') {
38
- devkit_1.logger.warn('JS server not recognized.');
39
- }
40
- else {
41
- // result === 'not_running'
42
- devkit_1.logger.info('Starting JS server...');
43
- try {
44
- return await serveAsync(workspaceRoot, projectRoot, options);
45
- }
46
- catch (error) {
47
- devkit_1.logger.error(`Failed to serve the packager server. Error details: ${error.message}`);
48
- throw error;
49
- }
50
- }
51
- }
52
- exports.runCliServe = runCliServe;
53
- function serveAsync(workspaceRoot, projectRoot, options) {
54
- return new Promise((resolve, reject) => {
55
- const childProcess = (0, child_process_1.fork)(require.resolve('@expo/cli/build/bin/cli'), ['start', '--web', ...createServeOptions(options)], {
56
- cwd: (0, path_1.resolve)(workspaceRoot, projectRoot),
57
- env: process.env,
58
- stdio: ['inherit', 'pipe', 'pipe', 'ipc'],
59
- });
60
- childProcess.stdout.on('data', (data) => {
61
- process.stdout.write(data);
62
- if (data
63
- .toString()
64
- .includes('Bundling complete' || data.toString().includes('Bundled'))) {
65
- resolve(childProcess);
66
- }
67
- });
68
- childProcess.stderr.on('data', (data) => {
69
- process.stderr.write(data);
70
- });
71
- childProcess.on('error', (err) => {
72
- reject(err);
73
- });
74
- childProcess.on('exit', (code) => {
75
- if (code === 0) {
76
- resolve(childProcess);
77
- }
78
- else {
79
- reject(code);
80
- }
81
- });
82
- });
83
- }
84
- function createServeOptions(options) {
85
- return Object.keys(options).reduce((acc, k) => {
86
- const v = options[k];
87
- if (k === 'dev') {
88
- if (v === false) {
89
- acc.push(`--no-dev`); // only no-dev flag is supported
90
- }
91
- }
92
- else {
93
- if (typeof v === 'boolean') {
94
- if (v === true) {
95
- // when true, does not need to pass the value true, just need to pass the flag in kebob case
96
- acc.push(`--${(0, devkit_1.names)(k).fileName}`);
97
- }
98
- }
99
- else {
100
- acc.push(`--${(0, devkit_1.names)(k).fileName}`, v);
101
- }
102
- }
103
- return acc;
104
- }, []);
105
- }
@@ -1,57 +0,0 @@
1
- const createExpoWebpackConfigAsync = require('@expo/webpack-config');
2
- const { TsconfigPathsPlugin } = require('tsconfig-paths-webpack-plugin');
3
- const { resolve } = require('path');
4
-
5
- /**
6
- * @deprecated use bundler: 'metro' instead
7
- */
8
- module.exports = async function (env, argv) {
9
- const config = await createExpoWebpackConfigAsync(env, argv);
10
-
11
- // Customize the config before returning it.
12
- // add additional rule to load files under libs
13
- const rules = config.module.rules.find((rule) =>
14
- Array.isArray(rule.oneOf)
15
- )?.oneOf;
16
- if (rules) {
17
- rules.push({
18
- test: /\.(mjs|[jt]sx?)$/,
19
- exclude: /node_modules/,
20
- use: {
21
- loader: require.resolve('@nx/webpack/src/utils/web-babel-loader.js'),
22
- options: {
23
- presets: [
24
- [
25
- '@nx/react/babel',
26
- {
27
- runtime: 'automatic',
28
- },
29
- ],
30
- ],
31
- },
32
- },
33
- });
34
- }
35
-
36
- if (!config.resolve) {
37
- config.resolve = {};
38
- }
39
- if (!config.resolve.plugins) {
40
- config.resolve.plugins = [];
41
- }
42
- const extensions = ['.ts', '.tsx', '.mjs', '.js', '.jsx'];
43
- const tsConfigPath = resolve(__dirname, 'tsconfig.json');
44
- config.resolve.plugins.push(
45
- new TsconfigPathsPlugin({
46
- configFile: tsConfigPath,
47
- extensions,
48
- })
49
- );
50
- config.resolve.fallback = {
51
- ...config.resolve.fallback,
52
- crypto: require.resolve('crypto-browserify'),
53
- stream: require.resolve('stream-browserify'),
54
- };
55
-
56
- return config;
57
- };
@@ -1,3 +0,0 @@
1
- import type { GeneratorCallback, Tree } from '@nx/devkit';
2
- import { NormalizedSchema } from './normalize-options';
3
- export declare function addE2e(tree: Tree, options: NormalizedSchema): Promise<GeneratorCallback>;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addE2e = void 0;
4
- const devkit_1 = require("@nx/devkit");
5
- const web_1 = require("@nx/web");
6
- const versions_1 = require("../../../utils/versions");
7
- const has_expo_plugin_1 = require("../../../utils/has-expo-plugin");
8
- async function addE2e(tree, options) {
9
- const hasPlugin = (0, has_expo_plugin_1.hasExpoPlugin)(tree);
10
- switch (options.e2eTestRunner) {
11
- case 'cypress': {
12
- const hasNxExpoPlugin = (0, has_expo_plugin_1.hasExpoPlugin)(tree);
13
- if (!hasNxExpoPlugin) {
14
- await (0, web_1.webStaticServeGenerator)(tree, {
15
- buildTarget: `${options.projectName}:export`,
16
- targetName: 'serve-static',
17
- });
18
- }
19
- const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/cypress', versions_1.nxVersion);
20
- (0, devkit_1.addProjectConfiguration)(tree, options.e2eProjectName, {
21
- projectType: 'application',
22
- root: options.e2eProjectRoot,
23
- sourceRoot: (0, devkit_1.joinPathFragments)(options.e2eProjectRoot, 'src'),
24
- targets: {},
25
- implicitDependencies: [options.projectName],
26
- tags: [],
27
- });
28
- return await configurationGenerator(tree, {
29
- ...options,
30
- project: options.e2eProjectName,
31
- directory: 'src',
32
- // the name and root are already normalized, instruct the generator to use them as is
33
- bundler: 'none',
34
- skipFormat: true,
35
- devServerTarget: `${options.projectName}:${options.e2eWebServerTarget}`,
36
- port: options.e2ePort,
37
- baseUrl: options.e2eWebServerAddress,
38
- ciWebServerCommand: hasNxExpoPlugin
39
- ? `nx run ${options.projectName}:serve-static`
40
- : undefined,
41
- jsx: true,
42
- rootProject: options.rootProject,
43
- });
44
- }
45
- case 'playwright': {
46
- const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/playwright', versions_1.nxVersion);
47
- (0, devkit_1.addProjectConfiguration)(tree, options.e2eProjectName, {
48
- projectType: 'application',
49
- root: options.e2eProjectRoot,
50
- sourceRoot: (0, devkit_1.joinPathFragments)(options.e2eProjectRoot, 'src'),
51
- targets: {},
52
- implicitDependencies: [options.projectName],
53
- });
54
- return configurationGenerator(tree, {
55
- project: options.e2eProjectName,
56
- skipFormat: true,
57
- skipPackageJson: options.skipPackageJson,
58
- directory: 'src',
59
- js: false,
60
- linter: options.linter,
61
- setParserOptionsProject: options.setParserOptionsProject,
62
- webServerCommand: `${(0, devkit_1.getPackageManagerCommand)().exec} nx ${options.e2eWebServerTarget} ${options.name}`,
63
- webServerAddress: options.e2eWebServerAddress,
64
- rootProject: options.rootProject,
65
- });
66
- }
67
- case 'detox':
68
- const { detoxApplicationGenerator } = (0, devkit_1.ensurePackage)('@nx/detox', versions_1.nxVersion);
69
- return detoxApplicationGenerator(tree, {
70
- ...options,
71
- e2eName: options.e2eProjectName,
72
- e2eDirectory: options.e2eProjectRoot,
73
- projectNameAndRootFormat: 'as-provided',
74
- appProject: options.projectName,
75
- appDisplayName: options.displayName,
76
- appName: options.name,
77
- framework: 'expo',
78
- setParserOptionsProject: options.setParserOptionsProject,
79
- skipFormat: true,
80
- });
81
- case 'none':
82
- default:
83
- return () => { };
84
- }
85
- }
86
- exports.addE2e = addE2e;
@@ -1,21 +0,0 @@
1
- module.exports = function (api) {
2
- api.cache(true);
3
-
4
- return {
5
- presets: [
6
- [
7
- '@nx/react/babel',
8
- {
9
- runtime: 'automatic',
10
- useBuiltIns: 'usage',
11
- },
12
- ],
13
- ],
14
- plugins: [],
15
- env: {
16
- test: {
17
- presets: ['babel-preset-expo'],
18
- },
19
- },
20
- };
21
- };
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const devkit_1 = require("@nx/devkit");
4
- /**
5
- * Remove the offset from the outputDir of the export target
6
- */
7
- async function update(tree) {
8
- const projects = (0, devkit_1.getProjects)(tree);
9
- for (const [projectName, config] of projects.entries()) {
10
- if (config.targets?.['export']?.executor === '@nx/expo:export') {
11
- const target = config.targets['export'];
12
- if (target.options?.outputDir) {
13
- const offset = (0, devkit_1.offsetFromRoot)(config.root);
14
- target.options.outputDir = target.options.outputDir.replace(offset, '');
15
- target.outputs = ['{options.outputDir}'];
16
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, config);
17
- }
18
- }
19
- if (config.targets?.['export-web']?.executor === '@nx/expo:export') {
20
- delete config.targets['export-web'];
21
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, config);
22
- }
23
- }
24
- }
25
- exports.default = update;
@@ -1,6 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- /**
3
- * This migration remove blockList in metro.config.js.
4
- * It is now excluding dist folder in watchFolders in withNxMetro.
5
- */
6
- export default function update(tree: Tree): Promise<void>;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const devkit_1 = require("@nx/devkit");
4
- /**
5
- * This migration remove blockList in metro.config.js.
6
- * It is now excluding dist folder in watchFolders in withNxMetro.
7
- */
8
- async function update(tree) {
9
- const projects = (0, devkit_1.getProjects)(tree);
10
- for (const [_, config] of projects.entries()) {
11
- if (config.targets?.['start']?.executor === '@nx/expo:start') {
12
- if (tree.exists((0, devkit_1.joinPathFragments)(config.root, 'metro.config.js'))) {
13
- let content = tree
14
- .read((0, devkit_1.joinPathFragments)(config.root, 'metro.config.js'))
15
- .toString();
16
- content = content.replace(/blockList: exclusionList(.+?(?=\n))/, '');
17
- content = content.replace('// unstable_enableSymlinks: true,', '');
18
- content = content.replace('// unstable_enablePackageExports: true,', '');
19
- content = content.replace('unstable_enableSymlinks: true,', '');
20
- content = content.replace('unstable_enablePackageExports: true,', '');
21
- content = content.replace(`const exclusionList = require('metro-config/src/defaults/exclusionList');`, '');
22
- tree.write((0, devkit_1.joinPathFragments)(config.root, 'metro.config.js'), content);
23
- await (0, devkit_1.formatFiles)(tree);
24
- }
25
- }
26
- }
27
- }
28
- exports.default = update;
@@ -1,12 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- /**
3
- * Remove eas-cli from dev dependencies.
4
- * Use globally eas-cli.
5
- *
6
- * Remove metro and metro-resolver from dev dependencies.
7
- * react-native has dependency of @react-native/community-cli-plugin
8
- * @react-native/community-cli-plugin has dependency of metro
9
- * @param tree
10
- * @returns
11
- */
12
- export default function update(tree: Tree): Promise<void>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const devkit_1 = require("@nx/devkit");
4
- /**
5
- * Remove eas-cli from dev dependencies.
6
- * Use globally eas-cli.
7
- *
8
- * Remove metro and metro-resolver from dev dependencies.
9
- * react-native has dependency of @react-native/community-cli-plugin
10
- * @react-native/community-cli-plugin has dependency of metro
11
- * @param tree
12
- * @returns
13
- */
14
- async function update(tree) {
15
- (0, devkit_1.removeDependenciesFromPackageJson)(tree, [], ['eas-cli', 'metro', 'metro-resolver']);
16
- await (0, devkit_1.formatFiles)(tree);
17
- }
18
- exports.default = update;
@@ -1,6 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- /**
3
- * Remove ensure-symlink target.
4
- * It is going to be supported by react-native version 0.73 by default.
5
- */
6
- export default function update(tree: Tree): Promise<void>;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const devkit_1 = require("@nx/devkit");
4
- const fs_extra_1 = require("fs-extra");
5
- /**
6
- * Remove ensure-symlink target.
7
- * It is going to be supported by react-native version 0.73 by default.
8
- */
9
- async function update(tree) {
10
- const projects = (0, devkit_1.getProjects)(tree);
11
- for (const [projectName, config] of projects.entries()) {
12
- if (config.targets?.['ensure-symlink']?.executor === '@nx/expo:ensure-symlink') {
13
- removeTargets(config.targets, 'ensure-symlink');
14
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, config);
15
- (0, fs_extra_1.removeSync)(`${config.root}/node_modules`);
16
- }
17
- }
18
- }
19
- exports.default = update;
20
- function removeTargets(targets, targetNameToRemove) {
21
- for (const targetName in targets) {
22
- if (targetName === targetNameToRemove) {
23
- delete targets[targetName];
24
- }
25
- if (targets[targetName]?.dependsOn?.length) {
26
- targets[targetName].dependsOn = targets[targetName].dependsOn.filter((dependsOn) => dependsOn !== targetNameToRemove);
27
- }
28
- }
29
- }
@@ -1,2 +0,0 @@
1
- import { type GeneratorCallback, type Tree } from '@nx/devkit';
2
- export declare function ensureDependencies(host: Tree): GeneratorCallback;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureDependencies = void 0;
4
- const devkit_1 = require("@nx/devkit");
5
- const versions_1 = require("./versions");
6
- function ensureDependencies(host) {
7
- return (0, devkit_1.addDependenciesToPackageJson)(host, {
8
- 'expo-splash-screen': versions_1.expoSplashScreenVersion,
9
- 'expo-status-bar': versions_1.expoStatusBarVersion,
10
- 'react-native-web': versions_1.reactNativeWebVersion,
11
- '@expo/metro-config': versions_1.expoMetroConfigVersion,
12
- '@expo/metro-runtime': versions_1.expoMetroRuntimeVersion,
13
- 'react-native-svg-transformer': versions_1.reactNativeSvgTransformerVersion,
14
- 'react-native-svg': versions_1.reactNativeSvgVersion,
15
- }, {
16
- '@types/react': versions_1.typesReactVersion,
17
- 'react-test-renderer': versions_1.reactTestRendererVersion,
18
- '@testing-library/react-native': versions_1.testingLibraryReactNativeVersion,
19
- '@testing-library/jest-native': versions_1.testingLibraryJestNativeVersion,
20
- 'jest-expo': versions_1.jestExpoVersion,
21
- 'babel-preset-expo': versions_1.babelPresetExpoVersion,
22
- });
23
- }
24
- exports.ensureDependencies = ensureDependencies;
@@ -1,2 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export declare function hasExpoPlugin(tree: Tree): boolean;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasExpoPlugin = void 0;
4
- const devkit_1 = require("@nx/devkit");
5
- function hasExpoPlugin(tree) {
6
- const nxJson = (0, devkit_1.readNxJson)(tree);
7
- return !!nxJson.plugins?.some((p) => typeof p === 'string'
8
- ? p === '@nx/expo/plugin'
9
- : p.plugin === '@nx/expo/plugin');
10
- }
11
- exports.hasExpoPlugin = hasExpoPlugin;
@@ -1 +0,0 @@
1
- export declare function resolveEas(workspaceRoot: string): string;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveEas = void 0;
4
- const child_process_1 = require("child_process");
5
- function resolveEas(workspaceRoot) {
6
- try {
7
- (0, child_process_1.execSync)('eas --version');
8
- }
9
- catch {
10
- throw new Error('EAS is not installed. Please run `npm install --global eas-cli` or `yarn global add eas-cli`.');
11
- }
12
- let npmGlobalPath, yarnGlobalPath;
13
- try {
14
- npmGlobalPath = (0, child_process_1.execSync)('npm root -g')
15
- ?.toString()
16
- ?.trim()
17
- ?.replace('\u001b[2K\u001b[1G', ''); // strip out ansi codes
18
- }
19
- catch { }
20
- try {
21
- yarnGlobalPath = (0, child_process_1.execSync)('yarn global dir')
22
- ?.toString()
23
- ?.trim()
24
- ?.replace('\u001b[2K\u001b[1G', ''); // strip out ansi codes
25
- }
26
- catch { }
27
- try {
28
- return require.resolve('eas-cli/bin/run', {
29
- paths: [npmGlobalPath, yarnGlobalPath, workspaceRoot].filter(Boolean),
30
- });
31
- }
32
- catch {
33
- throw new Error('Can not resolve EAS. Please run `npm install --global eas-cli` or `yarn global add eas-cli`.');
34
- }
35
- }
36
- exports.resolveEas = resolveEas;