@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.
- package/.eslintrc.json +0 -3
- package/LICENSE +1 -1
- package/README.md +4 -9
- package/collection.json +0 -0
- package/docs/start-examples.md +0 -6
- package/executors.json +0 -5
- package/generators.json +2 -2
- package/migrations.json +6 -114
- package/package.json +16 -12
- package/plugins/metro-resolver.js +1 -4
- package/plugins/with-nx-metro.js +2 -6
- package/plugins/with-nx-webpack.d.ts +1 -1
- package/plugins/with-nx-webpack.js +4 -8
- package/src/executors/build/build.impl.js +1 -2
- package/src/executors/build/schema.json +1 -1
- package/src/executors/build-list/build-list.impl.js +3 -2
- package/src/executors/build-list/schema.json +1 -1
- package/src/executors/ensure-symlink/ensure-symlink.impl.d.ts +0 -4
- package/src/executors/ensure-symlink/ensure-symlink.impl.js +0 -4
- package/src/executors/ensure-symlink/schema.json +1 -1
- package/src/executors/export/export.impl.d.ts +0 -1
- package/src/executors/export/export.impl.js +15 -25
- package/src/executors/export/schema.d.ts +2 -4
- package/src/executors/export/schema.json +13 -14
- package/src/executors/install/install.impl.js +2 -0
- package/src/executors/install/schema.json +1 -1
- package/src/executors/prebuild/prebuild.impl.js +5 -11
- package/src/executors/prebuild/schema.json +1 -2
- package/src/executors/run/schema.json +1 -1
- package/src/executors/start/schema.json +1 -1
- package/src/executors/start/start.impl.js +1 -7
- package/src/executors/submit/schema.json +1 -1
- package/src/executors/submit/submit.impl.js +1 -2
- package/src/executors/sync-deps/schema.d.ts +0 -1
- package/src/executors/sync-deps/schema.json +1 -6
- package/src/executors/sync-deps/sync-deps.impl.d.ts +3 -4
- package/src/executors/sync-deps/sync-deps.impl.js +11 -33
- package/src/executors/update/schema.json +1 -1
- package/src/executors/update/update.impl.js +4 -7
- package/src/generators/application/application.js +7 -27
- package/src/generators/application/files/app.json.template +0 -2
- package/src/generators/application/files/eas.json.template +3 -0
- package/src/generators/application/files/metro.config.js.template +5 -1
- package/src/generators/application/files/src/app/App.tsx.template +13 -50
- package/src/generators/application/lib/add-detox.d.ts +3 -0
- package/src/generators/application/lib/add-detox.js +24 -0
- package/src/generators/application/lib/add-project.js +22 -20
- package/src/generators/application/lib/create-application-files.js +2 -0
- package/src/generators/application/lib/normalize-options.d.ts +0 -6
- package/src/generators/application/lib/normalize-options.js +1 -33
- package/src/generators/application/schema.d.ts +1 -2
- package/src/generators/application/schema.json +4 -4
- package/src/generators/component/files/__fileName__.tsx.template +1 -1
- package/src/generators/component/schema.d.ts +3 -3
- package/src/generators/component/schema.json +4 -4
- package/src/generators/init/init.d.ts +2 -3
- package/src/generators/init/init.js +40 -44
- package/src/generators/init/schema.d.ts +3 -3
- package/src/generators/init/schema.json +16 -11
- package/src/generators/library/files/lib/babel.config.json +17 -0
- package/src/generators/library/lib/normalize-options.js +0 -5
- package/src/generators/library/library.js +38 -52
- package/src/generators/library/schema.d.ts +0 -1
- package/src/generators/library/schema.json +2 -2
- 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
- package/src/migrations/update-16-1-4/add-detox-app-json.js +29 -0
- package/src/migrations/update-16-6-0/update-metro-config.js +5 -1
- package/src/migrations/update-16-9-0/remove-types-react-native.js +9 -2
- package/src/migrations/update-16-9-0/update-eas-cli-version.js +2 -1
- package/src/utils/add-jest.d.ts +1 -1
- package/src/utils/add-jest.js +5 -15
- package/src/utils/add-linting.d.ts +0 -1
- package/src/utils/add-linting.js +1 -1
- package/src/utils/find-all-npm-dependencies.js +2 -4
- package/src/utils/symlink-task.d.ts +2 -0
- package/src/utils/symlink-task.js +18 -0
- package/src/utils/versions.d.ts +15 -14
- package/src/utils/versions.js +16 -15
- package/docs/export-examples.md +0 -112
- package/plugin.d.ts +0 -1
- package/plugin.js +0 -6
- package/plugins/plugin.d.ts +0 -14
- package/plugins/plugin.js +0 -150
- package/src/executors/serve/lib/is-packager-running.d.ts +0 -1
- package/src/executors/serve/lib/is-packager-running.js +0 -15
- package/src/executors/serve/schema.d.ts +0 -7
- package/src/executors/serve/schema.json +0 -35
- package/src/executors/serve/serve.impl.d.ts +0 -11
- package/src/executors/serve/serve.impl.js +0 -105
- package/src/generators/application/files/webpack.config.js.template +0 -57
- package/src/generators/application/lib/add-e2e.d.ts +0 -3
- package/src/generators/application/lib/add-e2e.js +0 -86
- package/src/generators/library/files/lib/.babelrc.js.template +0 -21
- package/src/migrations/update-18-0-0/change-outputDir-export-target.js +0 -25
- package/src/migrations/update-18-0-0/remove-block-list.d.ts +0 -6
- package/src/migrations/update-18-0-0/remove-block-list.js +0 -28
- package/src/migrations/update-18-0-0/remove-eas-cli.d.ts +0 -12
- package/src/migrations/update-18-0-0/remove-eas-cli.js +0 -18
- package/src/migrations/update-18-0-0/remove-symlink-target.d.ts +0 -6
- package/src/migrations/update-18-0-0/remove-symlink-target.js +0 -29
- package/src/utils/ensure-dependencies.d.ts +0 -2
- package/src/utils/ensure-dependencies.js +0 -24
- package/src/utils/has-expo-plugin.d.ts +0 -2
- package/src/utils/has-expo-plugin.js +0 -11
- package/src/utils/resolve-eas.d.ts +0 -1
- package/src/utils/resolve-eas.js +0 -36
- /package/src/generators/application/files/{.babelrc.js.template → babel.config.js.template} +0 -0
- /package/src/{utils → generators/init/lib}/init-root-babel-config.d.ts +0 -0
- /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,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,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,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,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,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;
|
package/src/utils/resolve-eas.js
DELETED
|
@@ -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;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|