@nx/remix 23.2.0-beta.1 → 23.2.0-beta.11
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/README.md +2 -2
- package/dist/src/executors/build/build.impl.js +9 -11
- package/dist/src/generators/application/application.impl.js +13 -5
- package/dist/src/generators/application/files/common/app/entry.server.tsx__tmpl__ +1 -2
- package/dist/src/generators/application/files/common/tests/routes/_index.spec.tsx__tmpl__ +1 -1
- package/dist/src/generators/application/files/nx-welcome/claimed/app/nx-welcome.tsx__tmpl__ +2 -0
- package/dist/src/generators/application/files/nx-welcome/not-configured/app/nx-welcome.tsx__tmpl__ +2 -0
- package/dist/src/generators/application/files/nx-welcome/unclaimed/app/nx-welcome.tsx__tmpl__ +2 -0
- package/dist/src/generators/application/lib/add-e2e.js +1 -1
- package/dist/src/generators/application/lib/ignore-vite-temp-files.d.ts +0 -1
- package/dist/src/generators/application/lib/ignore-vite-temp-files.js +4 -14
- package/dist/src/generators/application/lib/normalize-options.js +1 -1
- package/dist/src/generators/application/schema.d.ts +3 -3
- package/dist/src/generators/application/schema.json +7 -4
- package/dist/src/generators/library/lib/normalize-options.js +3 -0
- package/dist/src/generators/library/library.impl.js +4 -1
- package/dist/src/generators/library/schema.d.ts +2 -1
- package/dist/src/generators/library/schema.json +2 -4
- package/dist/src/generators/preset/preset.impl.js +1 -2
- package/dist/src/generators/storybook-configuration/schema.d.ts +2 -2
- package/dist/src/generators/storybook-configuration/schema.json +1 -2
- package/dist/src/plugins/plugin.js +2 -4
- package/dist/src/utils/create-watch-paths.js +4 -5
- package/package.json +17 -9
- /package/dist/src/generators/storybook-configuration/files/{vite.config.ts__tpl__ → vite.config.mts__tpl__} +0 -0
package/README.md
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
<div style="text-align: center;">
|
|
9
9
|
|
|
10
|
-
[]()
|
|
10
|
+
[](<>)
|
|
11
11
|
[](https://www.npmjs.com/package/nx)
|
|
12
|
-
[]()
|
|
12
|
+
[](<>)
|
|
13
13
|
[](http://commitizen.github.io/cz-cli/)
|
|
14
14
|
[](https://go.nx.dev/community)
|
|
15
15
|
[](https://nx.dev/docs/features/ci-features/sandboxing)
|
|
@@ -51,6 +51,7 @@ async function buildExecutor(options, context) {
|
|
|
51
51
|
if (!outputIsDirectory) {
|
|
52
52
|
(0, fs_extra_1.mkdir)(options.outputPath);
|
|
53
53
|
}
|
|
54
|
+
const packageManager = (0, devkit_1.detectPackageManager)(context.root);
|
|
54
55
|
let packageJson;
|
|
55
56
|
if (options.generatePackageJson) {
|
|
56
57
|
packageJson = (0, js_1.createPackageJson)(context.projectName, context.projectGraph, {
|
|
@@ -66,22 +67,19 @@ async function buildExecutor(options, context) {
|
|
|
66
67
|
packageJson.scripts['start'] = 'remix-serve ./build/index.js';
|
|
67
68
|
}
|
|
68
69
|
updatePackageJson(packageJson, context);
|
|
69
|
-
(0, devkit_1.writeJsonFile)(`${options.outputPath}/package.json`, packageJson);
|
|
70
70
|
}
|
|
71
71
|
else {
|
|
72
72
|
packageJson = (0, devkit_1.readJsonFile)((0, path_1.join)(projectRoot, 'package.json'));
|
|
73
73
|
}
|
|
74
74
|
if (options.generateLockfile) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
});
|
|
84
|
-
}
|
|
75
|
+
(0, js_1.generatePrunedDeployOutput)(packageJson, context.projectGraph, projectRoot, {
|
|
76
|
+
outputDirectory: options.outputPath,
|
|
77
|
+
packageManager,
|
|
78
|
+
workspaceRoot: context.root,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (options.generatePackageJson) {
|
|
82
|
+
(0, devkit_1.writeJsonFile)(`${options.outputPath}/package.json`, packageJson);
|
|
85
83
|
}
|
|
86
84
|
// If output path is different from source path, then copy over the config and public files.
|
|
87
85
|
// This is the default behavior when running `nx build <app>`.
|
|
@@ -6,13 +6,12 @@ const tslib_1 = require("tslib");
|
|
|
6
6
|
const internal_1 = require("@nx/devkit/internal");
|
|
7
7
|
const devkit_1 = require("@nx/devkit");
|
|
8
8
|
const js_1 = require("@nx/js");
|
|
9
|
-
const
|
|
9
|
+
const internal_2 = require("@nx/js/internal");
|
|
10
10
|
const testing_config_utils_1 = require("../../utils/testing-config-utils");
|
|
11
11
|
const versions_1 = require("../../utils/versions");
|
|
12
12
|
const init_1 = tslib_1.__importDefault(require("../init/init"));
|
|
13
13
|
const update_dependencies_1 = require("../utils/update-dependencies");
|
|
14
14
|
const lib_1 = require("./lib");
|
|
15
|
-
const internal_2 = require("@nx/js/internal");
|
|
16
15
|
function remixApplicationGenerator(tree, options) {
|
|
17
16
|
return remixApplicationGeneratorInternal(tree, {
|
|
18
17
|
addPlugin: true,
|
|
@@ -56,9 +55,9 @@ async function remixApplicationGeneratorInternal(tree, _options) {
|
|
|
56
55
|
}
|
|
57
56
|
const installTask = (0, update_dependencies_1.updateDependencies)(tree);
|
|
58
57
|
tasks.push(installTask);
|
|
59
|
-
const onBoardingStatus = await (0,
|
|
58
|
+
const onBoardingStatus = await (0, internal_1.createNxCloudOnboardingURLForWelcomeApp)(tree, options.nxCloudToken);
|
|
60
59
|
const connectCloudUrl = onBoardingStatus === 'unclaimed' &&
|
|
61
|
-
(await (0,
|
|
60
|
+
(await (0, internal_1.getNxCloudAppOnBoardingUrl)(options.nxCloudToken));
|
|
62
61
|
const vars = {
|
|
63
62
|
...options,
|
|
64
63
|
tmpl: '',
|
|
@@ -148,7 +147,16 @@ async function remixApplicationGeneratorInternal(tree, _options) {
|
|
|
148
147
|
else {
|
|
149
148
|
tree.delete((0, devkit_1.joinPathFragments)(options.projectRoot, `tests/routes/_index.spec.tsx`));
|
|
150
149
|
}
|
|
151
|
-
if (options.linter !== 'none') {
|
|
150
|
+
if (options.linter !== 'eslint' && options.linter !== 'none') {
|
|
151
|
+
tasks.push(await (0, internal_2.addLintingToProject)(tree, {
|
|
152
|
+
oxlintPlugins: ['react', 'react-perf', 'jsx-a11y'],
|
|
153
|
+
unitTestRunner: options.unitTestRunner,
|
|
154
|
+
linter: options.linter,
|
|
155
|
+
project: options.projectName,
|
|
156
|
+
addPlugin: options.addPlugin,
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
if (options.linter === 'eslint') {
|
|
152
160
|
const { lintProjectGenerator } = (0, devkit_1.ensurePackage)('@nx/eslint', versions_1.nxVersion);
|
|
153
161
|
const { addIgnoresToLintConfig, } = require('@nx/eslint/internal');
|
|
154
162
|
const eslintTask = await lintProjectGenerator(tree, {
|
|
@@ -21,8 +21,7 @@ export default function handleRequest(
|
|
|
21
21
|
remixContext: EntryContext,
|
|
22
22
|
// This is ignored so we can keep it in the template for visibility. Feel
|
|
23
23
|
// free to delete this parameter in your app if you're not using it!
|
|
24
|
-
|
|
25
|
-
loadContext: AppLoadContext
|
|
24
|
+
_loadContext: AppLoadContext
|
|
26
25
|
) {
|
|
27
26
|
return isbot(request.headers.get("user-agent") || "")
|
|
28
27
|
? handleBotRequest(
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
Delete this file and get started with your project!
|
|
6
6
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
7
7
|
*/
|
|
8
|
+
/* oxlint-disable jsx-a11y/prefer-tag-over-role -- the icons below
|
|
9
|
+
are inline SVGs, which have no tag to swap the role for. */
|
|
8
10
|
export function NxWelcome({ title }: { title: string }) {
|
|
9
11
|
return (
|
|
10
12
|
<>
|
package/dist/src/generators/application/files/nx-welcome/not-configured/app/nx-welcome.tsx__tmpl__
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
Delete this file and get started with your project!
|
|
6
6
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
7
7
|
*/
|
|
8
|
+
/* oxlint-disable jsx-a11y/prefer-tag-over-role -- the icons below
|
|
9
|
+
are inline SVGs, which have no tag to swap the role for. */
|
|
8
10
|
export function NxWelcome({ title }: { title: string }) {
|
|
9
11
|
return (
|
|
10
12
|
<>
|
package/dist/src/generators/application/files/nx-welcome/unclaimed/app/nx-welcome.tsx__tmpl__
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
Delete this file and get started with your project!
|
|
6
6
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
7
7
|
*/
|
|
8
|
+
/* oxlint-disable jsx-a11y/prefer-tag-over-role -- the icons below
|
|
9
|
+
are inline SVGs, which have no tag to swap the role for. */
|
|
8
10
|
export function NxWelcome({ title }: { title: string }) {
|
|
9
11
|
return (
|
|
10
12
|
<>
|
|
@@ -82,7 +82,7 @@ async function addE2E(tree, options) {
|
|
|
82
82
|
directory: 'src',
|
|
83
83
|
js: false,
|
|
84
84
|
linter: options.linter,
|
|
85
|
-
|
|
85
|
+
enableTypedLinting: false,
|
|
86
86
|
webServerCommand: e2eWebsServerInfo.e2eCiWebServerCommand,
|
|
87
87
|
webServerAddress: e2eWebsServerInfo.e2eCiBaseUrl,
|
|
88
88
|
rootProject: options.rootProject,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ignoreViteTempFiles = ignoreViteTempFiles;
|
|
4
|
-
exports.isEslintInstalled = isEslintInstalled;
|
|
5
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const internal_1 = require("@nx/js/internal");
|
|
6
6
|
const versions_1 = require("../../../utils/versions");
|
|
7
7
|
async function ignoreViteTempFiles(tree, projectRoot) {
|
|
8
8
|
addViteTempFilesToGitIgnore(tree);
|
|
@@ -23,7 +23,9 @@ function addViteTempFilesToGitIgnore(tree) {
|
|
|
23
23
|
tree.write('.gitignore', gitIgnoreContents);
|
|
24
24
|
}
|
|
25
25
|
async function ignoreViteTempFilesInEslintConfig(tree, projectRoot) {
|
|
26
|
-
|
|
26
|
+
// Checked before `ensurePackage` so an Oxlint workspace does not install
|
|
27
|
+
// `@nx/eslint` only for `isEslintConfigSupported` to send it straight back.
|
|
28
|
+
if (!(0, internal_1.detectLinters)(tree).includes('eslint')) {
|
|
27
29
|
return;
|
|
28
30
|
}
|
|
29
31
|
(0, devkit_1.ensurePackage)('@nx/eslint', versions_1.nxVersion);
|
|
@@ -46,15 +48,3 @@ async function ignoreViteTempFilesInEslintConfig(tree, projectRoot) {
|
|
|
46
48
|
'**/vitest.config.*.timestamp*',
|
|
47
49
|
]);
|
|
48
50
|
}
|
|
49
|
-
function isEslintInstalled(tree) {
|
|
50
|
-
try {
|
|
51
|
-
require('eslint');
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
catch { }
|
|
55
|
-
// it might not be installed yet, but it might be in the tree pending install
|
|
56
|
-
const { devDependencies, dependencies } = tree.exists('package.json')
|
|
57
|
-
? (0, devkit_1.readJson)(tree, 'package.json')
|
|
58
|
-
: {};
|
|
59
|
-
return !!devDependencies?.['eslint'] || !!dependencies?.['eslint'];
|
|
60
|
-
}
|
|
@@ -26,7 +26,7 @@ async function normalizeOptions(tree, options) {
|
|
|
26
26
|
: [];
|
|
27
27
|
return {
|
|
28
28
|
...options,
|
|
29
|
-
linter: options.linter
|
|
29
|
+
linter: await (0, internal_2.normalizeLinterOption)(tree, options.linter),
|
|
30
30
|
projectName: appProjectName,
|
|
31
31
|
projectRoot,
|
|
32
32
|
importPath,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LinterType } from '@nx/js';
|
|
2
2
|
|
|
3
3
|
export interface NxRemixGeneratorSchema {
|
|
4
4
|
directory: string;
|
|
5
5
|
name?: string;
|
|
6
6
|
tags?: string;
|
|
7
|
-
linter?:
|
|
7
|
+
linter?: LinterType;
|
|
8
8
|
unitTestRunner?: 'vitest' | 'jest' | 'none';
|
|
9
9
|
e2eTestRunner?: 'cypress' | 'playwright' | 'none';
|
|
10
10
|
skipFormat?: boolean;
|
|
@@ -13,6 +13,6 @@ export interface NxRemixGeneratorSchema {
|
|
|
13
13
|
addPlugin?: boolean;
|
|
14
14
|
nxCloudToken?: string;
|
|
15
15
|
useTsSolution?: boolean;
|
|
16
|
-
formatter?: 'prettier' | 'none';
|
|
16
|
+
formatter?: 'prettier' | 'oxfmt' | 'none';
|
|
17
17
|
useProjectJson?: boolean;
|
|
18
18
|
}
|
|
@@ -21,13 +21,16 @@
|
|
|
21
21
|
"x-priority": "important"
|
|
22
22
|
},
|
|
23
23
|
"linter": {
|
|
24
|
-
"description": "The tool to use for running lint checks.",
|
|
24
|
+
"description": "The tool to use for running lint checks. Defaults to the linter the workspace already uses.",
|
|
25
25
|
"type": "string",
|
|
26
|
-
"enum": ["eslint", "none"],
|
|
27
|
-
"default": "none",
|
|
28
|
-
"x-prompt": "Which linter would you like to use?",
|
|
26
|
+
"enum": ["eslint", "oxlint", "none"],
|
|
29
27
|
"x-priority": "important"
|
|
30
28
|
},
|
|
29
|
+
"formatter": {
|
|
30
|
+
"description": "The tool to use for code formatting.",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"enum": ["none", "prettier", "oxfmt"]
|
|
33
|
+
},
|
|
31
34
|
"unitTestRunner": {
|
|
32
35
|
"type": "string",
|
|
33
36
|
"enum": ["vitest", "jest", "none"],
|
|
@@ -18,6 +18,9 @@ async function normalizeOptions(tree, options) {
|
|
|
18
18
|
const isUsingTsSolutionConfig = (0, internal_2.isUsingTsSolutionSetup)(tree);
|
|
19
19
|
return {
|
|
20
20
|
...options,
|
|
21
|
+
// Resolved after the spread: the framework's ESLint shaping is guarded on
|
|
22
|
+
// `=== 'eslint'`, and an unresolved `undefined` would skip all of it.
|
|
23
|
+
linter: await (0, internal_2.normalizeLinterOption)(tree, options.linter),
|
|
21
24
|
unitTestRunner: options.unitTestRunner ?? 'vitest',
|
|
22
25
|
projectName: isUsingTsSolutionConfig && !options.name ? importPath : projectName,
|
|
23
26
|
projectRoot,
|
|
@@ -22,6 +22,9 @@ async function remixLibraryGeneratorInternal(tree, schema) {
|
|
|
22
22
|
const tasks = [];
|
|
23
23
|
tasks.push((0, assert_and_pin_remix_typescript_1.assertAndPinRemixTypescript)(tree));
|
|
24
24
|
const addTsPlugin = (0, internal_1.shouldConfigureTsSolutionSetup)(tree, schema.addPlugin);
|
|
25
|
+
// Detected before `updateDependencies`, which installs eslint unconditionally.
|
|
26
|
+
// Detecting afterwards would just observe what this generator itself added.
|
|
27
|
+
const linter = await (0, internal_1.normalizeLinterOption)(tree, schema.linter);
|
|
25
28
|
const installTask = (0, update_dependencies_1.updateDependencies)(tree);
|
|
26
29
|
tasks.push(installTask);
|
|
27
30
|
const jsInitTask = await (0, js_1.initGenerator)(tree, {
|
|
@@ -30,7 +33,7 @@ async function remixLibraryGeneratorInternal(tree, schema) {
|
|
|
30
33
|
skipFormat: true,
|
|
31
34
|
});
|
|
32
35
|
tasks.push(jsInitTask);
|
|
33
|
-
const options = await (0, lib_1.normalizeOptions)(tree, schema);
|
|
36
|
+
const options = await (0, lib_1.normalizeOptions)(tree, { ...schema, linter });
|
|
34
37
|
if (options.isUsingTsSolutionConfig) {
|
|
35
38
|
await (0, internal_1.addProjectToTsSolutionWorkspace)(tree, options.projectRoot);
|
|
36
39
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LinterType } from '@nx/js';
|
|
1
2
|
import { SupportedStyles } from '@nx/react';
|
|
2
3
|
|
|
3
4
|
export interface NxRemixGeneratorSchema {
|
|
@@ -9,7 +10,7 @@ export interface NxRemixGeneratorSchema {
|
|
|
9
10
|
/** @deprecated Use bundler instead. */
|
|
10
11
|
buildable?: boolean;
|
|
11
12
|
bundler?: 'none' | 'vite' | 'rollup';
|
|
12
|
-
linter?:
|
|
13
|
+
linter?: LinterType;
|
|
13
14
|
unitTestRunner?: 'jest' | 'vitest' | 'none';
|
|
14
15
|
js?: boolean;
|
|
15
16
|
skipFormat?: boolean;
|
|
@@ -46,11 +46,9 @@
|
|
|
46
46
|
"x-priority": "important"
|
|
47
47
|
},
|
|
48
48
|
"linter": {
|
|
49
|
-
"description": "The tool to use for running lint checks.",
|
|
49
|
+
"description": "The tool to use for running lint checks. Defaults to the linter the workspace already uses.",
|
|
50
50
|
"type": "string",
|
|
51
|
-
"enum": ["eslint", "none"],
|
|
52
|
-
"default": "none",
|
|
53
|
-
"x-prompt": "Which linter would you like to use?",
|
|
51
|
+
"enum": ["eslint", "oxlint", "none"],
|
|
54
52
|
"x-priority": "important"
|
|
55
53
|
},
|
|
56
54
|
"unitTestRunner": {
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = default_1;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
|
-
const devkit_2 = require("@nx/devkit");
|
|
7
6
|
const application_impl_1 = tslib_1.__importDefault(require("../application/application.impl"));
|
|
8
7
|
const setup_impl_1 = tslib_1.__importDefault(require("../setup/setup.impl"));
|
|
9
8
|
const normalize_options_1 = require("./lib/normalize-options");
|
|
@@ -31,5 +30,5 @@ async function default_1(tree, _options) {
|
|
|
31
30
|
tree.delete('apps');
|
|
32
31
|
tree.delete('libs');
|
|
33
32
|
await (0, devkit_1.formatFiles)(tree);
|
|
34
|
-
return (0,
|
|
33
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
35
34
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LinterType } from '@nx/js';
|
|
2
2
|
|
|
3
3
|
export interface StorybookConfigurationSchema {
|
|
4
4
|
project: string;
|
|
@@ -6,7 +6,7 @@ export interface StorybookConfigurationSchema {
|
|
|
6
6
|
generateStories?: boolean;
|
|
7
7
|
js?: boolean;
|
|
8
8
|
tsConfiguration?: boolean;
|
|
9
|
-
linter?:
|
|
9
|
+
linter?: LinterType;
|
|
10
10
|
ignorePaths?: string[];
|
|
11
11
|
configureTestRunner?: boolean;
|
|
12
12
|
configureStaticServe?: boolean;
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createNodesV2 = exports.createNodes = exports.createDependencies = void 0;
|
|
4
4
|
const internal_1 = require("@nx/devkit/internal");
|
|
5
|
-
const cache_directory_1 = require("nx/src/utils/cache-directory");
|
|
6
|
-
const file_hasher_1 = require("nx/src/hasher/file-hasher");
|
|
7
5
|
const devkit_1 = require("@nx/devkit");
|
|
8
6
|
const js_1 = require("@nx/js");
|
|
9
7
|
const path_1 = require("path");
|
|
@@ -21,8 +19,8 @@ const remixConfigGlob = '**/{remix,vite}.config.{js,cjs,mjs,ts,cts,mts}';
|
|
|
21
19
|
exports.createNodes = [
|
|
22
20
|
remixConfigGlob,
|
|
23
21
|
async (configFilePaths, options, context) => {
|
|
24
|
-
const optionsHash = (0,
|
|
25
|
-
const cachePath = (0, path_1.join)(
|
|
22
|
+
const optionsHash = (0, internal_1.hashObject)(options);
|
|
23
|
+
const cachePath = (0, path_1.join)(internal_1.workspaceDataDirectory, `remix-${optionsHash}.hash`);
|
|
26
24
|
const targetsCache = new internal_1.PluginCache(cachePath);
|
|
27
25
|
const packageManager = (0, devkit_1.detectPackageManager)(context.workspaceRoot);
|
|
28
26
|
const pmc = (0, devkit_1.getPackageManagerCommand)(packageManager);
|
|
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createWatchPaths = createWatchPaths;
|
|
4
4
|
exports.getRelativeDependencyPaths = getRelativeDependencyPaths;
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
|
-
const find_project_for_path_1 = require("nx/src/project-graph/utils/find-project-for-path");
|
|
7
|
-
const project_graph_utils_1 = require("nx/src/utils/project-graph-utils");
|
|
8
6
|
const path_1 = require("path");
|
|
7
|
+
const internal_1 = require("@nx/devkit/internal");
|
|
9
8
|
/**
|
|
10
9
|
* Generates an array of paths to watch based on the project dependencies.
|
|
11
10
|
*
|
|
@@ -13,9 +12,9 @@ const path_1 = require("path");
|
|
|
13
12
|
*/
|
|
14
13
|
async function createWatchPaths(dirname) {
|
|
15
14
|
const graph = await (0, devkit_1.createProjectGraphAsync)();
|
|
16
|
-
const projectRootMappings = (0,
|
|
17
|
-
const projectName = (0,
|
|
18
|
-
const deps = (0,
|
|
15
|
+
const projectRootMappings = (0, internal_1.createProjectRootMappings)(graph.nodes);
|
|
16
|
+
const projectName = (0, internal_1.findProjectForPath)((0, path_1.relative)(devkit_1.workspaceRoot, dirname), projectRootMappings);
|
|
17
|
+
const deps = (0, internal_1.findAllProjectNodeDependencies)(projectName, graph);
|
|
19
18
|
return getRelativeDependencyPaths(graph.nodes[projectName], deps, graph);
|
|
20
19
|
}
|
|
21
20
|
// Exported for testing
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/remix",
|
|
3
|
-
"version": "23.2.0-beta.
|
|
3
|
+
"version": "23.2.0-beta.11",
|
|
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",
|
|
@@ -56,20 +56,28 @@
|
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"tslib": "^2.3.0",
|
|
58
58
|
"@phenomnomnominal/tsquery": "~6.2.0",
|
|
59
|
-
"@nx/devkit": "23.2.0-beta.
|
|
60
|
-
"@nx/
|
|
61
|
-
"@nx/
|
|
62
|
-
"@nx/
|
|
59
|
+
"@nx/devkit": "23.2.0-beta.11",
|
|
60
|
+
"@nx/js": "23.2.0-beta.11",
|
|
61
|
+
"@nx/react": "23.2.0-beta.11",
|
|
62
|
+
"@nx/web": "23.2.0-beta.11"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@nx/eslint": "23.2.0-beta.
|
|
66
|
-
"nx": "23.2.0-beta.
|
|
67
|
-
"@nx/vitest": "23.2.0-beta.
|
|
65
|
+
"@nx/eslint": "23.2.0-beta.11",
|
|
66
|
+
"nx": "23.2.0-beta.11",
|
|
67
|
+
"@nx/vitest": "23.2.0-beta.11"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"@remix-run/dev": "^2.0.0"
|
|
70
|
+
"@remix-run/dev": "^2.0.0",
|
|
71
|
+
"@nx/cypress": "23.2.0-beta.11",
|
|
72
|
+
"@nx/playwright": "23.2.0-beta.11"
|
|
71
73
|
},
|
|
72
74
|
"peerDependenciesMeta": {
|
|
75
|
+
"@nx/cypress": {
|
|
76
|
+
"optional": true
|
|
77
|
+
},
|
|
78
|
+
"@nx/playwright": {
|
|
79
|
+
"optional": true
|
|
80
|
+
},
|
|
73
81
|
"@remix-run/dev": {
|
|
74
82
|
"optional": true
|
|
75
83
|
}
|
|
File without changes
|