@nx/expo 16.1.3 → 16.2.0-beta.0
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/migrations.json +29 -0
- package/package.json +11 -11
- package/src/executors/build/build.impl.js +17 -1
- package/src/executors/build/build.impl.js.map +1 -1
- package/src/executors/build/schema.json +4 -0
- package/src/executors/download/download.impl.js +9 -6
- package/src/executors/download/download.impl.js.map +1 -1
- package/src/generators/application/application.js +8 -4
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/files/app.json.template +10 -1
- package/src/generators/application/files/package.json.template +2 -2
- package/src/generators/application/lib/add-eas-scripts.d.ts +2 -0
- package/src/generators/application/lib/add-eas-scripts.js +75 -0
- package/src/generators/application/lib/add-eas-scripts.js.map +1 -0
- package/src/generators/application/schema.json +2 -2
- package/src/generators/component/schema.json +2 -2
- package/src/generators/library/files/lib/tsconfig.json.template +1 -1
- package/src/generators/library/lib/normalize-options.js +3 -2
- package/src/generators/library/lib/normalize-options.js.map +1 -1
- package/src/generators/library/library.js +60 -39
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/library/schema.json +1 -1
- package/src/migrations/update-14-5-1/add-eas-update-target.js +1 -1
- package/src/migrations/update-14-5-1/add-eas-update-target.js.map +1 -1
- package/src/migrations/update-16-1-4/add-detox-app-json.d.ts +5 -0
- package/src/migrations/update-16-1-4/add-detox-app-json.js +33 -0
- package/src/migrations/update-16-1-4/add-detox-app-json.js.map +1 -0
- package/src/migrations/update-16-1-4/update-eas-scripts.d.ts +5 -0
- package/src/migrations/update-16-1-4/update-eas-scripts.js +40 -0
- package/src/migrations/update-16-1-4/update-eas-scripts.js.map +1 -0
- package/src/utils/add-jest.d.ts +1 -1
- package/src/utils/add-jest.js +4 -2
- package/src/utils/add-jest.js.map +1 -1
- package/src/utils/add-linting.d.ts +11 -2
- package/src/utils/add-linting.js +17 -12
- package/src/utils/add-linting.js.map +1 -1
- package/src/utils/versions.d.ts +3 -3
- package/src/utils/versions.js +3 -3
package/migrations.json
CHANGED
|
@@ -53,6 +53,18 @@
|
|
|
53
53
|
"version": "16.0.0-beta.1",
|
|
54
54
|
"description": "Replace @nrwl/expo with @nx/expo",
|
|
55
55
|
"implementation": "./src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages"
|
|
56
|
+
},
|
|
57
|
+
"update-eas-scripts-16-1-4": {
|
|
58
|
+
"cli": "nx",
|
|
59
|
+
"version": "16.1.4-beta.0",
|
|
60
|
+
"description": "Update package.json eas build lifecycle scripts",
|
|
61
|
+
"implementation": "./src/migrations/update-16-1-4/update-eas-scripts"
|
|
62
|
+
},
|
|
63
|
+
"add-detox-app-json-16-1-4": {
|
|
64
|
+
"version": "16.1.4-beta.0",
|
|
65
|
+
"cli": "nx",
|
|
66
|
+
"description": "Add app.json for detox",
|
|
67
|
+
"factory": "./src/migrations/update-16-1-4/add-detox-app-json"
|
|
56
68
|
}
|
|
57
69
|
},
|
|
58
70
|
"packageJsonUpdates": {
|
|
@@ -788,6 +800,23 @@
|
|
|
788
800
|
"alwaysAddToPackageJson": false
|
|
789
801
|
}
|
|
790
802
|
}
|
|
803
|
+
},
|
|
804
|
+
"16.1.5": {
|
|
805
|
+
"version": "16.1.5-beta.0",
|
|
806
|
+
"packages": {
|
|
807
|
+
"expo": {
|
|
808
|
+
"version": "^48.0.16",
|
|
809
|
+
"alwaysAddToPackageJson": false
|
|
810
|
+
},
|
|
811
|
+
"eas-cli": {
|
|
812
|
+
"version": "~3.12.0",
|
|
813
|
+
"alwaysAddToPackageJson": false
|
|
814
|
+
},
|
|
815
|
+
"@testing-library/react-native": {
|
|
816
|
+
"version": "12.1.2",
|
|
817
|
+
"alwaysAddToPackageJson": false
|
|
818
|
+
}
|
|
819
|
+
}
|
|
791
820
|
}
|
|
792
821
|
}
|
|
793
822
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/expo",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.2.0-beta.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The Expo Plugin for Nx contains executors and generators for managing and developing an expo application within your workspace. For example, you can directly build for different target platforms as well as generate projects and publish your code.",
|
|
6
6
|
"keywords": [
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"main": "./index",
|
|
27
27
|
"types": "index.d.ts",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@nrwl/expo": "16.
|
|
30
|
-
"@nx/detox": "16.
|
|
31
|
-
"@nx/devkit": "16.
|
|
32
|
-
"@nx/jest": "16.
|
|
33
|
-
"@nx/js": "16.
|
|
34
|
-
"@nx/linter": "16.
|
|
35
|
-
"@nx/react": "16.
|
|
36
|
-
"@nx/webpack": "16.
|
|
29
|
+
"@nrwl/expo": "16.2.0-beta.0",
|
|
30
|
+
"@nx/detox": "16.2.0-beta.0",
|
|
31
|
+
"@nx/devkit": "16.2.0-beta.0",
|
|
32
|
+
"@nx/jest": "16.2.0-beta.0",
|
|
33
|
+
"@nx/js": "16.2.0-beta.0",
|
|
34
|
+
"@nx/linter": "16.2.0-beta.0",
|
|
35
|
+
"@nx/react": "16.2.0-beta.0",
|
|
36
|
+
"@nx/webpack": "16.2.0-beta.0",
|
|
37
37
|
"chalk": "^4.1.0",
|
|
38
38
|
"enhanced-resolve": "^5.8.3",
|
|
39
39
|
"fs-extra": "^11.1.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"tsconfig-paths-webpack-plugin": "^4.0.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"expo": "^48.0.
|
|
47
|
+
"expo": "^48.0.16"
|
|
48
48
|
},
|
|
49
49
|
"builders": "./executors.json",
|
|
50
50
|
"ng-update": {
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "f7ba85e8ec9c074eaee81731a20aee7ea6dbc8aa"
|
|
59
59
|
}
|
|
@@ -5,13 +5,26 @@ const devkit_1 = require("@nx/devkit");
|
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const child_process_1 = require("child_process");
|
|
7
7
|
const ensure_node_modules_symlink_1 = require("../../utils/ensure-node-modules-symlink");
|
|
8
|
+
const download_impl_1 = require("../download/download.impl");
|
|
9
|
+
const fs_extra_1 = require("fs-extra");
|
|
8
10
|
let childProcess;
|
|
9
11
|
function buildExecutor(options, context) {
|
|
10
12
|
return tslib_1.__asyncGenerator(this, arguments, function* buildExecutor_1() {
|
|
11
13
|
const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
|
|
12
14
|
(0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
|
|
13
15
|
try {
|
|
16
|
+
// remove the output app if it already existed
|
|
17
|
+
if (options.local && options.output) {
|
|
18
|
+
(0, fs_extra_1.removeSync)(options.output);
|
|
19
|
+
}
|
|
14
20
|
yield tslib_1.__await(runCliBuild(context.root, projectRoot, options));
|
|
21
|
+
// unzip the build if it's a tar.gz
|
|
22
|
+
if (options.local && options.output && options.output.endsWith('.tar.gz')) {
|
|
23
|
+
const directoryPath = (0, path_1.normalize)(options.output).split(path_1.sep);
|
|
24
|
+
directoryPath.pop();
|
|
25
|
+
const outputDirectory = directoryPath.join(path_1.sep);
|
|
26
|
+
yield tslib_1.__await((0, download_impl_1.unzipBuild)(options.output, outputDirectory));
|
|
27
|
+
}
|
|
15
28
|
yield yield tslib_1.__await({ success: true });
|
|
16
29
|
}
|
|
17
30
|
finally {
|
|
@@ -24,7 +37,10 @@ function buildExecutor(options, context) {
|
|
|
24
37
|
exports.default = buildExecutor;
|
|
25
38
|
function runCliBuild(workspaceRoot, projectRoot, options) {
|
|
26
39
|
return new Promise((resolve, reject) => {
|
|
27
|
-
childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/eas-cli/bin/run'), ['build', ...createBuildOptions(options)], {
|
|
40
|
+
childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/eas-cli/bin/run'), ['build', ...createBuildOptions(options)], {
|
|
41
|
+
cwd: (0, path_1.join)(workspaceRoot, projectRoot),
|
|
42
|
+
env: process.env,
|
|
43
|
+
});
|
|
28
44
|
// Ensure the child process is killed when the parent exits
|
|
29
45
|
process.on('exit', () => childProcess.kill());
|
|
30
46
|
process.on('SIGTERM', () => childProcess.kill());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/build/build.impl.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,+
|
|
1
|
+
{"version":3,"file":"build.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/build/build.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
"description": "Run build locally [experimental]",
|
|
36
36
|
"default": false
|
|
37
37
|
},
|
|
38
|
+
"output": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Output path for local build"
|
|
41
|
+
},
|
|
38
42
|
"wait": {
|
|
39
43
|
"type": "boolean",
|
|
40
44
|
"description": "Wait for build(s) to complete",
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.copyBuildFile = exports.unzipBuild = exports.getAppExtension = exports.getBuild = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
|
-
const
|
|
6
|
+
const fs_extra_1 = require("fs-extra");
|
|
7
7
|
const node_fetch_1 = require("node-fetch");
|
|
8
8
|
const util_1 = require("util");
|
|
9
9
|
const stream_1 = require("stream");
|
|
@@ -28,8 +28,8 @@ function downloadExecutor(options, context) {
|
|
|
28
28
|
if (!buildUrl) {
|
|
29
29
|
throw new Error(`No build URL found.`);
|
|
30
30
|
}
|
|
31
|
-
if (!(0,
|
|
32
|
-
(0,
|
|
31
|
+
if (!(0, fs_extra_1.existsSync)(options.output)) {
|
|
32
|
+
(0, fs_extra_1.mkdirSync)(options.output, { recursive: true });
|
|
33
33
|
}
|
|
34
34
|
const downloadFileName = buildUrl.split('/').pop();
|
|
35
35
|
const downloadFilePath = (0, path_1.join)(options.output, downloadFileName);
|
|
@@ -37,6 +37,9 @@ function downloadExecutor(options, context) {
|
|
|
37
37
|
const appExtension = getAppExtension(build.platform, downloadFileName);
|
|
38
38
|
const appName = `${(0, devkit_1.names)((_b = build.project) === null || _b === void 0 ? void 0 : _b.name).className}${appExtension}`;
|
|
39
39
|
const outputFilePath = (0, path_1.join)(options.output, appName);
|
|
40
|
+
if ((0, fs_extra_1.existsSync)(outputFilePath)) {
|
|
41
|
+
(0, fs_extra_1.removeSync)(outputFilePath);
|
|
42
|
+
}
|
|
40
43
|
if (downloadFileName.endsWith('.tar.gz')) {
|
|
41
44
|
yield tslib_1.__await(unzipBuild(downloadFilePath, options.output));
|
|
42
45
|
}
|
|
@@ -53,7 +56,7 @@ function downloadBuild(buildUrl, output) {
|
|
|
53
56
|
const response = yield (0, node_fetch_1.default)(buildUrl);
|
|
54
57
|
if (!response.ok)
|
|
55
58
|
throw new Error(`Unable to download the build ${buildUrl}. Error: ${response.statusText}`);
|
|
56
|
-
return streamPipeline(response.body, (0,
|
|
59
|
+
return streamPipeline(response.body, (0, fs_extra_1.createWriteStream)(output));
|
|
57
60
|
});
|
|
58
61
|
}
|
|
59
62
|
function getBuild(workspaceRoot, projectRoot, options) {
|
|
@@ -82,12 +85,12 @@ exports.getAppExtension = getAppExtension;
|
|
|
82
85
|
function unzipBuild(downloadFilePath, outputDirectoryPath) {
|
|
83
86
|
const unzip = (0, zlib_1.createUnzip)();
|
|
84
87
|
const extract = tar.extract(outputDirectoryPath);
|
|
85
|
-
return streamPipeline((0,
|
|
88
|
+
return streamPipeline((0, fs_extra_1.createReadStream)(downloadFilePath), unzip, extract);
|
|
86
89
|
}
|
|
87
90
|
exports.unzipBuild = unzipBuild;
|
|
88
91
|
function copyBuildFile(downloadFilePath, outputFilePath) {
|
|
89
92
|
return new Promise((resolve, reject) => {
|
|
90
|
-
(0,
|
|
93
|
+
(0, fs_extra_1.copyFile)(downloadFilePath, outputFilePath, (error) => {
|
|
91
94
|
if (error) {
|
|
92
95
|
reject(error);
|
|
93
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/download/download.impl.ts"],"names":[],"mappings":";;;;AAAA,uCAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"download.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/download/download.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,24 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.expoApplicationSchematic = exports.expoApplicationGenerator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
|
+
const symlink_task_1 = require("../../utils/symlink-task");
|
|
6
7
|
const add_linting_1 = require("../../utils/add-linting");
|
|
7
8
|
const add_jest_1 = require("../../utils/add-jest");
|
|
8
|
-
const symlink_task_1 = require("../../utils/symlink-task");
|
|
9
9
|
const normalize_options_1 = require("./lib/normalize-options");
|
|
10
10
|
const init_1 = require("../init/init");
|
|
11
11
|
const add_project_1 = require("./lib/add-project");
|
|
12
|
-
const add_detox_1 = require("./lib/add-detox");
|
|
13
12
|
const create_application_files_1 = require("./lib/create-application-files");
|
|
13
|
+
const add_eas_scripts_1 = require("./lib/add-eas-scripts");
|
|
14
|
+
const add_detox_1 = require("./lib/add-detox");
|
|
14
15
|
function expoApplicationGenerator(host, schema) {
|
|
15
16
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
17
|
const options = (0, normalize_options_1.normalizeOptions)(host, schema);
|
|
17
18
|
(0, create_application_files_1.createApplicationFiles)(host, options);
|
|
18
19
|
(0, add_project_1.addProject)(host, options);
|
|
19
20
|
const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true }));
|
|
20
|
-
const lintTask = yield (0, add_linting_1.addLinting)(host,
|
|
21
|
-
|
|
21
|
+
const lintTask = yield (0, add_linting_1.addLinting)(host, Object.assign(Object.assign({}, options), { projectRoot: options.appProjectRoot, tsConfigPaths: [
|
|
22
|
+
(0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json'),
|
|
23
|
+
] }));
|
|
24
|
+
const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.projectName, options.appProjectRoot, options.js, options.skipPackageJson);
|
|
22
25
|
const detoxTask = yield (0, add_detox_1.addDetox)(host, options);
|
|
23
26
|
const symlinkTask = (0, symlink_task_1.runSymlink)(host.root, options.appProjectRoot);
|
|
27
|
+
(0, add_eas_scripts_1.addEasScripts)(host);
|
|
24
28
|
if (!options.skipFormat) {
|
|
25
29
|
yield (0, devkit_1.formatFiles)(host);
|
|
26
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/application/application.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AAEpB,yDAAqD;AACrD,mDAA+C;
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/application/application.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AAEpB,2DAAsD;AACtD,yDAAqD;AACrD,mDAA+C;AAE/C,+DAA2D;AAC3D,uCAAyC;AACzC,mDAA+C;AAC/C,6EAAwE;AACxE,2DAAsD;AACtD,+CAA2C;AAG3C,SAAsB,wBAAwB,CAC5C,IAAU,EACV,MAAc;;QAEd,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAA,iDAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAa,EAAC,IAAI,kCAAO,OAAO,KAAE,UAAU,EAAE,IAAI,IAAG,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAU,EAAC,IAAI,kCACjC,OAAO,KACV,WAAW,EAAE,OAAO,CAAC,cAAc,EACnC,aAAa,EAAE;gBACb,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC;aAC/D,IACD,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAC5B,IAAI,EACJ,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,eAAe,CACxB,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAClE,IAAA,+BAAa,EAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;CAAA;AAnCD,4DAmCC;AAED,kBAAe,wBAAwB,CAAC;AAC3B,QAAA,wBAAwB,GAAG,IAAA,2BAAkB,EACxD,wBAAwB,CACzB,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"react-native-web": "*"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
|
-
|
|
15
|
-
"
|
|
14
|
+
"eas-build-pre-install": "cd <%= offsetFromRoot %> && node tools/scripts/eas-build-pre-install.mjs . <%= appProjectRoot %> && cp <%= packageLockFile %> <%= appProjectRoot %>",
|
|
15
|
+
"eas-build-post-install": "cd <%= offsetFromRoot %> && node tools/scripts/eas-build-post-install.mjs . <%= appProjectRoot %>"
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addEasScripts = void 0;
|
|
4
|
+
const preInstallScript = `
|
|
5
|
+
/*
|
|
6
|
+
* This script is used to patch the '@nx/expo' package to work with EAS Build.
|
|
7
|
+
* It is run as the eas-build-pre-install script in the 'package.json' of expo app.
|
|
8
|
+
* It is executed as 'node tools/scripts/eas-build-pre-install.mjs <workspace root> <project root>'
|
|
9
|
+
* It will copy the dependencies and devDependencies from the workspace package.json to project's package.json.
|
|
10
|
+
* This is needed because EAS Build does the install in project's directory and not workspace's directory.
|
|
11
|
+
*/
|
|
12
|
+
import { readFileSync, writeFileSync } from 'fs';
|
|
13
|
+
import { join } from 'path';
|
|
14
|
+
|
|
15
|
+
const [workspaceRoot, projectRoot] = process.argv.slice(2);
|
|
16
|
+
if (!workspaceRoot) {
|
|
17
|
+
throw new Error('Missing workspace root');
|
|
18
|
+
}
|
|
19
|
+
if (!projectRoot) {
|
|
20
|
+
throw new Error('Missing project root');
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const workspacePackage = JSON.parse(
|
|
24
|
+
readFileSync(join(workspaceRoot, 'package.json')).toString()
|
|
25
|
+
);
|
|
26
|
+
const projectPackage = JSON.parse(
|
|
27
|
+
readFileSync(join(projectRoot, 'package.json')).toString()
|
|
28
|
+
);
|
|
29
|
+
projectPackage.dependencies = workspacePackage.dependencies;
|
|
30
|
+
projectPackage.devDependencies = workspacePackage.devDependencies;
|
|
31
|
+
writeFileSync(
|
|
32
|
+
join(projectRoot, 'package.json'),
|
|
33
|
+
JSON.stringify(projectPackage, null, 2)
|
|
34
|
+
);
|
|
35
|
+
} catch (e) {
|
|
36
|
+
console.error('Error reading package.json file', e);
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
39
|
+
const postInstallScript = `
|
|
40
|
+
/**
|
|
41
|
+
* This script is used to patch the '@nx/expo' package to work with EAS Build.
|
|
42
|
+
* It is run as a eas-build-post-install script in the 'package.json' of expo app.
|
|
43
|
+
* It is executed as 'node tools/scripts/eas-build-post-install.mjs <workspace root> <project root>'
|
|
44
|
+
* It will create a symlink from the project's node_modules to the workspace's node_modules.
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
import { symlink, existsSync } from 'fs';
|
|
48
|
+
import { join } from 'path';
|
|
49
|
+
|
|
50
|
+
const [workspaceRoot, projectRoot] = process.argv.slice(2);
|
|
51
|
+
|
|
52
|
+
if (existsSync(join(workspaceRoot, 'node_modules'))) {
|
|
53
|
+
console.log('Symlink already exists');
|
|
54
|
+
process.exit(0);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
symlink(join(projectRoot, 'node_modules'), join(workspaceRoot, 'node_modules'), 'dir', (err) => {
|
|
58
|
+
if (err) console.log(err);
|
|
59
|
+
else {
|
|
60
|
+
console.log('Symlink created');
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
`;
|
|
64
|
+
function addEasScripts(tree) {
|
|
65
|
+
const preInstallScriptPath = 'tools/scripts/eas-build-pre-install.mjs';
|
|
66
|
+
const postInstallScriptPath = 'tools/scripts/eas-build-post-install.mjs';
|
|
67
|
+
if (!tree.exists(preInstallScriptPath)) {
|
|
68
|
+
tree.write(preInstallScriptPath, preInstallScript);
|
|
69
|
+
}
|
|
70
|
+
if (!tree.exists(postInstallScriptPath)) {
|
|
71
|
+
tree.write(postInstallScriptPath, postInstallScript);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.addEasScripts = addEasScripts;
|
|
75
|
+
//# sourceMappingURL=add-eas-scripts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-eas-scripts.js","sourceRoot":"","sources":["../../../../../../../packages/expo/src/generators/application/lib/add-eas-scripts.ts"],"names":[],"mappings":";;;AAEA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBzB,CAAC;AAEF,SAAgB,aAAa,CAAC,IAAU;IACtC,MAAM,oBAAoB,GAAG,yCAAyC,CAAC;IACvE,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;IAEzE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;KACpD;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;KACtD;AACH,CAAC;AAVD,sCAUC"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
"description": "Create an Expo Application for Nx.",
|
|
6
6
|
"examples": [
|
|
7
7
|
{
|
|
8
|
-
"command": "g @
|
|
8
|
+
"command": "g @nx/expo:app myapp --directory=nested",
|
|
9
9
|
"description": "Generate apps/nested/myapp"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
|
-
"command": "g @
|
|
12
|
+
"command": "g @nx/expo:app myapp --classComponent",
|
|
13
13
|
"description": "Use class components instead of functional components"
|
|
14
14
|
}
|
|
15
15
|
],
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
"type": "object",
|
|
7
7
|
"examples": [
|
|
8
8
|
{
|
|
9
|
-
"command": "g @
|
|
9
|
+
"command": "g @nx/expo:component my-component --project=mylib",
|
|
10
10
|
"description": "Generate a component in the mylib library"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
|
-
"command": "g @
|
|
13
|
+
"command": "g @nx/expo:component my-component --project=mylib --classComponent",
|
|
14
14
|
"description": "Generate a class component in the mylib library"
|
|
15
15
|
}
|
|
16
16
|
],
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.normalizeOptions = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const get_import_path_1 = require("@nx/js/src/utils/get-import-path");
|
|
5
6
|
function normalizeOptions(host, options) {
|
|
6
7
|
const name = (0, devkit_1.names)(options.name).fileName;
|
|
7
8
|
const projectDirectory = options.directory
|
|
@@ -9,12 +10,12 @@ function normalizeOptions(host, options) {
|
|
|
9
10
|
: name;
|
|
10
11
|
const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
|
|
11
12
|
const fileName = projectName;
|
|
12
|
-
const { libsDir
|
|
13
|
+
const { libsDir } = (0, devkit_1.getWorkspaceLayout)(host);
|
|
13
14
|
const projectRoot = (0, devkit_1.joinPathFragments)(libsDir, projectDirectory);
|
|
14
15
|
const parsedTags = options.tags
|
|
15
16
|
? options.tags.split(',').map((s) => s.trim())
|
|
16
17
|
: [];
|
|
17
|
-
const importPath = options.importPath || (0,
|
|
18
|
+
const importPath = options.importPath || (0, get_import_path_1.getImportPath)(host, projectDirectory);
|
|
18
19
|
const appMain = options.js ? 'src/index.js' : 'src/index.ts';
|
|
19
20
|
const normalized = Object.assign(Object.assign({}, options), { fileName, routePath: `/${name}`, name: projectName, projectRoot,
|
|
20
21
|
projectDirectory,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/expo/src/generators/library/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/expo/src/generators/library/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,uCAAgF;AAChF,sEAAiE;AAajE,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;IAEf,MAAM,IAAI,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS;QACxC,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE;QAChD,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,WAAW,CAAC;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GACd,OAAO,CAAC,UAAU,IAAI,IAAA,+BAAa,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;IAE7D,MAAM,UAAU,mCACX,OAAO,KACV,QAAQ,EACR,SAAS,EAAE,IAAI,IAAI,EAAE,EACrB,IAAI,EAAE,WAAW,EACjB,WAAW;QACX,gBAAgB;QAChB,UAAU;QACV,UAAU;QACV,OAAO,GACR,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AApCD,4CAoCC"}
|
|
@@ -7,6 +7,7 @@ const js_1 = require("@nx/js");
|
|
|
7
7
|
const init_1 = require("../init/init");
|
|
8
8
|
const add_linting_1 = require("../../utils/add-linting");
|
|
9
9
|
const add_jest_1 = require("../../utils/add-jest");
|
|
10
|
+
const versions_1 = require("../../utils/versions");
|
|
10
11
|
const normalize_options_1 = require("./lib/normalize-options");
|
|
11
12
|
function expoLibraryGenerator(host, schema) {
|
|
12
13
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -14,57 +15,77 @@ function expoLibraryGenerator(host, schema) {
|
|
|
14
15
|
if (options.publishable === true && !schema.importPath) {
|
|
15
16
|
throw new Error(`For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)`);
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
createFiles(host, options);
|
|
18
|
+
const tasks = [];
|
|
19
19
|
const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true, e2eTestRunner: 'none' }));
|
|
20
|
-
|
|
20
|
+
tasks.push(initTask);
|
|
21
|
+
const addProjectTask = yield addProject(host, options);
|
|
22
|
+
if (addProjectTask) {
|
|
23
|
+
tasks.push(addProjectTask);
|
|
24
|
+
}
|
|
25
|
+
createFiles(host, options);
|
|
26
|
+
const lintTask = yield (0, add_linting_1.addLinting)(host, Object.assign(Object.assign({}, options), { projectName: options.name, tsConfigPaths: [
|
|
27
|
+
(0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json'),
|
|
28
|
+
] }));
|
|
29
|
+
tasks.push(lintTask);
|
|
30
|
+
const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.name, options.projectRoot, options.js, options.skipPackageJson);
|
|
31
|
+
tasks.push(jestTask);
|
|
32
|
+
if (options.publishable || options.buildable) {
|
|
33
|
+
updateLibPackageNpmScope(host, options);
|
|
34
|
+
}
|
|
21
35
|
if (!options.skipTsConfig) {
|
|
22
36
|
(0, js_1.addTsConfigPath)(host, options.importPath, [
|
|
23
37
|
(0, devkit_1.joinPathFragments)(options.projectRoot, './src', 'index.' + (options.js ? 'js' : 'ts')),
|
|
24
38
|
]);
|
|
25
39
|
}
|
|
26
|
-
const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.name, options.projectRoot, options.js);
|
|
27
|
-
if (options.publishable || options.buildable) {
|
|
28
|
-
updateLibPackageNpmScope(host, options);
|
|
29
|
-
}
|
|
30
40
|
if (!options.skipFormat) {
|
|
31
41
|
yield (0, devkit_1.formatFiles)(host);
|
|
32
42
|
}
|
|
33
|
-
return (0, devkit_1.runTasksInSerial)(
|
|
43
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
34
44
|
});
|
|
35
45
|
}
|
|
36
46
|
exports.expoLibraryGenerator = expoLibraryGenerator;
|
|
37
47
|
function addProject(host, options) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
48
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const targets = {};
|
|
50
|
+
let task;
|
|
51
|
+
if (options.publishable || options.buildable) {
|
|
52
|
+
const { rollupInitGenerator } = (0, devkit_1.ensurePackage)('@nx/rollup', versions_1.nxVersion);
|
|
53
|
+
const { libsDir } = (0, devkit_1.getWorkspaceLayout)(host);
|
|
54
|
+
const external = [
|
|
55
|
+
'react/jsx-runtime',
|
|
56
|
+
'react-native',
|
|
57
|
+
'react',
|
|
58
|
+
'react-dom',
|
|
59
|
+
];
|
|
60
|
+
targets.build = {
|
|
61
|
+
executor: '@nx/rollup:rollup',
|
|
62
|
+
outputs: ['{options.outputPath}'],
|
|
63
|
+
options: {
|
|
64
|
+
outputPath: `dist/${libsDir}/${options.projectDirectory}`,
|
|
65
|
+
tsConfig: `${options.projectRoot}/tsconfig.lib.json`,
|
|
66
|
+
project: `${options.projectRoot}/package.json`,
|
|
67
|
+
entryFile: maybeJs(options, `${options.projectRoot}/src/index.ts`),
|
|
68
|
+
external,
|
|
69
|
+
rollupConfig: `@nx/react/plugins/bundle-rollup`,
|
|
70
|
+
assets: [
|
|
71
|
+
{
|
|
72
|
+
glob: `${options.projectRoot}/README.md`,
|
|
73
|
+
input: '.',
|
|
74
|
+
output: '.',
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
task = yield rollupInitGenerator(host, Object.assign(Object.assign({}, options), { skipFormat: true }));
|
|
80
|
+
}
|
|
81
|
+
(0, devkit_1.addProjectConfiguration)(host, options.name, {
|
|
82
|
+
root: options.projectRoot,
|
|
83
|
+
sourceRoot: (0, devkit_1.joinPathFragments)(options.projectRoot, 'src'),
|
|
84
|
+
projectType: 'library',
|
|
85
|
+
tags: options.parsedTags,
|
|
86
|
+
targets,
|
|
87
|
+
});
|
|
88
|
+
return task;
|
|
68
89
|
});
|
|
69
90
|
}
|
|
70
91
|
function updateTsConfig(tree, options) {
|
|
@@ -76,7 +97,7 @@ function updateTsConfig(tree, options) {
|
|
|
76
97
|
});
|
|
77
98
|
}
|
|
78
99
|
function createFiles(host, options) {
|
|
79
|
-
(0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, './files/lib'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot) }));
|
|
100
|
+
(0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, './files/lib'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot), rootTsConfigPath: (0, js_1.getRelativePathToRootTsConfig)(host, options.projectRoot) }));
|
|
80
101
|
if (!options.publishable && !options.buildable) {
|
|
81
102
|
host.delete(`${options.projectRoot}/package.json`);
|
|
82
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/library/library.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/library/library.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-eas-update-target.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-14-5-1/add-eas-update-target.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAEpB;;GAEG;AACH,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;gBAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACzB,QAAQ,EAAE,mBAAmB;wBAC7B,OAAO,EAAE,EAAE;qBACZ,CAAC;iBACH;
|
|
1
|
+
{"version":3,"file":"add-eas-update-target.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-14-5-1/add-eas-update-target.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAEpB;;GAEG;AACH,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;gBAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACzB,QAAQ,EAAE,mBAAmB;wBAC7B,OAAO,EAAE,EAAE;qBACZ,CAAC;iBACH;gBACD,IAAA,mCAA0B,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAChD;SACF;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;;CACzB;AAhBD,yBAgBC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
/**
|
|
6
|
+
* Add detox plugin to app.json for expo
|
|
7
|
+
*/
|
|
8
|
+
function update(tree) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
const projects = (0, devkit_1.getProjects)(tree);
|
|
11
|
+
projects.forEach((config) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
if (((_b = (_a = config.targets) === null || _a === void 0 ? void 0 : _a['start']) === null || _b === void 0 ? void 0 : _b.executor) === '@nrwl/expo:start') {
|
|
14
|
+
(0, devkit_1.updateJson)(tree, `${config.root}/app.json`, (json) => {
|
|
15
|
+
if (!json.expo.plugins) {
|
|
16
|
+
json.expo.plugins = [];
|
|
17
|
+
}
|
|
18
|
+
json.expo.plugins.push([
|
|
19
|
+
'@config-plugins/detox',
|
|
20
|
+
{
|
|
21
|
+
skipProguard: false,
|
|
22
|
+
subdomains: ['10.0.2.2', 'localhost'],
|
|
23
|
+
},
|
|
24
|
+
]);
|
|
25
|
+
return json;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.default = update;
|
|
33
|
+
//# sourceMappingURL=add-detox-app-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-detox-app-json.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-16-1-4/add-detox-app-json.ts"],"names":[],"mappings":";;;AAAA,uCAAwE;AAExE;;GAEG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;YAC1B,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;gBAC9D,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;qBACxB;oBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wBACrB,uBAAuB;wBACvB;4BACE,YAAY,EAAE,KAAK;4BACnB,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;yBACtC;qBACF,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAtBD,yBAsBC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const devkit_1 = require("@nx/devkit");
|
|
4
|
+
const add_eas_scripts_1 = require("../../generators/application/lib/add-eas-scripts");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
/**
|
|
7
|
+
* Update app's package.json to use eas-build-pre-install and eas-build-post-install scripts.
|
|
8
|
+
*/
|
|
9
|
+
function update(tree) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const projects = (0, devkit_1.getProjects)(tree);
|
|
12
|
+
const packageManagerLockFile = {
|
|
13
|
+
npm: 'package-lock.json',
|
|
14
|
+
yarn: 'yarn.lock',
|
|
15
|
+
pnpm: 'pnpm-lock.yaml',
|
|
16
|
+
};
|
|
17
|
+
for (const [name, config] of projects.entries()) {
|
|
18
|
+
if (((_b = (_a = config.targets) === null || _a === void 0 ? void 0 : _a['start']) === null || _b === void 0 ? void 0 : _b.executor) === '@nrwl/expo:start') {
|
|
19
|
+
try {
|
|
20
|
+
(0, add_eas_scripts_1.addEasScripts)(tree);
|
|
21
|
+
(0, devkit_1.updateJson)(tree, (0, path_1.join)(config.root, 'package.json'), (packageJson) => {
|
|
22
|
+
var _a;
|
|
23
|
+
if ((_a = packageJson.scripts) === null || _a === void 0 ? void 0 : _a['postinstall']) {
|
|
24
|
+
delete packageJson.scripts['postinstall'];
|
|
25
|
+
}
|
|
26
|
+
const packageManager = (0, devkit_1.detectPackageManager)(tree.root);
|
|
27
|
+
const packageLockFile = packageManagerLockFile[packageManager];
|
|
28
|
+
const offset = (0, devkit_1.offsetFromRoot)(config.root);
|
|
29
|
+
packageJson.scripts = Object.assign(Object.assign({}, packageJson.scripts), { 'eas-build-pre-install': `cd ${offset} && node tools/scripts/eas-build-pre-install.mjs . ${config.root} && cp ${packageLockFile} ${config.root}`, 'eas-build-post-install': `cd ${offset} && node tools/scripts/eas-build-post-install.mjs . ${config.root}` });
|
|
30
|
+
return packageJson;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
catch (_c) {
|
|
34
|
+
devkit_1.logger.error(`Unable to update package.json for project ${name}.`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.default = update;
|
|
40
|
+
//# sourceMappingURL=update-eas-scripts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-eas-scripts.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-16-1-4/update-eas-scripts.ts"],"names":[],"mappings":";;AAAA,uCAQoB;AACpB,sFAAiF;AACjF,+BAA4B;AAE5B;;GAEG;AACH,SAAwB,MAAM,CAAC,IAAU;;IACvC,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,sBAAsB,GAAmC;QAC7D,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gBAAgB;KACvB,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;QAC/C,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;YAC9D,IAAI;gBACF,IAAA,+BAAa,EAAC,IAAI,CAAC,CAAC;gBACpB,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE;;oBAClE,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAG,aAAa,CAAC,EAAE;wBACxC,OAAO,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;qBAC3C;oBACD,MAAM,cAAc,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3C,WAAW,CAAC,OAAO,mCACd,WAAW,CAAC,OAAO,KACtB,uBAAuB,EAAE,MAAM,MAAM,sDAAsD,MAAM,CAAC,IAAI,UAAU,eAAe,IAAI,MAAM,CAAC,IAAI,EAAE,EAChJ,wBAAwB,EAAE,MAAM,MAAM,uDAAuD,MAAM,CAAC,IAAI,EAAE,GAC3G,CAAC;oBACF,OAAO,WAAW,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;YAAC,WAAM;gBACN,eAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,GAAG,CAAC,CAAC;aACpE;SACF;KACF;AACH,CAAC;AA/BD,yBA+BC"}
|
package/src/utils/add-jest.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { Tree } from '@nx/devkit';
|
|
2
|
-
export declare function addJest(host: Tree, unitTestRunner: 'jest' | 'none', projectName: string, appProjectRoot: string, js: boolean): Promise<import("@nx/devkit").GeneratorCallback>;
|
|
2
|
+
export declare function addJest(host: Tree, unitTestRunner: 'jest' | 'none', projectName: string, appProjectRoot: string, js: boolean, skipPackageJson: boolean): Promise<import("@nx/devkit").GeneratorCallback>;
|
package/src/utils/add-jest.js
CHANGED
|
@@ -3,17 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addJest = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jest_1 = require("@nx/jest");
|
|
6
|
-
function addJest(host, unitTestRunner, projectName, appProjectRoot, js) {
|
|
6
|
+
function addJest(host, unitTestRunner, projectName, appProjectRoot, js, skipPackageJson) {
|
|
7
7
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
8
8
|
if (unitTestRunner !== 'jest') {
|
|
9
9
|
return () => { };
|
|
10
10
|
}
|
|
11
11
|
const jestTask = yield (0, jest_1.jestProjectGenerator)(host, {
|
|
12
|
+
js,
|
|
12
13
|
project: projectName,
|
|
13
14
|
supportTsx: true,
|
|
14
15
|
skipSerializers: true,
|
|
15
16
|
setupFile: 'none',
|
|
16
|
-
|
|
17
|
+
compiler: 'babel',
|
|
18
|
+
skipPackageJson,
|
|
17
19
|
skipFormat: true,
|
|
18
20
|
});
|
|
19
21
|
// overwrite the jest.config.ts file because react native needs to have special transform property
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-jest.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-jest.ts"],"names":[],"mappings":";;;;AACA,mCAAgD;AAEhD,SAAsB,OAAO,CAC3B,IAAU,EACV,cAA+B,EAC/B,WAAmB,EACnB,cAAsB,EACtB,EAAW;;
|
|
1
|
+
{"version":3,"file":"add-jest.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-jest.ts"],"names":[],"mappings":";;;;AACA,mCAAgD;AAEhD,SAAsB,OAAO,CAC3B,IAAU,EACV,cAA+B,EAC/B,WAAmB,EACnB,cAAsB,EACtB,EAAW,EACX,eAAwB;;QAExB,IAAI,cAAc,KAAK,MAAM,EAAE;YAC7B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAoB,EAAC,IAAI,EAAE;YAChD,EAAE;YACF,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,OAAO;YACjB,eAAe;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,kGAAkG;QAClG,MAAM,UAAU,GAAG,GAAG,cAAc,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG;oBACE,WAAW;;;;;;;iDAOkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;;;KAI5D,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEhC,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAzCD,0BAyCC"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import { Linter } from '@nx/linter';
|
|
2
|
-
import { Tree } from '@nx/devkit';
|
|
3
|
-
|
|
2
|
+
import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
3
|
+
interface NormalizedSchema {
|
|
4
|
+
linter?: Linter;
|
|
5
|
+
projectName: string;
|
|
6
|
+
projectRoot: string;
|
|
7
|
+
setParserOptionsProject?: boolean;
|
|
8
|
+
tsConfigPaths: string[];
|
|
9
|
+
skipPackageJson?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function addLinting(host: Tree, options: NormalizedSchema): Promise<GeneratorCallback>;
|
|
12
|
+
export {};
|
package/src/utils/add-linting.js
CHANGED
|
@@ -4,22 +4,24 @@ exports.addLinting = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const linter_1 = require("@nx/linter");
|
|
6
6
|
const devkit_1 = require("@nx/devkit");
|
|
7
|
-
const
|
|
8
|
-
function addLinting(host,
|
|
7
|
+
const lint_1 = require("@nx/react/src/utils/lint");
|
|
8
|
+
function addLinting(host, options) {
|
|
9
9
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
-
if (linter === linter_1.Linter.None) {
|
|
10
|
+
if (options.linter === linter_1.Linter.None) {
|
|
11
11
|
return () => { };
|
|
12
12
|
}
|
|
13
|
+
const tasks = [];
|
|
13
14
|
const lintTask = yield (0, linter_1.lintProjectGenerator)(host, {
|
|
14
|
-
linter,
|
|
15
|
-
project: projectName,
|
|
16
|
-
tsConfigPaths,
|
|
17
|
-
eslintFilePatterns: [`${
|
|
15
|
+
linter: options.linter,
|
|
16
|
+
project: options.projectName,
|
|
17
|
+
tsConfigPaths: options.tsConfigPaths,
|
|
18
|
+
eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx,js,jsx}`],
|
|
18
19
|
skipFormat: true,
|
|
19
|
-
|
|
20
|
+
skipPackageJson: options.skipPackageJson,
|
|
20
21
|
});
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
tasks.push(lintTask);
|
|
23
|
+
(0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(options.projectRoot, '.eslintrc.json'), (json) => {
|
|
24
|
+
json = (0, lint_1.extendReactEslintJson)(json);
|
|
23
25
|
json.ignorePatterns = [
|
|
24
26
|
...json.ignorePatterns,
|
|
25
27
|
'.expo',
|
|
@@ -30,8 +32,11 @@ function addLinting(host, projectName, appProjectRoot, tsConfigPaths, linter, se
|
|
|
30
32
|
];
|
|
31
33
|
return json;
|
|
32
34
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
if (!options.skipPackageJson) {
|
|
36
|
+
const installTask = yield (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, lint_1.extraEslintDependencies.devDependencies);
|
|
37
|
+
tasks.push(installTask);
|
|
38
|
+
}
|
|
39
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
35
40
|
});
|
|
36
41
|
}
|
|
37
42
|
exports.addLinting = addLinting;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-linting.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-linting.ts"],"names":[],"mappings":";;;;AAAA,uCAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"add-linting.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-linting.ts"],"names":[],"mappings":";;;;AAAA,uCAA0D;AAC1D,uCAOoB;AACpB,mDAGkC;AAYlC,SAAsB,UAAU,CAAC,IAAU,EAAE,OAAyB;;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,IAAI,EAAE;YAClC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QACD,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,WAAW;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,kBAAkB,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,uBAAuB,CAAC;YACnE,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EACxD,CAAC,IAAyB,EAAE,EAAE;YAC5B,IAAI,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,cAAc,GAAG;gBACpB,GAAG,IAAI,CAAC,cAAc;gBACtB,OAAO;gBACP,cAAc;gBACd,WAAW;gBACX,OAAO;gBACP,MAAM;aACP,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAC5B,MAAM,WAAW,GAAG,MAAM,IAAA,qCAA4B,EACpD,IAAI,EACJ,8BAAuB,CAAC,YAAY,EACpC,8BAAuB,CAAC,eAAe,CACxC,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AA9CD,gCA8CC"}
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const nxVersion: any;
|
|
2
|
-
export declare const expoVersion = "48.0.
|
|
2
|
+
export declare const expoVersion = "48.0.16";
|
|
3
3
|
export declare const expoMetroConfigVersion = "0.7.1";
|
|
4
4
|
export declare const expoSplashScreenVersion = "~0.18.2";
|
|
5
5
|
export declare const expoStatusBarVersion = "~1.4.4";
|
|
6
6
|
export declare const expoCliVersion = "~0.7.1";
|
|
7
|
-
export declare const easCliVersion = "~3.
|
|
7
|
+
export declare const easCliVersion = "~3.12.0";
|
|
8
8
|
export declare const babelPresetExpoVersion = "~9.3.2";
|
|
9
9
|
export declare const reactVersion = "18.2.0";
|
|
10
10
|
export declare const reactDomVersion = "18.2.0";
|
|
@@ -16,6 +16,6 @@ export declare const reactNativeWebVersion = "~0.18.12";
|
|
|
16
16
|
export declare const reactNativeSvgTransformerVersion = "1.0.0";
|
|
17
17
|
export declare const reactNativeSvgVersion = "13.4.0";
|
|
18
18
|
export declare const metroVersion = "0.74.1";
|
|
19
|
-
export declare const testingLibraryReactNativeVersion = "12.
|
|
19
|
+
export declare const testingLibraryReactNativeVersion = "12.1.2";
|
|
20
20
|
export declare const testingLibraryJestNativeVersion = "5.4.2";
|
|
21
21
|
export declare const jestExpoVersion = "~48.0.2";
|
package/src/utils/versions.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.jestExpoVersion = exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.metroVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.reactNativeWebVersion = exports.typesReactNativeVersion = exports.reactNativeVersion = exports.typesReactVersion = exports.reactTestRendererVersion = exports.reactDomVersion = exports.reactVersion = exports.babelPresetExpoVersion = exports.easCliVersion = exports.expoCliVersion = exports.expoStatusBarVersion = exports.expoSplashScreenVersion = exports.expoMetroConfigVersion = exports.expoVersion = exports.nxVersion = void 0;
|
|
4
4
|
exports.nxVersion = require('../../package.json').version;
|
|
5
|
-
exports.expoVersion = '48.0.
|
|
5
|
+
exports.expoVersion = '48.0.16';
|
|
6
6
|
exports.expoMetroConfigVersion = '0.7.1';
|
|
7
7
|
exports.expoSplashScreenVersion = '~0.18.2';
|
|
8
8
|
exports.expoStatusBarVersion = '~1.4.4';
|
|
9
9
|
exports.expoCliVersion = '~0.7.1'; // @expo/cli
|
|
10
|
-
exports.easCliVersion = '~3.
|
|
10
|
+
exports.easCliVersion = '~3.12.0';
|
|
11
11
|
exports.babelPresetExpoVersion = '~9.3.2';
|
|
12
12
|
exports.reactVersion = '18.2.0';
|
|
13
13
|
exports.reactDomVersion = '18.2.0';
|
|
@@ -19,7 +19,7 @@ exports.reactNativeWebVersion = '~0.18.12';
|
|
|
19
19
|
exports.reactNativeSvgTransformerVersion = '1.0.0';
|
|
20
20
|
exports.reactNativeSvgVersion = '13.4.0';
|
|
21
21
|
exports.metroVersion = '0.74.1';
|
|
22
|
-
exports.testingLibraryReactNativeVersion = '12.
|
|
22
|
+
exports.testingLibraryReactNativeVersion = '12.1.2';
|
|
23
23
|
exports.testingLibraryJestNativeVersion = '5.4.2';
|
|
24
24
|
exports.jestExpoVersion = '~48.0.2';
|
|
25
25
|
//# sourceMappingURL=versions.js.map
|