@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 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
@@ -70,8 +70,8 @@
70
70
  }
71
71
  }
72
72
  },
73
- "22.4.0": {
74
- "version": "22.4.0-beta.2",
73
+ "22.3.4": {
74
+ "version": "22.3.4-beta.0",
75
75
  "packages": {
76
76
  "@remix-run/node": {
77
77
  "version": "2.17.3",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/remix",
3
- "version": "22.4.0-beta.2",
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.2",
33
- "@nx/js": "22.4.0-beta.2",
34
- "@nx/react": "22.4.0-beta.2",
35
- "@nx/workspace": "22.4.0-beta.2",
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": "~5.0.1"
37
+ "@phenomnomnominal/tsquery": "~6.1.4"
38
38
  },
39
39
  "devDependencies": {
40
- "nx": "22.4.0-beta.2",
41
- "@nx/vitest": "22.4.0-beta.2"
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;AAG1D,eAAO,MAAM,uBAAuB;;;;;;;CAOnC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAMzD"}
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,EAQL,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,uBAiC7B"}
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,QA6CxB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,QA0CxB;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"}
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 { tsquery } = require('@phenomnomnominal/tsquery');
14
+ const { ast, query } = require('@phenomnomnominal/tsquery');
15
15
  const fileContents = tree.read(pathToVitestConfig, 'utf-8');
16
- const ast = tsquery.ast(fileContents);
16
+ const sourceFile = ast(fileContents);
17
17
  const TEST_SETUPFILES_SELECTOR = 'PropertyAssignment:has(Identifier[name=test]) PropertyAssignment:has(Identifier[name=setupFiles])';
18
- const nodes = tsquery(ast, TEST_SETUPFILES_SELECTOR, {
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 = tsquery(ast, TEST_CONFIG_SELECTOR, {
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 = tsquery(nodes[0], 'ArrayLiteralExpression', {
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 { tsquery } = require('@phenomnomnominal/tsquery');
37
+ const { ast, query } = require('@phenomnomnominal/tsquery');
44
38
  const fileContents = tree.read(pathToJestConfig, 'utf-8');
45
- const ast = tsquery.ast(fileContents);
39
+ const sourceFile = ast(fileContents);
46
40
  const TEST_SETUPFILES_SELECTOR = 'PropertyAssignment:has(Identifier[name=setupFilesAfterEnv])';
47
- const nodes = tsquery(ast, TEST_SETUPFILES_SELECTOR, {
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 = tsquery(ast, CONFIG_SELECTOR, { visitAllChildren: true });
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 = tsquery(nodes[0], 'ArrayLiteralExpression', {
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 { tsquery } = require('@phenomnomnominal/tsquery');
60
+ const { ast, query } = require('@phenomnomnominal/tsquery');
71
61
  const fileContents = tree.read(pathToJestConfig, 'utf-8');
72
- const ast = tsquery.ast(fileContents);
62
+ const sourceFile = ast(fileContents);
73
63
  const TEST_MATCH_SELECTOR = 'PropertyAssignment:has(Identifier[name=testMatch])';
74
- const nodes = tsquery(ast, TEST_MATCH_SELECTOR, { visitAllChildren: true });
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 { tsquery } = require('@phenomnomnominal/tsquery');
74
+ const { ast, query } = require('@phenomnomnominal/tsquery');
85
75
  const fileContents = tree.read(pathToVitestConfig, 'utf-8');
86
- const ast = tsquery.ast(fileContents);
76
+ const sourceFile = ast(fileContents);
87
77
  const TEST_INCLUDE_SELECTOR = 'PropertyAssignment:has(Identifier[name=test]) PropertyAssignment:has(Identifier[name=include])';
88
- const nodes = tsquery(ast, TEST_INCLUDE_SELECTOR, { visitAllChildren: true });
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);