@nx/remix 16.0.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.
Files changed (117) hide show
  1. package/README.md +120 -0
  2. package/generators.json +69 -0
  3. package/migrations.json +119 -0
  4. package/package.json +17 -0
  5. package/src/generators/action/action.impl.d.ts +3 -0
  6. package/src/generators/action/action.impl.js +41 -0
  7. package/src/generators/action/action.impl.js.map +1 -0
  8. package/src/generators/action/schema.d.ts +4 -0
  9. package/src/generators/action/schema.json +26 -0
  10. package/src/generators/application/application.impl.d.ts +3 -0
  11. package/src/generators/application/application.impl.js +94 -0
  12. package/src/generators/application/application.impl.js.map +1 -0
  13. package/src/generators/application/files/common/README.md__tmpl__ +54 -0
  14. package/src/generators/application/files/common/app/root.tsx__tmpl__ +32 -0
  15. package/src/generators/application/files/common/app/routes/index.tsx__tmpl__ +32 -0
  16. package/src/generators/application/files/common/public/favicon.ico +0 -0
  17. package/src/generators/application/files/common/remix.config.js__tmpl__ +11 -0
  18. package/src/generators/application/files/common/remix.env.d.ts__tmpl__ +2 -0
  19. package/src/generators/application/files/common/tsconfig.json__tmpl__ +18 -0
  20. package/src/generators/application/files/integrated/.gitignore__tmpl__ +4 -0
  21. package/src/generators/application/files/integrated/package.json__tmpl__ +32 -0
  22. package/src/generators/application/lib/normalize-options.d.ts +8 -0
  23. package/src/generators/application/lib/normalize-options.js +20 -0
  24. package/src/generators/application/lib/normalize-options.js.map +1 -0
  25. package/src/generators/application/schema.d.ts +6 -0
  26. package/src/generators/application/schema.json +32 -0
  27. package/src/generators/cypress/cypress.impl.d.ts +2 -0
  28. package/src/generators/cypress/cypress.impl.js +45 -0
  29. package/src/generators/cypress/cypress.impl.js.map +1 -0
  30. package/src/generators/cypress/schema.json +55 -0
  31. package/src/generators/library/library.impl.d.ts +3 -0
  32. package/src/generators/library/library.impl.js +57 -0
  33. package/src/generators/library/library.impl.js.map +1 -0
  34. package/src/generators/library/schema.d.ts +9 -0
  35. package/src/generators/library/schema.json +44 -0
  36. package/src/generators/loader/loader.impl.d.ts +3 -0
  37. package/src/generators/loader/loader.impl.js +41 -0
  38. package/src/generators/loader/loader.impl.js.map +1 -0
  39. package/src/generators/loader/schema.d.ts +4 -0
  40. package/src/generators/loader/schema.json +26 -0
  41. package/src/generators/meta/lib/normalize-options.d.ts +3 -0
  42. package/src/generators/meta/lib/normalize-options.js +15 -0
  43. package/src/generators/meta/lib/normalize-options.js.map +1 -0
  44. package/src/generators/meta/lib/v1.impl.d.ts +3 -0
  45. package/src/generators/meta/lib/v1.impl.js +30 -0
  46. package/src/generators/meta/lib/v1.impl.js.map +1 -0
  47. package/src/generators/meta/lib/v2.impl.d.ts +3 -0
  48. package/src/generators/meta/lib/v2.impl.js +30 -0
  49. package/src/generators/meta/lib/v2.impl.js.map +1 -0
  50. package/src/generators/meta/meta.impl.d.ts +3 -0
  51. package/src/generators/meta/meta.impl.js +22 -0
  52. package/src/generators/meta/meta.impl.js.map +1 -0
  53. package/src/generators/meta/schema.d.ts +5 -0
  54. package/src/generators/meta/schema.json +30 -0
  55. package/src/generators/preset/lib/normalize-options.d.ts +8 -0
  56. package/src/generators/preset/lib/normalize-options.js +18 -0
  57. package/src/generators/preset/lib/normalize-options.js.map +1 -0
  58. package/src/generators/preset/preset.impl.d.ts +3 -0
  59. package/src/generators/preset/preset.impl.js +29 -0
  60. package/src/generators/preset/preset.impl.js.map +1 -0
  61. package/src/generators/preset/schema.d.ts +4 -0
  62. package/src/generators/preset/schema.json +13 -0
  63. package/src/generators/resource-route/resource-route.impl.d.ts +3 -0
  64. package/src/generators/resource-route/resource-route.impl.js +35 -0
  65. package/src/generators/resource-route/resource-route.impl.js.map +1 -0
  66. package/src/generators/resource-route/schema.d.ts +7 -0
  67. package/src/generators/resource-route/schema.json +48 -0
  68. package/src/generators/route/route.impl.d.ts +3 -0
  69. package/src/generators/route/route.impl.js +65 -0
  70. package/src/generators/route/route.impl.js.map +1 -0
  71. package/src/generators/route/schema.d.ts +9 -0
  72. package/src/generators/route/schema.json +59 -0
  73. package/src/generators/setup/schema.json +13 -0
  74. package/src/generators/setup/setup.impl.d.ts +2 -0
  75. package/src/generators/setup/setup.impl.js +34 -0
  76. package/src/generators/setup/setup.impl.js.map +1 -0
  77. package/src/generators/style/schema.d.ts +4 -0
  78. package/src/generators/style/schema.json +33 -0
  79. package/src/generators/style/style.impl.d.ts +3 -0
  80. package/src/generators/style/style.impl.js +53 -0
  81. package/src/generators/style/style.impl.js.map +1 -0
  82. package/src/index.d.ts +0 -0
  83. package/src/index.js +1 -0
  84. package/src/index.js.map +1 -0
  85. package/src/migrations/update-14-5-4/update-tsconfig-and-remix-config-for-1-6-8.d.ts +6 -0
  86. package/src/migrations/update-14-5-4/update-tsconfig-and-remix-config-for-1-6-8.js +45 -0
  87. package/src/migrations/update-14-5-4/update-tsconfig-and-remix-config-for-1-6-8.js.map +1 -0
  88. package/src/migrations/update-15-8-6/update-remix-env-d.d.ts +6 -0
  89. package/src/migrations/update-15-8-6/update-remix-env-d.js +27 -0
  90. package/src/migrations/update-15-8-6/update-remix-env-d.js.map +1 -0
  91. package/src/utils/get-default-export-name.d.ts +2 -0
  92. package/src/utils/get-default-export-name.js +10 -0
  93. package/src/utils/get-default-export-name.js.map +1 -0
  94. package/src/utils/get-default-export.d.ts +2 -0
  95. package/src/utils/get-default-export.js +16 -0
  96. package/src/utils/get-default-export.js.map +1 -0
  97. package/src/utils/get-remix-projects.d.ts +2 -0
  98. package/src/utils/get-remix-projects.js +15 -0
  99. package/src/utils/get-remix-projects.js.map +1 -0
  100. package/src/utils/insert-import.d.ts +4 -0
  101. package/src/utils/insert-import.js +55 -0
  102. package/src/utils/insert-import.js.map +1 -0
  103. package/src/utils/insert-statement-after-imports.d.ts +5 -0
  104. package/src/utils/insert-statement-after-imports.js +29 -0
  105. package/src/utils/insert-statement-after-imports.js.map +1 -0
  106. package/src/utils/insert-statement-in-default-function.d.ts +2 -0
  107. package/src/utils/insert-statement-in-default-function.js +24 -0
  108. package/src/utils/insert-statement-in-default-function.js.map +1 -0
  109. package/src/utils/remix-config.d.ts +5 -0
  110. package/src/utils/remix-config.js +22 -0
  111. package/src/utils/remix-config.js.map +1 -0
  112. package/src/utils/remix-route-utils.d.ts +13 -0
  113. package/src/utils/remix-route-utils.js +64 -0
  114. package/src/utils/remix-route-utils.js.map +1 -0
  115. package/src/utils/versions.d.ts +11 -0
  116. package/src/utils/versions.js +24 -0
  117. package/src/utils/versions.js.map +1 -0
@@ -0,0 +1,8 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { RemixGeneratorSchema } from '../schema';
3
+ export interface NormalizedSchema extends RemixGeneratorSchema {
4
+ appName: string;
5
+ projectRoot: string;
6
+ parsedTags: string[];
7
+ }
8
+ export declare function normalizeOptions(tree: Tree, options: RemixGeneratorSchema): NormalizedSchema;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = void 0;
4
+ function normalizeOptions(tree, options) {
5
+ // There is a bug in Nx core where custom preset args are not passed correctly for boolean values, thus causing the name to be "commit" or "nx-cloud" when not passed.
6
+ // TODO(jack): revert this hack once Nx core is fixed for custom preset args.
7
+ // TODO(philip): presets should probably be using the `appName` flag to name the app, but it's not getting passed down to this generator properly and is always an empty string
8
+ const appName = options.name;
9
+ const projectRoot = `packages/${appName}`;
10
+ const parsedTags = options.tags
11
+ ? options.tags.split(',').map((s) => s.trim())
12
+ : [];
13
+ return Object.assign(Object.assign({}, options), { appName,
14
+ projectRoot,
15
+ parsedTags });
16
+ }
17
+ exports.normalizeOptions = normalizeOptions;
18
+ //# sourceMappingURL=normalize-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/remix/src/generators/preset/lib/normalize-options.ts"],"names":[],"mappings":";;;AASA,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAA6B;IAE7B,sKAAsK;IACtK,6EAA6E;IAC7E,+KAA+K;IAC/K,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7B,MAAM,WAAW,GAAG,YAAY,OAAO,EAAE,CAAC;IAC1C,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,uCACK,OAAO,KACV,OAAO;QACP,WAAW;QACX,UAAU,IACV;AACJ,CAAC;AAnBD,4CAmBC"}
@@ -0,0 +1,3 @@
1
+ import { GeneratorCallback, Tree } from '@nx/devkit';
2
+ import { RemixGeneratorSchema } from './schema';
3
+ export default function (tree: Tree, _options: RemixGeneratorSchema): Promise<GeneratorCallback>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ const devkit_2 = require("@nx/devkit");
6
+ const application_impl_1 = require("../application/application.impl");
7
+ const setup_impl_1 = require("../setup/setup.impl");
8
+ const normalize_options_1 = require("./lib/normalize-options");
9
+ function default_1(tree, _options) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const options = (0, normalize_options_1.normalizeOptions)(tree, _options);
12
+ const tasks = [];
13
+ const setupGenTask = yield (0, setup_impl_1.default)(tree);
14
+ tasks.push(setupGenTask);
15
+ const appGenTask = yield (0, application_impl_1.default)(tree, {
16
+ name: options.appName,
17
+ tags: options.tags,
18
+ skipFormat: true,
19
+ rootProject: true,
20
+ });
21
+ tasks.push(appGenTask);
22
+ tree.delete('apps');
23
+ tree.delete('libs');
24
+ yield (0, devkit_1.formatFiles)(tree);
25
+ return (0, devkit_2.runTasksInSerial)(...tasks);
26
+ });
27
+ }
28
+ exports.default = default_1;
29
+ //# sourceMappingURL=preset.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset.impl.js","sourceRoot":"","sources":["../../../../../../packages/remix/src/generators/preset/preset.impl.ts"],"names":[],"mappings":";;;AAAA,uCAAkE;AAElE,uCAA8C;AAC9C,sEAAmE;AACnE,oDAAiD;AACjD,+DAA2D;AAG3D,mBAA+B,IAAU,EAAE,QAA8B;;QACvE,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,YAAY,GAAG,MAAM,IAAA,oBAAc,EAAC,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAoB,EAAC,IAAI,EAAE;YAClD,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AArBD,4BAqBC"}
@@ -0,0 +1,4 @@
1
+ export interface RemixGeneratorSchema {
2
+ name: string;
3
+ tags?: string;
4
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "Remix",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "tags": {
8
+ "type": "string",
9
+ "description": "Add tags to the app (used for linting).",
10
+ "alias": "t"
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { RemixRouteSchema } from './schema';
3
+ export default function (tree: Tree, options: RemixRouteSchema): Promise<void>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ const remix_route_utils_1 = require("../../utils/remix-route-utils");
6
+ const action_impl_1 = require("../action/action.impl");
7
+ const loader_impl_1 = require("../loader/loader.impl");
8
+ function default_1(tree, options) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ if (!options.skipChecks && (0, remix_route_utils_1.checkRoutePathForErrors)(options.path)) {
11
+ throw new Error(`Your route path has an indicator of an un-escaped dollar sign for a route param. If this was intended, include the --skipChecks flag.`);
12
+ }
13
+ const routeFilePath = (0, remix_route_utils_1.resolveRemixRouteFile)(tree, options.path, options.project, '.ts');
14
+ if (tree.exists(routeFilePath))
15
+ throw new Error(`Path already exists: ${options.path}`);
16
+ if (!options.loader && !options.action)
17
+ throw new Error('The resource route generator requires either `loader` or `action` to be true');
18
+ tree.write(routeFilePath, '');
19
+ if (options.loader) {
20
+ yield (0, loader_impl_1.default)(tree, {
21
+ project: options.project,
22
+ path: routeFilePath,
23
+ });
24
+ }
25
+ if (options.action) {
26
+ yield (0, action_impl_1.default)(tree, {
27
+ path: routeFilePath,
28
+ project: options.project,
29
+ });
30
+ }
31
+ yield (0, devkit_1.formatFiles)(tree);
32
+ });
33
+ }
34
+ exports.default = default_1;
35
+ //# sourceMappingURL=resource-route.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-route.impl.js","sourceRoot":"","sources":["../../../../../../packages/remix/src/generators/resource-route/resource-route.impl.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAC/C,qEAGuC;AACvC,uDAAoD;AACpD,uDAAoD;AAGpD,mBAA+B,IAAU,EAAE,OAAyB;;QAClE,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAA,2CAAuB,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChE,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAC;SACH;QAED,MAAM,aAAa,GAAG,IAAA,yCAAqB,EACzC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,KAAK,CACN,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM;YACpC,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QAEJ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAE9B,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,IAAA,qBAAe,EAAC,IAAI,EAAE;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,IAAA,qBAAe,EAAC,IAAI,EAAE;gBAC1B,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;SACJ;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAvCD,4BAuCC"}
@@ -0,0 +1,7 @@
1
+ export interface RemixRouteSchema {
2
+ project: string;
3
+ path: string;
4
+ action: boolean;
5
+ loader: boolean;
6
+ skipChecks: boolean;
7
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "NxRemixResourceRoute",
4
+ "title": "Create a Resource Route",
5
+ "type": "object",
6
+ "examples": [
7
+ {
8
+ "command": "g resource-route 'path/to/page'",
9
+ "description": "Generate resource route at /path/to/page"
10
+ }
11
+ ],
12
+ "properties": {
13
+ "path": {
14
+ "type": "string",
15
+ "description": "The route path or path to the filename of the route.",
16
+ "$default": {
17
+ "$source": "argv",
18
+ "index": 0
19
+ },
20
+ "x-prompt": "What is the path of the route? (e.g. 'foo/bar')"
21
+ },
22
+ "project": {
23
+ "type": "string",
24
+ "description": "The name of the project.",
25
+ "$default": {
26
+ "$source": "projectName"
27
+ },
28
+ "x-prompt": "What project is this route for?",
29
+ "pattern": "^[a-zA-Z].*$"
30
+ },
31
+ "action": {
32
+ "type": "boolean",
33
+ "description": "Generate an action function",
34
+ "default": false
35
+ },
36
+ "loader": {
37
+ "type": "boolean",
38
+ "description": "Generate a loader function",
39
+ "default": true
40
+ },
41
+ "skipChecks": {
42
+ "type": "boolean",
43
+ "description": "Skip route error detection",
44
+ "default": false
45
+ }
46
+ },
47
+ "required": ["project", "path"]
48
+ }
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { RemixRouteSchema } from './schema';
3
+ export default function (tree: Tree, options: RemixRouteSchema): Promise<void>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ const remix_route_utils_1 = require("../../utils/remix-route-utils");
6
+ const action_impl_1 = require("../action/action.impl");
7
+ const loader_impl_1 = require("../loader/loader.impl");
8
+ const meta_impl_1 = require("../meta/meta.impl");
9
+ const style_impl_1 = require("../style/style.impl");
10
+ function default_1(tree, options) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
13
+ if (!project)
14
+ throw new Error(`Project does not exist: ${options.project}`);
15
+ if (!options.skipChecks && (0, remix_route_utils_1.checkRoutePathForErrors)(options.path)) {
16
+ throw new Error(`Your route path has an indicator of an un-escaped dollar sign for a route param. If this was intended, include the --skipChecks flag.`);
17
+ }
18
+ const routeFilePath = (0, remix_route_utils_1.resolveRemixRouteFile)(tree, options.path, options.project, '.tsx');
19
+ const { className: componentName } = (0, devkit_1.names)(options.path.replace(/^\//, '').replace(/\/$/, '').replace('.tsx', ''));
20
+ if (tree.exists(routeFilePath))
21
+ throw new Error(`Path already exists: ${routeFilePath}`);
22
+ tree.write(routeFilePath, (0, devkit_1.stripIndents) `
23
+
24
+
25
+ export default function ${componentName}() {
26
+ ${options.loader
27
+ ? `
28
+ return (
29
+ <p>
30
+ Message: {data.message}
31
+ </p>
32
+ );
33
+ `
34
+ : `return (<p>${componentName} works!</p>)`}
35
+ }
36
+ `);
37
+ if (options.loader) {
38
+ yield (0, loader_impl_1.default)(tree, {
39
+ project: options.project,
40
+ path: routeFilePath,
41
+ });
42
+ }
43
+ if (options.meta) {
44
+ yield (0, meta_impl_1.default)(tree, {
45
+ path: routeFilePath,
46
+ project: options.project,
47
+ });
48
+ }
49
+ if (options.action) {
50
+ yield (0, action_impl_1.default)(tree, {
51
+ path: routeFilePath,
52
+ project: options.project,
53
+ });
54
+ }
55
+ if (options.style === 'css') {
56
+ yield (0, style_impl_1.default)(tree, {
57
+ project: options.project,
58
+ path: options.path,
59
+ });
60
+ }
61
+ yield (0, devkit_1.formatFiles)(tree);
62
+ });
63
+ }
64
+ exports.default = default_1;
65
+ //# sourceMappingURL=route.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.impl.js","sourceRoot":"","sources":["../../../../../../packages/remix/src/generators/route/route.impl.ts"],"names":[],"mappings":";;;AAAA,uCAMoB;AACpB,qEAGuC;AACvC,uDAAoD;AACpD,uDAAoD;AACpD,iDAA8C;AAC9C,oDAAiD;AAGjD,mBAA+B,IAAU,EAAE,OAAyB;;QAClE,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAA,2CAAuB,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChE,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAC;SACH;QAED,MAAM,aAAa,GAAG,IAAA,yCAAqB,EACzC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,MAAM,CACP,CAAC;QAEF,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAA,cAAK,EACxC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACvE,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,KAAK,CACR,aAAa,EACb,IAAA,qBAAY,EAAA;;;8BAGc,aAAa;MAErC,OAAO,CAAC,MAAM;YACZ,CAAC,CAAC;;;;;;KAML;YACG,CAAC,CAAC,cAAc,aAAa,cACjC;;GAED,CACA,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,IAAA,qBAAe,EAAC,IAAI,EAAE;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,MAAM,IAAA,mBAAa,EAAC,IAAI,EAAE;gBACxB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,IAAA,qBAAe,EAAC,IAAI,EAAE;gBAC1B,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YAC3B,MAAM,IAAA,oBAAc,EAAC,IAAI,EAAE;gBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;SACJ;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AA1ED,4BA0EC"}
@@ -0,0 +1,9 @@
1
+ export interface RemixRouteSchema {
2
+ project: string;
3
+ path: string;
4
+ style: 'css' | 'none';
5
+ action: boolean;
6
+ meta: boolean;
7
+ loader: boolean;
8
+ skipChecks: boolean;
9
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "NxRemixRoute",
4
+ "title": "Create a Route",
5
+ "type": "object",
6
+ "examples": [
7
+ {
8
+ "command": "g route 'path/to/page'",
9
+ "description": "Generate route at /path/to/page"
10
+ }
11
+ ],
12
+ "properties": {
13
+ "path": {
14
+ "type": "string",
15
+ "description": "The route path or path to the filename of the route.",
16
+ "$default": {
17
+ "$source": "argv",
18
+ "index": 0
19
+ },
20
+ "x-prompt": "What is the path of the route? (e.g. 'foo/bar')"
21
+ },
22
+ "project": {
23
+ "type": "string",
24
+ "description": "The name of the project.",
25
+ "$default": {
26
+ "$source": "projectName"
27
+ },
28
+ "x-prompt": "What project is this route for?",
29
+ "pattern": "^[a-zA-Z].*$"
30
+ },
31
+ "style": {
32
+ "type": "string",
33
+ "description": "Generate a stylesheet",
34
+ "enum": ["none", "css"],
35
+ "default": "css"
36
+ },
37
+ "meta": {
38
+ "type": "boolean",
39
+ "description": "Generate a meta function",
40
+ "default": false
41
+ },
42
+ "action": {
43
+ "type": "boolean",
44
+ "description": "Generate an action function",
45
+ "default": false
46
+ },
47
+ "loader": {
48
+ "type": "boolean",
49
+ "description": "Generate a loader function",
50
+ "default": false
51
+ },
52
+ "skipChecks": {
53
+ "type": "boolean",
54
+ "description": "Skip route error detection",
55
+ "default": false
56
+ }
57
+ },
58
+ "required": ["project", "path"]
59
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "NxRemixSetup",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "packageManager": {
8
+ "type": "string",
9
+ "description": "The package manager to setup for",
10
+ "enum": ["yarn", "npm", "pnpm"]
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,2 @@
1
+ import { GeneratorCallback, Tree } from '@nx/devkit';
2
+ export default function (tree: Tree): Promise<GeneratorCallback>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ const js_1 = require("@nx/js");
6
+ function default_1(tree) {
7
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
+ const tasks = [];
9
+ const jsInitTask = yield (0, js_1.initGenerator)(tree, {
10
+ skipFormat: true,
11
+ });
12
+ tasks.push(jsInitTask);
13
+ // Ignore nested project files
14
+ let ignoreFile = tree.read('.gitignore').toString();
15
+ if (ignoreFile.indexOf('/dist') !== -1) {
16
+ ignoreFile = ignoreFile.replace('/dist', 'dist');
17
+ }
18
+ if (ignoreFile.indexOf('/node_modules') !== -1) {
19
+ ignoreFile = ignoreFile.replace('/node_modules', 'node_modules');
20
+ }
21
+ if (ignoreFile.indexOf('# Remix files') === -1) {
22
+ ignoreFile = `${ignoreFile}
23
+ # Remix files
24
+ apps/**/build
25
+ apps/**/.cache
26
+ `;
27
+ }
28
+ tree.write('.gitignore', ignoreFile);
29
+ yield (0, devkit_1.formatFiles)(tree);
30
+ return (0, devkit_1.runTasksInSerial)(...tasks);
31
+ });
32
+ }
33
+ exports.default = default_1;
34
+ //# sourceMappingURL=setup.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.impl.js","sourceRoot":"","sources":["../../../../../../packages/remix/src/generators/setup/setup.impl.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AACpB,+BAA0D;AAE1D,mBAA+B,IAAU;;QACvC,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAe,EAAC,IAAI,EAAE;YAC7C,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvB,8BAA8B;QAC9B,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YACtC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAClD;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE;YAC9C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;SAClE;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE;YAC9C,UAAU,GAAG,GAAG,UAAU;;;;GAI3B,CAAC;SACD;QACD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAErC,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AA5BD,4BA4BC"}
@@ -0,0 +1,4 @@
1
+ export interface RemixStyleSchema {
2
+ project: string;
3
+ path: string;
4
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "NxRemixRouteStyle",
4
+ "title": "Add style import to a route",
5
+ "type": "object",
6
+ "examples": [
7
+ {
8
+ "command": "g style --project=webapp --path='path/to/page'",
9
+ "description": "Generate route at /path/to/page"
10
+ }
11
+ ],
12
+ "properties": {
13
+ "path": {
14
+ "type": "string",
15
+ "description": "Route path",
16
+ "$default": {
17
+ "$source": "argv",
18
+ "index": 0
19
+ },
20
+ "x-prompt": "What is the path of the route? (e.g. 'foo/bar')"
21
+ },
22
+ "project": {
23
+ "type": "string",
24
+ "description": "The name of the project.",
25
+ "$default": {
26
+ "$source": "projectName"
27
+ },
28
+ "x-prompt": "What project is this route in?",
29
+ "pattern": "^[a-zA-Z].*$"
30
+ }
31
+ },
32
+ "required": ["project", "path"]
33
+ }
@@ -0,0 +1,3 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { RemixStyleSchema } from './schema';
3
+ export default function (tree: Tree, options: RemixStyleSchema): Promise<void>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path_1 = require("path");
6
+ const insert_import_1 = require("../../utils/insert-import");
7
+ const insert_statement_after_imports_1 = require("../../utils/insert-statement-after-imports");
8
+ const remix_route_utils_1 = require("../../utils/remix-route-utils");
9
+ function default_1(tree, options) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const { name: routePath } = (0, devkit_1.names)(options.path.replace(/^\//, '').replace(/\/$/, '').replace('.tsx', ''));
12
+ const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
13
+ if (!project)
14
+ throw new Error(`Project does not exist: ${options.project}`);
15
+ const normalizedRoutePath = (0, remix_route_utils_1.normalizeRoutePath)(routePath);
16
+ const stylesheetPath = (0, devkit_1.joinPathFragments)((0, remix_route_utils_1.resolveRemixAppDirectory)(tree, project.name), 'styles', `${normalizedRoutePath}.css`);
17
+ tree.write(stylesheetPath, (0, devkit_1.stripIndents) `
18
+ :root {
19
+ --color-foreground: #fff;
20
+ --color-background: #143157;
21
+ --color-links: hsl(214, 73%, 69%);
22
+ --color-border: #275da8;
23
+ --font-body: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
24
+ Liberation Mono, Courier New, monospace;
25
+ }
26
+ `);
27
+ const routeFilePath = (0, remix_route_utils_1.resolveRemixRouteFile)(tree, options.path, options.project, '.tsx');
28
+ (0, insert_import_1.insertImport)(tree, routeFilePath, 'LinksFunction', '@remix-run/node', {
29
+ typeOnly: true,
30
+ });
31
+ if (project.root === '.') {
32
+ (0, insert_statement_after_imports_1.insertStatementAfterImports)(tree, routeFilePath, `
33
+ import stylesUrl from '~/styles/${normalizedRoutePath}.css'
34
+
35
+ export const links: LinksFunction = () => {
36
+ return [{ rel: 'stylesheet', href: stylesUrl }];
37
+ };
38
+ `);
39
+ }
40
+ else {
41
+ (0, insert_statement_after_imports_1.insertStatementAfterImports)(tree, routeFilePath, `
42
+ import stylesUrl from '${(0, path_1.relative)((0, path_1.dirname)(routeFilePath), stylesheetPath)}';
43
+
44
+ export const links: LinksFunction = () => {
45
+ return [{ rel: 'stylesheet', href: stylesUrl }];
46
+ };
47
+ `);
48
+ }
49
+ yield (0, devkit_1.formatFiles)(tree);
50
+ });
51
+ }
52
+ exports.default = default_1;
53
+ //# sourceMappingURL=style.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.impl.js","sourceRoot":"","sources":["../../../../../../packages/remix/src/generators/style/style.impl.ts"],"names":[],"mappings":";;;AAAA,uCAOoB;AAGpB,+BAAyC;AACzC,6DAAyD;AACzD,+FAAyF;AACzF,qEAIuC;AAEvC,mBAA+B,IAAU,EAAE,OAAyB;;QAClE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,cAAK,EAC/B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACvE,CAAC;QAEF,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5E,MAAM,mBAAmB,GAAG,IAAA,sCAAkB,EAAC,SAAS,CAAC,CAAC;QAE1D,MAAM,cAAc,GAAG,IAAA,0BAAiB,EACtC,IAAA,4CAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAC5C,QAAQ,EACR,GAAG,mBAAmB,MAAM,CAC7B,CAAC;QAEF,IAAI,CAAC,KAAK,CACR,cAAc,EACd,IAAA,qBAAY,EAAA;;;;;;;;;KASX,CACF,CAAC;QAEF,MAAM,aAAa,GAAG,IAAA,yCAAqB,EACzC,IAAI,EACJ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,MAAM,CACP,CAAC;QAEF,IAAA,4BAAY,EAAC,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE;YACpE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE;YACxB,IAAA,4DAA2B,EACzB,IAAI,EACJ,aAAa,EACb;sCACgC,mBAAmB;;;;;GAKtD,CACE,CAAC;SACH;aAAM;YACL,IAAA,4DAA2B,EACzB,IAAI,EACJ,aAAa,EACb;6BACuB,IAAA,eAAQ,EAAC,IAAA,cAAO,EAAC,aAAa,CAAC,EAAE,cAAc,CAAC;;;;;GAK1E,CACE,CAAC;SACH;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AApED,4BAoEC"}
package/src/index.d.ts ADDED
File without changes
package/src/index.js ADDED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/remix/src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Update tsconfig.json and remix.config.js to support importing workspaces libraries
4
+ * @param tree
5
+ */
6
+ export default function update(tree: Tree): Promise<void>;
@@ -0,0 +1,45 @@
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
+ * Update tsconfig.json and remix.config.js to support importing workspaces libraries
7
+ * @param tree
8
+ */
9
+ function update(tree) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const projects = (0, devkit_1.getProjects)(tree);
12
+ const remixProjects = Array.from(projects.values()).filter((project) => {
13
+ const remixConfigPath = (0, devkit_1.joinPathFragments)(project.root, 'remix.config.js');
14
+ // if the project doesn't have a remix.config.js, it's not a Remix project so we can skip it
15
+ return tree.exists(remixConfigPath);
16
+ });
17
+ if (remixProjects.length === 0)
18
+ return;
19
+ remixProjects.forEach((project) => {
20
+ const remixConfigPath = (0, devkit_1.joinPathFragments)(project.root, 'remix.config.js');
21
+ try {
22
+ const remixConfigContent = tree.read(remixConfigPath, 'utf-8');
23
+ // if watchPaths is already there, we assume this project has been updated before
24
+ if (remixConfigContent.includes('watchPaths'))
25
+ return;
26
+ const projectOffsetFromRoot = (0, devkit_1.offsetFromRoot)(project.root);
27
+ const layout = (0, devkit_1.getWorkspaceLayout)(tree);
28
+ tree.write(remixConfigPath, remixConfigContent.replace('module.exports = {\n', `module.exports = { watchPaths: ['${(0, devkit_1.joinPathFragments)(projectOffsetFromRoot, layout.libsDir)}'],\n`));
29
+ const tsConfigPath = (0, devkit_1.joinPathFragments)(project.root, 'tsconfig.json');
30
+ const tsConfigContent = (0, devkit_1.readJson)(tree, tsConfigPath);
31
+ const newTsConfigContent = Object.assign(Object.assign({}, tsConfigContent), { extends: `${projectOffsetFromRoot}tsconfig.base.json` });
32
+ delete newTsConfigContent.compilerOptions.baseUrl;
33
+ devkit_1.logger.info(`Remix apps now support importing from non-buildable libs. However, you must remove the \`paths\` configuration from the project's \`tsconfig.json\`.\n\nMigrate any import paths using \`~\` to relative path imports and then delete the \`paths\` property from \`${tsConfigPath}\``);
34
+ (0, devkit_1.writeJson)(tree, tsConfigPath, newTsConfigContent);
35
+ }
36
+ catch (err) {
37
+ devkit_1.logger.error(err);
38
+ devkit_1.logger.error(`Unable to update ${remixConfigPath} for project ${project.root}.`);
39
+ }
40
+ });
41
+ yield (0, devkit_1.formatFiles)(tree);
42
+ });
43
+ }
44
+ exports.default = update;
45
+ //# sourceMappingURL=update-tsconfig-and-remix-config-for-1-6-8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tsconfig-and-remix-config-for-1-6-8.js","sourceRoot":"","sources":["../../../../../../packages/remix/src/migrations/update-14-5-4/update-tsconfig-and-remix-config-for-1-6-8.ts"],"names":[],"mappings":";;;AAAA,uCAUoB;AAEpB;;;GAGG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACrE,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAC3E,4FAA4F;YAC5F,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEvC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAE3E,IAAI;gBACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC/D,iFAAiF;gBACjF,IAAI,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAAE,OAAO;gBAEtD,MAAM,qBAAqB,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CACR,eAAe,EACf,kBAAkB,CAAC,OAAO,CACxB,sBAAsB,EACtB,qCAAqC,IAAA,0BAAiB,EACpD,qBAAqB,EACrB,MAAM,CAAC,OAAO,CACf,OAAO,CACT,CACF,CAAC;gBAEF,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBACtE,MAAM,eAAe,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAErD,MAAM,kBAAkB,mCACnB,eAAe,KAClB,OAAO,EAAE,GAAG,qBAAqB,oBAAoB,GACtD,CAAC;gBAEF,OAAO,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC;gBAElD,eAAM,CAAC,IAAI,CACT,uQAAuQ,YAAY,IAAI,CACxR,CAAC;gBAEF,IAAA,kBAAS,EAAC,IAAI,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;aACnD;YAAC,OAAO,GAAG,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClB,eAAM,CAAC,KAAK,CACV,oBAAoB,eAAe,gBAAgB,OAAO,CAAC,IAAI,GAAG,CACnE,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAvDD,yBAuDC"}
@@ -0,0 +1,6 @@
1
+ import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Update remix.env.d.ts
4
+ * @param tree
5
+ */
6
+ export default function update(tree: Tree): Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ const get_remix_projects_1 = require("../../utils/get-remix-projects");
6
+ /**
7
+ * Update remix.env.d.ts
8
+ * @param tree
9
+ */
10
+ function update(tree) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ const remixProjects = (0, get_remix_projects_1.getRemixProjects)(tree);
13
+ remixProjects.forEach((project) => {
14
+ const remixEnvPath = (0, devkit_1.joinPathFragments)(project.root, 'remix.env.d.ts');
15
+ try {
16
+ const remixEnvContent = tree.read(remixEnvPath, 'utf-8');
17
+ tree.write(remixEnvPath, remixEnvContent.replace('/// <reference types="@remix-run/node/globals" />', '/// <reference types="@remix-run/node" />'));
18
+ }
19
+ catch (err) {
20
+ devkit_1.logger.error(err);
21
+ devkit_1.logger.error(`Unable to update ${remixEnvPath} for project ${project.root}.`);
22
+ }
23
+ });
24
+ });
25
+ }
26
+ exports.default = update;
27
+ //# sourceMappingURL=update-remix-env-d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-remix-env-d.js","sourceRoot":"","sources":["../../../../../../packages/remix/src/migrations/update-15-8-6/update-remix-env-d.ts"],"names":[],"mappings":";;;AAAA,uCAA6D;AAC7D,uEAAkE;AAElE;;;GAGG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,aAAa,GAAG,IAAA,qCAAgB,EAAC,IAAI,CAAC,CAAC;QAE7C,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAEvE,IAAI;gBACF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAEzD,IAAI,CAAC,KAAK,CACR,YAAY,EACZ,eAAe,CAAC,OAAO,CACrB,mDAAmD,EACnD,2CAA2C,CAC5C,CACF,CAAC;aACH;YAAC,OAAO,GAAG,EAAE;gBACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClB,eAAM,CAAC,KAAK,CACV,oBAAoB,YAAY,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAChE,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAvBD,yBAuBC"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare function getDefaultExportName(tree: Tree, path: string): string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultExportName = void 0;
4
+ const get_default_export_1 = require("./get-default-export");
5
+ function getDefaultExportName(tree, path) {
6
+ var _a, _b;
7
+ return (_b = (_a = (0, get_default_export_1.getDefaultExport)(tree, path)) === null || _a === void 0 ? void 0 : _a.name.text) !== null && _b !== void 0 ? _b : 'Unknown';
8
+ }
9
+ exports.getDefaultExportName = getDefaultExportName;
10
+ //# sourceMappingURL=get-default-export-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-default-export-name.js","sourceRoot":"","sources":["../../../../../packages/remix/src/utils/get-default-export-name.ts"],"names":[],"mappings":";;;AACA,6DAAwD;AAExD,SAAgB,oBAAoB,CAAC,IAAU,EAAE,IAAY;;IAC3D,OAAO,MAAA,MAAA,IAAA,qCAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,0CAAE,IAAI,CAAC,IAAI,mCAAI,SAAS,CAAC;AAC9D,CAAC;AAFD,oDAEC"}