@nx/remix 22.4.0-beta.2 → 22.4.0-beta.4
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/generators.json +2 -1
- package/migrations.json +2 -2
- package/package.json +8 -8
- package/src/generators/application/__snapshots__/application.impl.spec.ts.snap +0 -2
- package/src/generators/convert-to-inferred/lib/utils.d.ts.map +1 -1
- package/src/generators/setup-tailwind/setup-tailwind.impl.d.ts.map +1 -1
- package/src/generators/setup-tailwind/setup-tailwind.impl.js +1 -0
- package/src/utils/testing-config-utils.d.ts.map +1 -1
- package/src/utils/testing-config-utils.js +16 -26
package/generators.json
CHANGED
|
@@ -69,7 +69,8 @@
|
|
|
69
69
|
"setup-tailwind": {
|
|
70
70
|
"implementation": "./src/generators/setup-tailwind/setup-tailwind.impl",
|
|
71
71
|
"schema": "./src/generators/setup-tailwind/schema.json",
|
|
72
|
-
"description": "Generates a TailwindCSS configuration for the Remix application"
|
|
72
|
+
"description": "Generates a TailwindCSS configuration for the Remix application",
|
|
73
|
+
"x-deprecated": "Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23."
|
|
73
74
|
},
|
|
74
75
|
"storybook-configuration": {
|
|
75
76
|
"implementation": "./src/generators/storybook-configuration/storybook-configuration.impl#remixStorybookConfiguration",
|
package/migrations.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/remix",
|
|
3
|
-
"version": "22.4.0-beta.
|
|
3
|
+
"version": "22.4.0-beta.4",
|
|
4
4
|
"description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
"migrations": "./migrations.json"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@nx/devkit": "22.4.0-beta.
|
|
33
|
-
"@nx/js": "22.4.0-beta.
|
|
34
|
-
"@nx/react": "22.4.0-beta.
|
|
35
|
-
"@nx/workspace": "22.4.0-beta.
|
|
32
|
+
"@nx/devkit": "22.4.0-beta.4",
|
|
33
|
+
"@nx/js": "22.4.0-beta.4",
|
|
34
|
+
"@nx/react": "22.4.0-beta.4",
|
|
35
|
+
"@nx/workspace": "22.4.0-beta.4",
|
|
36
36
|
"tslib": "^2.3.0",
|
|
37
|
-
"@phenomnomnominal/tsquery": "~
|
|
37
|
+
"@phenomnomnominal/tsquery": "~6.1.4"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"nx": "22.4.0-beta.
|
|
41
|
-
"@nx/vitest": "22.4.0-beta.
|
|
40
|
+
"nx": "22.4.0-beta.4",
|
|
41
|
+
"@nx/vitest": "22.4.0-beta.4"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@remix-run/dev": "^2.17.3"
|
|
@@ -135,7 +135,6 @@ export default function Index() {
|
|
|
135
135
|
exports[`Remix Application Integrated Repo --e2eTestRunner should generate a cypress e2e application for the app 1`] = `
|
|
136
136
|
"import { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset';
|
|
137
137
|
import { defineConfig } from 'cypress';
|
|
138
|
-
|
|
139
138
|
export default defineConfig({
|
|
140
139
|
e2e: {
|
|
141
140
|
...nxE2EPreset(__filename, {
|
|
@@ -388,7 +387,6 @@ export default function Index() {
|
|
|
388
387
|
exports[`Remix Application Standalone Project Repo --e2eTestRunner should generate a cypress e2e application for the app 1`] = `
|
|
389
388
|
"import { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset';
|
|
390
389
|
import { defineConfig } from 'cypress';
|
|
391
|
-
|
|
392
390
|
export default defineConfig({
|
|
393
391
|
e2e: {
|
|
394
392
|
...nxE2EPreset(__filename, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../packages/remix/src/generators/convert-to-inferred/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAqB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../packages/remix/src/generators/convert-to-inferred/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAqB,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;CAOnC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAMzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-tailwind.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/remix/src/generators/setup-tailwind/setup-tailwind.impl.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"setup-tailwind.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/remix/src/generators/setup-tailwind/setup-tailwind.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAOpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,wBAA8B,aAAa,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,mBAAmB,uBAqC7B"}
|
|
@@ -5,6 +5,7 @@ const devkit_1 = require("@nx/devkit");
|
|
|
5
5
|
const versions_1 = require("../../utils/versions");
|
|
6
6
|
const insert_statement_after_imports_1 = require("../../utils/insert-statement-after-imports");
|
|
7
7
|
async function setupTailwind(tree, options) {
|
|
8
|
+
devkit_1.logger.warn(`The 'setup-tailwind' generator is deprecated. Generating Tailwind configuration is no longer maintained. This generator will be removed in Nx 23.`);
|
|
8
9
|
const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
9
10
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), project.root, {
|
|
10
11
|
tpl: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing-config-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/remix/src/utils/testing-config-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAKrD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"testing-config-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/remix/src/utils/testing-config-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAKrD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,QAuCxB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,QAsCxB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,QAsBvB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,MAAM,QAsBvB"}
|
|
@@ -11,25 +11,19 @@ function updateVitestTestSetup(tree, pathToVitestConfig, pathToTestSetup) {
|
|
|
11
11
|
if (!tsModule) {
|
|
12
12
|
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
13
13
|
}
|
|
14
|
-
const {
|
|
14
|
+
const { ast, query } = require('@phenomnomnominal/tsquery');
|
|
15
15
|
const fileContents = tree.read(pathToVitestConfig, 'utf-8');
|
|
16
|
-
const
|
|
16
|
+
const sourceFile = ast(fileContents);
|
|
17
17
|
const TEST_SETUPFILES_SELECTOR = 'PropertyAssignment:has(Identifier[name=test]) PropertyAssignment:has(Identifier[name=setupFiles])';
|
|
18
|
-
const nodes =
|
|
19
|
-
visitAllChildren: true,
|
|
20
|
-
});
|
|
18
|
+
const nodes = query(sourceFile, TEST_SETUPFILES_SELECTOR);
|
|
21
19
|
let updatedFileContents = fileContents;
|
|
22
20
|
if (nodes.length === 0) {
|
|
23
21
|
const TEST_CONFIG_SELECTOR = 'PropertyAssignment:has(Identifier[name=test]) > ObjectLiteralExpression';
|
|
24
|
-
const testConfigNodes =
|
|
25
|
-
visitAllChildren: true,
|
|
26
|
-
});
|
|
22
|
+
const testConfigNodes = query(sourceFile, TEST_CONFIG_SELECTOR);
|
|
27
23
|
updatedFileContents = (0, devkit_1.stripIndents) `${fileContents.slice(0, testConfigNodes[0].getStart() + 1)}setupFiles: ['${pathToTestSetup}'],${fileContents.slice(testConfigNodes[0].getStart() + 1)}`;
|
|
28
24
|
}
|
|
29
25
|
else {
|
|
30
|
-
const arrayNodes =
|
|
31
|
-
visitAllChildren: true,
|
|
32
|
-
});
|
|
26
|
+
const arrayNodes = query(nodes[0], 'ArrayLiteralExpression');
|
|
33
27
|
if (arrayNodes.length !== 0) {
|
|
34
28
|
updatedFileContents = (0, devkit_1.stripIndents) `${fileContents.slice(0, arrayNodes[0].getStart() + 1)}'${pathToTestSetup}',${fileContents.slice(arrayNodes[0].getStart() + 1)}`;
|
|
35
29
|
}
|
|
@@ -40,23 +34,19 @@ function updateJestTestSetup(tree, pathToJestConfig, pathToTestSetup) {
|
|
|
40
34
|
if (!tsModule) {
|
|
41
35
|
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
42
36
|
}
|
|
43
|
-
const {
|
|
37
|
+
const { ast, query } = require('@phenomnomnominal/tsquery');
|
|
44
38
|
const fileContents = tree.read(pathToJestConfig, 'utf-8');
|
|
45
|
-
const
|
|
39
|
+
const sourceFile = ast(fileContents);
|
|
46
40
|
const TEST_SETUPFILES_SELECTOR = 'PropertyAssignment:has(Identifier[name=setupFilesAfterEnv])';
|
|
47
|
-
const nodes =
|
|
48
|
-
visitAllChildren: true,
|
|
49
|
-
});
|
|
41
|
+
const nodes = query(sourceFile, TEST_SETUPFILES_SELECTOR);
|
|
50
42
|
if (nodes.length === 0) {
|
|
51
43
|
const CONFIG_SELECTOR = 'ObjectLiteralExpression';
|
|
52
|
-
const nodes =
|
|
44
|
+
const nodes = query(sourceFile, CONFIG_SELECTOR);
|
|
53
45
|
const updatedFileContents = (0, devkit_1.stripIndents) `${fileContents.slice(0, nodes[0].getStart() + 1)}setupFilesAfterEnv: ['${pathToTestSetup}'],${fileContents.slice(nodes[0].getStart() + 1)}`;
|
|
54
46
|
tree.write(pathToJestConfig, updatedFileContents);
|
|
55
47
|
}
|
|
56
48
|
else {
|
|
57
|
-
const arrayNodes =
|
|
58
|
-
visitAllChildren: true,
|
|
59
|
-
});
|
|
49
|
+
const arrayNodes = query(nodes[0], 'ArrayLiteralExpression');
|
|
60
50
|
if (arrayNodes.length !== 0) {
|
|
61
51
|
const updatedFileContents = (0, devkit_1.stripIndents) `${fileContents.slice(0, arrayNodes[0].getStart() + 1)}'${pathToTestSetup}',${fileContents.slice(arrayNodes[0].getStart() + 1)}`;
|
|
62
52
|
tree.write(pathToJestConfig, updatedFileContents);
|
|
@@ -67,11 +57,11 @@ function updateJestTestMatch(tree, pathToJestConfig, includesString) {
|
|
|
67
57
|
if (!tsModule) {
|
|
68
58
|
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
69
59
|
}
|
|
70
|
-
const {
|
|
60
|
+
const { ast, query } = require('@phenomnomnominal/tsquery');
|
|
71
61
|
const fileContents = tree.read(pathToJestConfig, 'utf-8');
|
|
72
|
-
const
|
|
62
|
+
const sourceFile = ast(fileContents);
|
|
73
63
|
const TEST_MATCH_SELECTOR = 'PropertyAssignment:has(Identifier[name=testMatch])';
|
|
74
|
-
const nodes =
|
|
64
|
+
const nodes = query(sourceFile, TEST_MATCH_SELECTOR);
|
|
75
65
|
if (nodes.length !== 0) {
|
|
76
66
|
const updatedFileContents = (0, devkit_1.stripIndents) `${fileContents.slice(0, nodes[0].getStart())}testMatch: ["${includesString}"]${fileContents.slice(nodes[0].getEnd())}`;
|
|
77
67
|
tree.write(pathToJestConfig, updatedFileContents);
|
|
@@ -81,11 +71,11 @@ function updateVitestTestIncludes(tree, pathToVitestConfig, includesString) {
|
|
|
81
71
|
if (!tsModule) {
|
|
82
72
|
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
83
73
|
}
|
|
84
|
-
const {
|
|
74
|
+
const { ast, query } = require('@phenomnomnominal/tsquery');
|
|
85
75
|
const fileContents = tree.read(pathToVitestConfig, 'utf-8');
|
|
86
|
-
const
|
|
76
|
+
const sourceFile = ast(fileContents);
|
|
87
77
|
const TEST_INCLUDE_SELECTOR = 'PropertyAssignment:has(Identifier[name=test]) PropertyAssignment:has(Identifier[name=include])';
|
|
88
|
-
const nodes =
|
|
78
|
+
const nodes = query(sourceFile, TEST_INCLUDE_SELECTOR);
|
|
89
79
|
if (nodes.length !== 0) {
|
|
90
80
|
const updatedFileContents = (0, devkit_1.stripIndents) `${fileContents.slice(0, nodes[0].getStart())}include: ["${includesString}"]${fileContents.slice(nodes[0].getEnd())}`;
|
|
91
81
|
tree.write(pathToVitestConfig, updatedFileContents);
|