@nx/react 20.0.0-canary.20241002-1d10a19 → 20.0.0-rc.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/index.js +1 -1
- package/migrations.json +9 -112
- package/package.json +5 -5
- package/plugins/bundle-rollup.js +4 -1
- package/plugins/component-testing/index.js +1 -1
- package/plugins/nx-react-webpack-plugin/lib/apply-react-config.js +1 -1
- package/src/generators/application/application.js +2 -0
- package/src/generators/host/host.js +4 -1
- package/src/generators/init/init.js +2 -0
- package/src/generators/library/library.js +2 -0
- package/src/generators/remote/remote.js +2 -0
- package/src/module-federation/with-module-federation-ssr.js +1 -1
- package/src/module-federation/with-module-federation.js +1 -1
- package/src/utils/versions.d.ts +1 -1
- package/src/utils/versions.js +1 -1
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +0 -2
- package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +0 -9
- package/src/migrations/update-16-2-0-remove-package/update-16-2-0-remove-package.d.ts +0 -2
- package/src/migrations/update-16-2-0-remove-package/update-16-2-0-remove-package.js +0 -8
- package/src/migrations/update-16-3-0/remove-types-react-router-dom-package.d.ts +0 -2
- package/src/migrations/update-16-3-0/remove-types-react-router-dom-package.js +0 -8
- package/src/migrations/update-16-7-0/add-babel-core.d.ts +0 -2
- package/src/migrations/update-16-7-0/add-babel-core.js +0 -14
- package/src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings.d.ts +0 -2
- package/src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings.js +0 -57
package/index.js
CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupTailwindGenerator = exports.componentTestGenerator = exports.cypressComponentConfigGenerator = exports.remoteGenerator = exports.hostGenerator = exports.storybookConfigurationGenerator = exports.storiesGenerator = exports.reduxGenerator = exports.reactInitGenerator = exports.libraryGenerator = exports.componentStoryGenerator = exports.hookGenerator = exports.componentGenerator = exports.applicationGenerator = exports.reactVersion = exports.reactDomVersion = exports.assertValidStyle = exports.cssInJsDependenciesBabel = exports.extendReactEslintJson = exports.extraEslintDependencies = exports.NxReactWebpackPlugin = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const nx_react_webpack_plugin_1 = require("./plugins/nx-react-webpack-plugin/nx-react-webpack-plugin");
|
6
|
-
// TODO(
|
6
|
+
// TODO(v21): Remove this in favor of deep imports in order to load configs faster (150-200ms faster).
|
7
7
|
/** @deprecated Use '@nx/react/webpack-plugin' instead. */
|
8
8
|
exports.NxReactWebpackPlugin = nx_react_webpack_plugin_1.NxReactWebpackPlugin;
|
9
9
|
var lint_1 = require("./src/utils/lint");
|
package/migrations.json
CHANGED
@@ -1,35 +1,5 @@
|
|
1
1
|
{
|
2
2
|
"generators": {
|
3
|
-
"update-16-0-0-add-nx-packages": {
|
4
|
-
"cli": "nx",
|
5
|
-
"version": "16.0.0-beta.1",
|
6
|
-
"description": "Replace @nrwl/react with @nx/react",
|
7
|
-
"implementation": "./src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages"
|
8
|
-
},
|
9
|
-
"update-16-2-0-remove-package": {
|
10
|
-
"cli": "nx",
|
11
|
-
"version": "16.2.0-beta.0",
|
12
|
-
"description": "Remove react-test-renderer from package.json",
|
13
|
-
"implementation": "./src/migrations/update-16-2-0-remove-package/update-16-2-0-remove-package"
|
14
|
-
},
|
15
|
-
"remove-types-react-router-dom": {
|
16
|
-
"cli": "nx",
|
17
|
-
"version": "16.3.0-beta.2",
|
18
|
-
"description": "Remove @types/react-router-dom from package.json",
|
19
|
-
"implementation": "./src/migrations/update-16-3-0/remove-types-react-router-dom-package"
|
20
|
-
},
|
21
|
-
"add-babel-core": {
|
22
|
-
"cli": "nx",
|
23
|
-
"version": "16.7.0-beta.2",
|
24
|
-
"description": "Add @babel/core to package.json if @babel/preset-react is present",
|
25
|
-
"implementation": "./src/migrations/update-16-7-0/add-babel-core"
|
26
|
-
},
|
27
|
-
"update-16-7-0-add-typings": {
|
28
|
-
"cli": "nx",
|
29
|
-
"version": "16.7.0-beta.2",
|
30
|
-
"description": "Add @nx/react types to tsconfig types array",
|
31
|
-
"implementation": "./src/migrations/update-16-7-0-add-typings/update-16-7-0-add-typings"
|
32
|
-
},
|
33
3
|
"add-module-federation-env-var-to-target-defaults": {
|
34
4
|
"cli": "nx",
|
35
5
|
"version": "18.0.0-beta.0",
|
@@ -62,88 +32,6 @@
|
|
62
32
|
}
|
63
33
|
},
|
64
34
|
"packageJsonUpdates": {
|
65
|
-
"16.3.0": {
|
66
|
-
"version": "16.3.0-beta.2",
|
67
|
-
"packages": {
|
68
|
-
"react-router-dom": {
|
69
|
-
"version": "6.11.2",
|
70
|
-
"alwaysAddToPackageJson": false
|
71
|
-
},
|
72
|
-
"@svgr/rollup": {
|
73
|
-
"version": "^8.0.1",
|
74
|
-
"alwaysAddToPackageJson": false
|
75
|
-
}
|
76
|
-
}
|
77
|
-
},
|
78
|
-
"16.4.0-beta.4": {
|
79
|
-
"version": "16.4.0-beta.4",
|
80
|
-
"packages": {
|
81
|
-
"stylus": {
|
82
|
-
"version": "^0.59.0",
|
83
|
-
"alwaysAddToPackageJson": false
|
84
|
-
}
|
85
|
-
}
|
86
|
-
},
|
87
|
-
"16.4.0-beta.7": {
|
88
|
-
"version": "16.4.0-beta.7",
|
89
|
-
"packages": {
|
90
|
-
"@types/react": {
|
91
|
-
"version": "18.2.12",
|
92
|
-
"alwaysAddToPackageJson": false
|
93
|
-
},
|
94
|
-
"@types/react-dom": {
|
95
|
-
"version": "18.2.5",
|
96
|
-
"alwaysAddToPackageJson": false
|
97
|
-
},
|
98
|
-
"@types/react-is": {
|
99
|
-
"version": "18.2.0",
|
100
|
-
"alwaysAddToPackageJson": false
|
101
|
-
}
|
102
|
-
}
|
103
|
-
},
|
104
|
-
"16.4.0-beta.8": {
|
105
|
-
"version": "16.4.0-beta.8",
|
106
|
-
"packages": {
|
107
|
-
"@emotion/styled": {
|
108
|
-
"version": "11.11.0",
|
109
|
-
"alwaysAddToPackageJson": false
|
110
|
-
},
|
111
|
-
"@emotion/react": {
|
112
|
-
"version": "11.11.1",
|
113
|
-
"alwaysAddToPackageJson": false
|
114
|
-
},
|
115
|
-
"@emotion/babel-plugin": {
|
116
|
-
"version": "11.11.0",
|
117
|
-
"alwaysAddToPackageJson": false
|
118
|
-
}
|
119
|
-
}
|
120
|
-
},
|
121
|
-
"16.4.0-beta.11": {
|
122
|
-
"version": "16.4.0-beta.11",
|
123
|
-
"packages": {
|
124
|
-
"@types/react": {
|
125
|
-
"version": "18.2.13",
|
126
|
-
"alwaysAddToPackageJson": false
|
127
|
-
},
|
128
|
-
"@types/react-dom": {
|
129
|
-
"version": "18.2.6",
|
130
|
-
"alwaysAddToPackageJson": false
|
131
|
-
},
|
132
|
-
"@types/react-is": {
|
133
|
-
"version": "18.2.1",
|
134
|
-
"alwaysAddToPackageJson": false
|
135
|
-
}
|
136
|
-
}
|
137
|
-
},
|
138
|
-
"16.5.0-beta.4": {
|
139
|
-
"version": "16.5.0-beta.4",
|
140
|
-
"packages": {
|
141
|
-
"@types/react": {
|
142
|
-
"version": "18.2.14",
|
143
|
-
"alwaysAddToPackageJson": false
|
144
|
-
}
|
145
|
-
}
|
146
|
-
},
|
147
35
|
"17.0.0-beta.0": {
|
148
36
|
"version": "17.0.0-beta.0",
|
149
37
|
"packages": {
|
@@ -242,6 +130,15 @@
|
|
242
130
|
"alwaysAddToPackageJson": false
|
243
131
|
}
|
244
132
|
}
|
133
|
+
},
|
134
|
+
"20.0.0": {
|
135
|
+
"version": "20.0.0-beta.8",
|
136
|
+
"packages": {
|
137
|
+
"eslint-plugin-import": {
|
138
|
+
"version": "2.31.0",
|
139
|
+
"alwaysAddToPackageJson": false
|
140
|
+
}
|
141
|
+
}
|
245
142
|
}
|
246
143
|
}
|
247
144
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nx/react",
|
3
|
-
"version": "20.0.0-
|
3
|
+
"version": "20.0.0-rc.0",
|
4
4
|
"private": false,
|
5
5
|
"description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.",
|
6
6
|
"repository": {
|
@@ -39,10 +39,10 @@
|
|
39
39
|
"picocolors": "^1.1.0",
|
40
40
|
"tslib": "^2.3.0",
|
41
41
|
"@module-federation/enhanced": "0.6.6",
|
42
|
-
"@nx/devkit": "20.0.0-
|
43
|
-
"@nx/js": "20.0.0-
|
44
|
-
"@nx/eslint": "20.0.0-
|
45
|
-
"@nx/web": "20.0.0-
|
42
|
+
"@nx/devkit": "20.0.0-rc.0",
|
43
|
+
"@nx/js": "20.0.0-rc.0",
|
44
|
+
"@nx/eslint": "20.0.0-rc.0",
|
45
|
+
"@nx/web": "20.0.0-rc.0",
|
46
46
|
"express": "^4.19.2",
|
47
47
|
"http-proxy-middleware": "^3.0.0"
|
48
48
|
},
|
package/plugins/bundle-rollup.js
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
// TODO(
|
3
|
+
// TODO(v22): Remove this in Nx 22 and migrate to explicit rollup.config.js files.
|
4
|
+
/**
|
5
|
+
* @deprecated Use `withNx` function from `@nx/rollup/with-nx` in your rollup.config.js file instead. Use `nx g @nx/rollup:convert-to-inferred` to generate the rollup.config.js file if it does not exist.
|
6
|
+
*/
|
4
7
|
function getRollupOptions(options) {
|
5
8
|
const extraGlobals = {
|
6
9
|
react: 'React',
|
@@ -167,7 +167,7 @@ function buildTargetWebpack(ctx, buildTarget, componentTestingProjectName) {
|
|
167
167
|
}
|
168
168
|
return async () => {
|
169
169
|
customWebpack = await customWebpack;
|
170
|
-
// TODO(
|
170
|
+
// TODO(v21): Component testing need to be agnostic of the underlying executor. With Crystal, we're not using `@nx/webpack:webpack` by default.
|
171
171
|
// We need to decouple CT from the build target of the app, we just care about bundler config (e.g. webpack.config.js).
|
172
172
|
// The generated setup should support both Webpack and Vite as documented here: https://docs.cypress.io/guides/component-testing/react/overview
|
173
173
|
// Related issue: https://github.com/nrwl/nx/issues/21546
|
@@ -13,7 +13,7 @@ function applyReactConfig(options, config = {}) {
|
|
13
13
|
ref: true,
|
14
14
|
};
|
15
15
|
const svgrOptions = typeof options.svgr === 'object' ? options.svgr : defaultSvgrOptions;
|
16
|
-
// TODO(
|
16
|
+
// TODO(v21): Remove file-loader and use `?react` querystring to differentiate between asset and SVGR.
|
17
17
|
// It should be:
|
18
18
|
// use: [{
|
19
19
|
// test: /\.svg$/i,
|
@@ -27,6 +27,7 @@ const js_1 = require("@nx/js");
|
|
27
27
|
const log_show_project_command_1 = require("@nx/devkit/src/utils/log-show-project-command");
|
28
28
|
const setup_tailwind_1 = require("../setup-tailwind/setup-tailwind");
|
29
29
|
const flat_config_1 = require("@nx/eslint/src/utils/flat-config");
|
30
|
+
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
30
31
|
async function addLinting(host, options) {
|
31
32
|
const tasks = [];
|
32
33
|
if (options.linter === eslint_1.Linter.EsLint) {
|
@@ -72,6 +73,7 @@ async function applicationGenerator(host, schema) {
|
|
72
73
|
});
|
73
74
|
}
|
74
75
|
async function applicationGeneratorInternal(host, schema) {
|
76
|
+
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(host, 'react', 'application');
|
75
77
|
const tasks = [];
|
76
78
|
const options = await (0, normalize_options_1.normalizeOptions)(host, schema);
|
77
79
|
(0, show_possible_warnings_1.showPossibleWarnings)(host, options);
|
@@ -15,7 +15,9 @@ const add_mf_env_to_inputs_1 = require("../../utils/add-mf-env-to-inputs");
|
|
15
15
|
const js_1 = require("@nx/js");
|
16
16
|
const versions_1 = require("../../utils/versions");
|
17
17
|
const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
|
18
|
+
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
18
19
|
async function hostGenerator(host, schema) {
|
20
|
+
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(host, 'react', 'host');
|
19
21
|
const tasks = [];
|
20
22
|
const options = {
|
21
23
|
...(await (0, normalize_options_1.normalizeOptions)(host, schema)),
|
@@ -41,6 +43,7 @@ async function hostGenerator(host, schema) {
|
|
41
43
|
await (0, project_name_and_root_utils_1.ensureProjectName)(host, options, 'application');
|
42
44
|
const initTask = await (0, application_1.default)(host, {
|
43
45
|
...options,
|
46
|
+
directory: options.appProjectRoot,
|
44
47
|
name: options.projectName,
|
45
48
|
// The target use-case is loading remotes as child routes, thus always enable routing.
|
46
49
|
routing: true,
|
@@ -66,7 +69,7 @@ async function hostGenerator(host, schema) {
|
|
66
69
|
typescriptConfiguration: options.typescriptConfiguration,
|
67
70
|
js: options.js,
|
68
71
|
dynamic: options.dynamic,
|
69
|
-
host: options.
|
72
|
+
host: options.projectName,
|
70
73
|
skipPackageJson: options.skipPackageJson,
|
71
74
|
bundler: options.bundler,
|
72
75
|
});
|
@@ -2,8 +2,10 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.reactInitGenerator = reactInitGenerator;
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
5
|
+
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
5
6
|
const versions_1 = require("../../utils/versions");
|
6
7
|
async function reactInitGenerator(host, schema) {
|
8
|
+
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(host, 'react', 'init');
|
7
9
|
const tasks = [];
|
8
10
|
if (!schema.skipPackageJson) {
|
9
11
|
tasks.push((0, devkit_1.removeDependenciesFromPackageJson)(host, ['@nx/react'], []));
|
@@ -7,6 +7,7 @@ const devkit_1 = require("@nx/devkit");
|
|
7
7
|
const artifact_name_and_directory_utils_1 = require("@nx/devkit/src/generators/artifact-name-and-directory-utils");
|
8
8
|
const log_show_project_command_1 = require("@nx/devkit/src/utils/log-show-project-command");
|
9
9
|
const js_1 = require("@nx/js");
|
10
|
+
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
10
11
|
const versions_1 = require("../../utils/versions");
|
11
12
|
const maybe_js_1 = require("../../utils/maybe-js");
|
12
13
|
const component_1 = require("../component/component");
|
@@ -27,6 +28,7 @@ async function libraryGenerator(host, schema) {
|
|
27
28
|
});
|
28
29
|
}
|
29
30
|
async function libraryGeneratorInternal(host, schema) {
|
31
|
+
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(host, 'react', 'library');
|
30
32
|
const tasks = [];
|
31
33
|
const options = await (0, normalize_options_1.normalizeOptions)(host, schema);
|
32
34
|
if (options.publishable === true && !schema.importPath) {
|
@@ -17,6 +17,7 @@ const maybe_js_1 = require("../../utils/maybe-js");
|
|
17
17
|
const js_1 = require("@nx/js");
|
18
18
|
const versions_1 = require("../../utils/versions");
|
19
19
|
const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils");
|
20
|
+
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
20
21
|
function addModuleFederationFiles(host, options) {
|
21
22
|
const templateVariables = {
|
22
23
|
...(0, devkit_1.names)(options.projectName),
|
@@ -46,6 +47,7 @@ function addModuleFederationFiles(host, options) {
|
|
46
47
|
}
|
47
48
|
}
|
48
49
|
async function remoteGenerator(host, schema) {
|
50
|
+
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(host, 'react', 'remote');
|
49
51
|
const tasks = [];
|
50
52
|
const options = {
|
51
53
|
...(await (0, normalize_options_1.normalizeOptions)(host, schema)),
|
@@ -17,7 +17,7 @@ async function withModuleFederationForSSR(options, configOverride) {
|
|
17
17
|
runtimeChunk: false,
|
18
18
|
};
|
19
19
|
config.plugins.push(new (require('@module-federation/enhanced').ModuleFederationPlugin)({
|
20
|
-
name: options.name,
|
20
|
+
name: options.name.replace(/-/g, '_'),
|
21
21
|
filename: 'remoteEntry.js',
|
22
22
|
exposes: options.exposes,
|
23
23
|
remotes: mappedRemotes,
|
@@ -26,7 +26,7 @@ async function withModuleFederation(options, configOverride) {
|
|
26
26
|
config.optimization.runtimeChunk = 'single';
|
27
27
|
}
|
28
28
|
config.plugins.push(new webpack_1.ModuleFederationPlugin({
|
29
|
-
name: options.name,
|
29
|
+
name: options.name.replace(/-/g, '_'),
|
30
30
|
filename: 'remoteEntry.js',
|
31
31
|
exposes: options.exposes,
|
32
32
|
remotes: mappedRemotes,
|
package/src/utils/versions.d.ts
CHANGED
@@ -22,7 +22,7 @@ export declare const reactRouterDomVersion = "6.11.2";
|
|
22
22
|
export declare const testingLibraryReactVersion = "15.0.6";
|
23
23
|
export declare const reduxjsToolkitVersion = "1.9.3";
|
24
24
|
export declare const reactReduxVersion = "8.0.5";
|
25
|
-
export declare const eslintPluginImportVersion = "2.
|
25
|
+
export declare const eslintPluginImportVersion = "2.31.0";
|
26
26
|
export declare const eslintPluginJsxA11yVersion = "6.7.1";
|
27
27
|
export declare const eslintPluginReactVersion = "7.35.0";
|
28
28
|
export declare const eslintPluginReactHooksVersion = "4.6.0";
|
package/src/utils/versions.js
CHANGED
@@ -27,7 +27,7 @@ exports.reactRouterDomVersion = '6.11.2';
|
|
27
27
|
exports.testingLibraryReactVersion = '15.0.6';
|
28
28
|
exports.reduxjsToolkitVersion = '1.9.3';
|
29
29
|
exports.reactReduxVersion = '8.0.5';
|
30
|
-
exports.eslintPluginImportVersion = '2.
|
30
|
+
exports.eslintPluginImportVersion = '2.31.0';
|
31
31
|
exports.eslintPluginJsxA11yVersion = '6.7.1';
|
32
32
|
exports.eslintPluginReactVersion = '7.35.0';
|
33
33
|
exports.eslintPluginReactHooksVersion = '4.6.0';
|
@@ -1,9 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = replacePackage;
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
5
|
-
const replace_package_1 = require("@nx/devkit/src/utils/replace-package");
|
6
|
-
async function replacePackage(tree) {
|
7
|
-
await (0, replace_package_1.replaceNrwlPackageWithNxPackage)(tree, '@nrwl/react', '@nx/react');
|
8
|
-
await (0, devkit_1.formatFiles)(tree);
|
9
|
-
}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = removePackage;
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
5
|
-
async function removePackage(tree) {
|
6
|
-
(0, devkit_1.removeDependenciesFromPackageJson)(tree, [], ['react-test-renderer']);
|
7
|
-
await (0, devkit_1.formatFiles)(tree);
|
8
|
-
}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = removePackage;
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
5
|
-
async function removePackage(tree) {
|
6
|
-
(0, devkit_1.removeDependenciesFromPackageJson)(tree, [], ['react-test-renderer']);
|
7
|
-
await (0, devkit_1.formatFiles)(tree);
|
8
|
-
}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = addBabelCore;
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
5
|
-
const versions_1 = require("../../utils/versions");
|
6
|
-
async function addBabelCore(tree) {
|
7
|
-
const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
|
8
|
-
if (packageJson?.devDependencies['@babel/preset-react']) {
|
9
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
|
10
|
-
'@babel/core': versions_1.babelCoreVersion,
|
11
|
-
});
|
12
|
-
await (0, devkit_1.formatFiles)(tree);
|
13
|
-
}
|
14
|
-
}
|
@@ -1,57 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = addTypings;
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
5
|
-
async function addTypings(tree) {
|
6
|
-
const projects = (0, devkit_1.getProjects)(tree);
|
7
|
-
const buildExecutors = [
|
8
|
-
'@nx/webpack:webpack',
|
9
|
-
'@nx/vite:build',
|
10
|
-
'@nx/rspack:rspack',
|
11
|
-
];
|
12
|
-
const serveExecutors = [
|
13
|
-
'@nx/webpack:dev-server',
|
14
|
-
'@nx/vite:dev-server',
|
15
|
-
'@nx/rspack:dev-server',
|
16
|
-
];
|
17
|
-
const relatedTsConfigs = [
|
18
|
-
'tsconfig.app.json',
|
19
|
-
'tsconfig.lib.json',
|
20
|
-
'tsconfig.spec.json',
|
21
|
-
];
|
22
|
-
const typesToAdd = [
|
23
|
-
'@nx/react/typings/cssmodule.d.ts',
|
24
|
-
'@nx/react/typings/image.d.ts',
|
25
|
-
];
|
26
|
-
for (const [, config] of projects) {
|
27
|
-
if (!buildExecutors.includes(config?.targets?.build?.executor)) {
|
28
|
-
continue;
|
29
|
-
}
|
30
|
-
if (config?.targets?.serve?.executor &&
|
31
|
-
!serveExecutors.includes(config?.targets?.serve?.executor)) {
|
32
|
-
continue;
|
33
|
-
}
|
34
|
-
const rootPath = config.root;
|
35
|
-
const projectTsConfigPath = (0, devkit_1.joinPathFragments)(rootPath, 'tsconfig.json');
|
36
|
-
const projectTsConfig = (0, devkit_1.readJson)(tree, projectTsConfigPath);
|
37
|
-
if (projectTsConfig.compilerOptions?.jsx !== 'react-jsx') {
|
38
|
-
continue;
|
39
|
-
}
|
40
|
-
relatedTsConfigs.forEach((tsConfig) => {
|
41
|
-
const tsConfigPath = (0, devkit_1.joinPathFragments)(rootPath, tsConfig);
|
42
|
-
if (tree.exists(tsConfigPath)) {
|
43
|
-
(0, devkit_1.updateJson)(tree, tsConfigPath, (json) => {
|
44
|
-
const compilerOptions = json.compilerOptions || {};
|
45
|
-
compilerOptions.types = [
|
46
|
-
...new Set([...(compilerOptions.types || []), ...typesToAdd]),
|
47
|
-
];
|
48
|
-
if (json.files?.length > 0) {
|
49
|
-
json.files = json.files.filter((file) => !['cssmodule.d.ts', 'image.d.ts'].includes(file));
|
50
|
-
}
|
51
|
-
return { ...json, compilerOptions };
|
52
|
-
});
|
53
|
-
}
|
54
|
-
});
|
55
|
-
}
|
56
|
-
await (0, devkit_1.formatFiles)(tree);
|
57
|
-
}
|