@cedarjs/structure 9.0.0-canary.1784 → 9.0.0-canary.3124

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 (118) hide show
  1. package/README.md +1 -1
  2. package/dist/errors.d.ts +2 -1
  3. package/dist/errors.d.ts.map +1 -1
  4. package/dist/errors.js +10 -15
  5. package/dist/errors.js.map +1 -0
  6. package/dist/index.d.ts +7 -7
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +40 -67
  9. package/dist/index.js.map +1 -0
  10. package/dist/model/RWCell.d.ts +4 -4
  11. package/dist/model/RWCell.d.ts.map +1 -1
  12. package/dist/model/RWCell.js +111 -103
  13. package/dist/model/RWCell.js.map +1 -0
  14. package/dist/model/RWComponent.d.ts +2 -2
  15. package/dist/model/RWComponent.d.ts.map +1 -1
  16. package/dist/model/RWComponent.js +46 -41
  17. package/dist/model/RWComponent.js.map +1 -0
  18. package/dist/model/RWEnvHelper.d.ts +4 -4
  19. package/dist/model/RWEnvHelper.d.ts.map +1 -1
  20. package/dist/model/RWEnvHelper.js +233 -205
  21. package/dist/model/RWEnvHelper.js.map +1 -0
  22. package/dist/model/RWFunction.d.ts +2 -2
  23. package/dist/model/RWFunction.d.ts.map +1 -1
  24. package/dist/model/RWFunction.js +10 -15
  25. package/dist/model/RWFunction.js.map +1 -0
  26. package/dist/model/RWLayout.d.ts +2 -2
  27. package/dist/model/RWLayout.d.ts.map +1 -1
  28. package/dist/model/RWLayout.js +10 -15
  29. package/dist/model/RWLayout.js.map +1 -0
  30. package/dist/model/RWPage.d.ts +3 -3
  31. package/dist/model/RWPage.d.ts.map +1 -1
  32. package/dist/model/RWPage.js +61 -57
  33. package/dist/model/RWPage.js.map +1 -0
  34. package/dist/model/RWProject.d.ts +22 -18
  35. package/dist/model/RWProject.d.ts.map +1 -1
  36. package/dist/model/RWProject.js +257 -164
  37. package/dist/model/RWProject.js.map +1 -0
  38. package/dist/model/RWRoute.d.ts +32 -6
  39. package/dist/model/RWRoute.d.ts.map +1 -1
  40. package/dist/model/RWRoute.js +424 -260
  41. package/dist/model/RWRoute.js.map +1 -0
  42. package/dist/model/RWRouter.d.ts +4 -4
  43. package/dist/model/RWRouter.d.ts.map +1 -1
  44. package/dist/model/RWRouter.js +130 -126
  45. package/dist/model/RWRouter.js.map +1 -0
  46. package/dist/model/RWSDL.d.ts +5 -5
  47. package/dist/model/RWSDL.d.ts.map +1 -1
  48. package/dist/model/RWSDL.js +96 -84
  49. package/dist/model/RWSDL.js.map +1 -0
  50. package/dist/model/RWSDLField.d.ts +6 -6
  51. package/dist/model/RWSDLField.d.ts.map +1 -1
  52. package/dist/model/RWSDLField.js +79 -81
  53. package/dist/model/RWSDLField.js.map +1 -0
  54. package/dist/model/RWService.d.ts +4 -4
  55. package/dist/model/RWService.d.ts.map +1 -1
  56. package/dist/model/RWService.js +76 -76
  57. package/dist/model/RWService.js.map +1 -0
  58. package/dist/model/RWServiceFunction.d.ts +4 -4
  59. package/dist/model/RWServiceFunction.d.ts.map +1 -1
  60. package/dist/model/RWServiceFunction.js +95 -97
  61. package/dist/model/RWServiceFunction.js.map +1 -0
  62. package/dist/model/RWTOML.d.ts +3 -3
  63. package/dist/model/RWTOML.d.ts.map +1 -1
  64. package/dist/model/RWTOML.js +53 -55
  65. package/dist/model/RWTOML.js.map +1 -0
  66. package/dist/model/index.d.ts +2 -2
  67. package/dist/model/index.d.ts.map +1 -1
  68. package/dist/model/index.js +3 -20
  69. package/dist/model/index.js.map +1 -0
  70. package/dist/model/util/pageMutationUsage.d.ts +18 -0
  71. package/dist/model/util/pageMutationUsage.d.ts.map +1 -0
  72. package/dist/model/util/pageMutationUsage.js +256 -0
  73. package/dist/model/util/pageMutationUsage.js.map +1 -0
  74. package/dist/model/util/process_env.js +44 -62
  75. package/dist/model/util/process_env.js.map +1 -0
  76. package/dist/nodes.d.ts +2 -2
  77. package/dist/nodes.d.ts.map +1 -1
  78. package/dist/nodes.js +171 -164
  79. package/dist/nodes.js.map +1 -0
  80. package/dist/util.js +23 -33
  81. package/dist/util.js.map +1 -0
  82. package/dist/x/Array.d.ts.map +1 -1
  83. package/dist/x/Array.js +15 -25
  84. package/dist/x/Array.js.map +1 -0
  85. package/dist/x/Location.d.ts +1 -1
  86. package/dist/x/Location.d.ts.map +1 -1
  87. package/dist/x/Location.js +11 -17
  88. package/dist/x/Location.js.map +1 -0
  89. package/dist/x/Position.js +18 -29
  90. package/dist/x/Position.js.map +1 -0
  91. package/dist/x/Range.d.ts +1 -1
  92. package/dist/x/Range.d.ts.map +1 -1
  93. package/dist/x/Range.js +17 -22
  94. package/dist/x/Range.js.map +1 -0
  95. package/dist/x/URL.js +59 -75
  96. package/dist/x/URL.js.map +1 -0
  97. package/dist/x/child_process.d.ts +1 -1
  98. package/dist/x/child_process.d.ts.map +1 -1
  99. package/dist/x/child_process.js +35 -49
  100. package/dist/x/child_process.js.map +1 -0
  101. package/dist/x/decorators.d.ts +2 -2
  102. package/dist/x/decorators.d.ts.map +1 -1
  103. package/dist/x/decorators.js +46 -26
  104. package/dist/x/decorators.js.map +1 -0
  105. package/dist/x/diagnostics.d.ts +3 -3
  106. package/dist/x/diagnostics.d.ts.map +1 -1
  107. package/dist/x/diagnostics.js +163 -259
  108. package/dist/x/diagnostics.js.map +1 -0
  109. package/dist/x/path.js +36 -55
  110. package/dist/x/path.js.map +1 -0
  111. package/dist/x/prisma.d.ts +2 -2
  112. package/dist/x/prisma.d.ts.map +1 -1
  113. package/dist/x/prisma.js +32 -55
  114. package/dist/x/prisma.js.map +1 -0
  115. package/dist/x/ts-morph.js +34 -45
  116. package/dist/x/ts-morph.js.map +1 -0
  117. package/package.json +46 -22
  118. package/LICENSE +0 -21
@@ -1,170 +1,263 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.RWProject = void 0;
9
- var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js/instance/map"));
10
- var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js/instance/filter"));
11
- var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs3/core-js/object/get-own-property-descriptor"));
12
- var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/applyDecoratedDescriptor"));
13
- var _nodeFs = require("node:fs");
14
- var _nodePath = require("node:path");
15
- var _internals = require("@prisma/internals");
16
- var _projectConfig = require("@cedarjs/project-config");
17
- var _nodes = require("../nodes");
18
- var _decorators = require("../x/decorators");
19
- var _path = require("../x/path");
20
- var _URL = require("../x/URL");
21
- var _RWCell = require("./RWCell");
22
- var _RWComponent = require("./RWComponent");
23
- var _RWEnvHelper = require("./RWEnvHelper");
24
- var _RWFunction = require("./RWFunction");
25
- var _RWLayout = require("./RWLayout");
26
- var _RWPage = require("./RWPage");
27
- var _RWRouter = require("./RWRouter");
28
- var _RWSDL = require("./RWSDL");
29
- var _RWService = require("./RWService");
30
- var _RWTOML = require("./RWTOML");
31
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec0, _dec1, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _class;
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import fs from 'node:fs';
8
+ import { createRequire } from 'node:module';
9
+ import path from 'node:path';
10
+ import { getPaths, processPagesDir, getConfigPath, getPrismaSchemas, } from '@cedarjs/project-config';
11
+ import { BaseNode } from '../nodes.js';
12
+ import { lazy, memo } from '../x/decorators.js';
13
+ import { followsDirNameConvention, isCellFileName, isLayoutFileName, globSync, } from '../x/path.js';
14
+ import { URL_file } from '../x/URL.js';
15
+ import { RWCell } from './RWCell.js';
16
+ import { RWComponent } from './RWComponent.js';
17
+ import { RWEnvHelper } from './RWEnvHelper.js';
18
+ import { RWFunction } from './RWFunction.js';
19
+ import { RWLayout } from './RWLayout.js';
20
+ import { RWPage } from './RWPage.js';
21
+ import { RWRouter } from './RWRouter.js';
22
+ import { RWSDL } from './RWSDL.js';
23
+ import { RWService } from './RWService.js';
24
+ import { RWTOML } from './RWTOML.js';
25
+ // @prisma/internals is a CJS-only bundle that uses Object.defineProperty with
26
+ // getter functions for its exports. Node's ESM named-export static analysis
27
+ // cannot detect these, so we use createRequire to access them reliably.
28
+ const _require = createRequire(import.meta.url);
29
+ const { getDMMF } = _require('@prisma/internals');
32
30
  const allFilesGlob = '/**/*.{js,jsx,ts,tsx}';
33
-
34
31
  /**
35
32
  * Represents a Redwood project.
36
33
  * This is the root node.
37
34
  */
38
- let RWProject = exports.RWProject = (_dec = (0, _decorators.lazy)(), _dec2 = (0, _decorators.lazy)(), _dec3 = (0, _decorators.lazy)(), _dec4 = (0, _decorators.memo)(), _dec5 = (0, _decorators.memo)(), _dec6 = (0, _decorators.lazy)(), _dec7 = (0, _decorators.lazy)(), _dec8 = (0, _decorators.lazy)(), _dec9 = (0, _decorators.lazy)(), _dec0 = (0, _decorators.lazy)(), _dec1 = (0, _decorators.lazy)(), _dec10 = (0, _decorators.lazy)(), _dec11 = (0, _decorators.lazy)(), _dec12 = (0, _decorators.lazy)(), _dec13 = (0, _decorators.lazy)(), _dec14 = (0, _decorators.lazy)(), _dec15 = (0, _decorators.lazy)(), _dec16 = (0, _decorators.lazy)(), _dec17 = (0, _decorators.lazy)(), _class = class RWProject extends _nodes.BaseNode {
39
- constructor(opts) {
40
- super();
41
- this.parent = undefined;
42
- this.getRouter = () => {
43
- return new _RWRouter.RWRouter(this.pathHelper.web.routes, this);
35
+ export class RWProject extends BaseNode {
36
+ parent = undefined;
37
+ get id() {
38
+ return URL_file(this.pathHelper.base);
39
+ }
40
+ children() {
41
+ return [
42
+ this.cedarTOML,
43
+ ...this.pages,
44
+ this.router,
45
+ ...this.services,
46
+ ...this.sdls,
47
+ ...this.layouts,
48
+ ...this.components,
49
+ this.envHelper,
50
+ ];
51
+ }
52
+ /**
53
+ * Path constants that are relevant to a Redwood project.
54
+ */
55
+ get pathHelper() {
56
+ return getPaths();
57
+ }
58
+ /**
59
+ * Checks for the presence of a tsconfig.json at the root.
60
+ */
61
+ get isTypeScriptProject() {
62
+ return (fs.existsSync(path.join(this.pathHelper.web.base, 'tsconfig.json')) ||
63
+ fs.existsSync(path.join(this.pathHelper.api.base, 'tsconfig.json')));
64
+ }
65
+ // TODO: do we move this to a separate node? (ex: RWDatabase)
66
+ async prismaDMMF() {
67
+ try {
68
+ const result = await getPrismaSchemas();
69
+ const datamodel = result.schemas;
70
+ // consider case where dmmf doesn't exist (or fails to parse)
71
+ return await getDMMF({ datamodel });
72
+ }
73
+ catch {
74
+ return undefined;
75
+ }
76
+ }
77
+ async prismaDMMFModelNames() {
78
+ const dmmf = await this.prismaDMMF();
79
+ if (!dmmf) {
80
+ return [];
81
+ }
82
+ return dmmf.datamodel.models.map((m) => m.name);
83
+ }
84
+ get cedarTOML() {
85
+ return new RWTOML(getConfigPath(), this);
86
+ }
87
+ get processPagesDir() {
88
+ try {
89
+ return processPagesDir(this.pathHelper.web.pages);
90
+ }
91
+ catch {
92
+ return [];
93
+ }
94
+ }
95
+ get pages() {
96
+ return this.processPagesDir.map((p) => new RWPage(p.constName, p.path, this));
97
+ }
98
+ get router() {
99
+ return this.getRouter();
100
+ }
101
+ getRouter = () => {
102
+ return new RWRouter(this.pathHelper.web.routes, this);
44
103
  };
45
- this.opts = opts;
46
- }
47
- get projectRoot() {
48
- return this.opts.projectRoot;
49
- }
50
- get id() {
51
- return (0, _URL.URL_file)(this.projectRoot);
52
- }
53
- children() {
54
- return [this.redwoodTOML, ...this.pages, this.router, ...this.services, ...this.sdls, ...this.layouts, ...this.components, this.envHelper];
55
- }
56
-
57
- /**
58
- * Path constants that are relevant to a Redwood project.
59
- */
60
- get pathHelper() {
61
- return (0, _projectConfig.getPaths)(this.projectRoot);
62
- }
63
- /**
64
- * Checks for the presence of a tsconfig.json at the root.
65
- */
66
- get isTypeScriptProject() {
67
- return (0, _nodeFs.existsSync)((0, _nodePath.join)(this.pathHelper.web.base, 'tsconfig.json')) || (0, _nodeFs.existsSync)((0, _nodePath.join)(this.pathHelper.api.base, 'tsconfig.json'));
68
- }
69
- // TODO: do we move this to a separate node? (ex: RWDatabase)
70
- async prismaDMMF() {
71
- try {
72
- const schemaPath = await (0, _projectConfig.getSchemaPath)(this.pathHelper.api.prismaConfig);
73
- const result = await (0, _internals.getSchemaWithPath)(schemaPath);
74
- const datamodel = result.schemas;
75
- // consider case where dmmf doesn't exist (or fails to parse)
76
- return await (0, _internals.getDMMF)({
77
- datamodel
78
- });
79
- } catch {
80
- return undefined;
81
- }
82
- }
83
- async prismaDMMFModelNames() {
84
- var _context;
85
- const dmmf = await this.prismaDMMF();
86
- if (!dmmf) {
87
- return [];
88
- }
89
- return (0, _map.default)(_context = dmmf.datamodel.models).call(_context, m => m.name);
90
- }
91
- get redwoodTOML() {
92
- return new _RWTOML.RWTOML((0, _projectConfig.getConfigPath)(this.projectRoot), this);
93
- }
94
- get processPagesDir() {
95
- try {
96
- return (0, _projectConfig.processPagesDir)(this.pathHelper.web.pages);
97
- } catch {
98
- return [];
99
- }
100
- }
101
- get pages() {
102
- var _context2;
103
- return (0, _map.default)(_context2 = this.processPagesDir).call(_context2, p => new _RWPage.RWPage(p.constName, p.path, this));
104
- }
105
- get router() {
106
- return this.getRouter();
107
- }
108
- // TODO: move to path helper
109
- servicesFilePath(name) {
110
- // name = blog,posts
111
- const ext = this.isTypeScriptProject ? '.ts' : '.js';
112
- return (0, _nodePath.join)(this.pathHelper.api.services, name, name + ext);
113
- }
114
-
115
- // TODO: move to path helper
116
- get defaultNotFoundPageFilePath() {
117
- const ext = this.isTypeScriptProject ? '.tsx' : '.jsx';
118
- return (0, _nodePath.join)(this.pathHelper.web.pages, 'NotFoundPage', 'NotFoundPage' + ext);
119
- }
120
- get services() {
121
- var _context3, _context4;
122
- // TODO: what is the official logic?
123
- // TODO: Support both `/services/todos/todos.js` AND `/services/todos.js`
124
- return (0, _map.default)(_context3 = (0, _filter.default)(_context4 = (0, _path.globSync)(this.pathHelper.api.services + allFilesGlob)).call(_context4, _path.followsDirNameConvention)).call(_context3, x => new _RWService.RWService(x, this));
125
- }
126
- get sdls() {
127
- var _context5;
128
- return (0, _map.default)(_context5 = (0, _path.globSync)(this.pathHelper.api.graphql + '/**/*.sdl.{js,ts}')).call(_context5, x => new _RWSDL.RWSDL(x, this));
129
- }
130
- get layouts() {
131
- var _context6, _context7, _context8;
132
- // TODO: what is the official logic?
133
- return (0, _map.default)(_context6 = (0, _filter.default)(_context7 = (0, _filter.default)(_context8 = (0, _path.globSync)(this.pathHelper.web.layouts + allFilesGlob)).call(_context8, _path.followsDirNameConvention)).call(_context7, _path.isLayoutFileName)).call(_context6, x => new _RWLayout.RWLayout(x, this));
134
- }
135
- get functions() {
136
- var _context9;
137
- // TODO: what is the official logic?
138
- return (0, _map.default)(_context9 = (0, _path.globSync)(this.pathHelper.api.functions + allFilesGlob)).call(_context9, x => new _RWFunction.RWFunction(x, this));
139
- }
140
- get components() {
141
- var _context0;
142
- return (0, _map.default)(_context0 = (0, _path.globSync)(this.pathHelper.web.components + allFilesGlob)).call(_context0, file => {
143
- if ((0, _path.isCellFileName)(file)) {
144
- const possibleCell = new _RWCell.RWCell(file, this);
145
- return possibleCell.isCell ? possibleCell : new _RWComponent.RWComponent(file, this);
146
- }
147
- return new _RWComponent.RWComponent(file, this);
148
- });
149
- }
150
- get sides() {
151
- return ['web', 'api'];
152
- }
153
-
154
- // TODO: Wrap these in a real model.
155
- get mocks() {
156
- return (0, _path.globSync)(this.pathHelper.web.base + '/**/*.mock.{js,ts}');
157
- }
158
-
159
- /**
160
- * A "Cell" is a component that ends in `Cell.{js, jsx, tsx}`, but does not
161
- * have a default export AND does not export `QUERY`
162
- **/
163
- get cells() {
164
- var _context1, _context10;
165
- return (0, _filter.default)(_context1 = (0, _map.default)(_context10 = (0, _path.globSync)(this.pathHelper.web.base + '/**/*Cell.{js,jsx,tsx}')).call(_context10, file => new _RWCell.RWCell(file, this))).call(_context1, file => file.isCell);
166
- }
167
- get envHelper() {
168
- return new _RWEnvHelper.RWEnvHelper(this);
169
- }
170
- }, (0, _applyDecoratedDescriptor2.default)(_class.prototype, "id", [_dec], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "id"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "pathHelper", [_dec2], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "pathHelper"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "isTypeScriptProject", [_dec3], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "isTypeScriptProject"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "prismaDMMF", [_dec4], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "prismaDMMF"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "prismaDMMFModelNames", [_dec5], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "prismaDMMFModelNames"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "redwoodTOML", [_dec6], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "redwoodTOML"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "processPagesDir", [_dec7], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "processPagesDir"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "pages", [_dec8], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "pages"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "router", [_dec9], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "router"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "defaultNotFoundPageFilePath", [_dec0], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "defaultNotFoundPageFilePath"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "services", [_dec1], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "services"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "sdls", [_dec10], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "sdls"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "layouts", [_dec11], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "layouts"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "functions", [_dec12], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "functions"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "components", [_dec13], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "components"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "sides", [_dec14], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "sides"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "mocks", [_dec15], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "mocks"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "cells", [_dec16], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "cells"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "envHelper", [_dec17], (0, _getOwnPropertyDescriptor.default)(_class.prototype, "envHelper"), _class.prototype), _class);
104
+ // TODO: move to path helper
105
+ servicesFilePath(name) {
106
+ // name = blog,posts
107
+ const ext = this.isTypeScriptProject ? '.ts' : '.js';
108
+ return path.join(this.pathHelper.api.services, name, name + ext);
109
+ }
110
+ // TODO: move to path helper
111
+ get defaultNotFoundPageFilePath() {
112
+ const ext = this.isTypeScriptProject ? '.tsx' : '.jsx';
113
+ return path.join(this.pathHelper.web.pages, 'NotFoundPage', 'NotFoundPage' + ext);
114
+ }
115
+ get services() {
116
+ // TODO: what is the official logic?
117
+ // TODO: Support both `/services/todos/todos.js` AND `/services/todos.js`
118
+ return globSync(this.pathHelper.api.services + allFilesGlob)
119
+ .filter(followsDirNameConvention)
120
+ .map((x) => new RWService(x, this));
121
+ }
122
+ get sdls() {
123
+ return globSync(this.pathHelper.api.graphql + '/**/*.sdl.{js,ts}').map((x) => new RWSDL(x, this));
124
+ }
125
+ get layouts() {
126
+ // TODO: what is the official logic?
127
+ return globSync(this.pathHelper.web.layouts + allFilesGlob)
128
+ .filter(followsDirNameConvention)
129
+ .filter(isLayoutFileName)
130
+ .map((x) => new RWLayout(x, this));
131
+ }
132
+ get functions() {
133
+ // TODO: what is the official logic?
134
+ return globSync(this.pathHelper.api.functions + allFilesGlob).map((x) => new RWFunction(x, this));
135
+ }
136
+ get components() {
137
+ return globSync(this.pathHelper.web.components + allFilesGlob).map((file) => {
138
+ if (isCellFileName(file)) {
139
+ const possibleCell = new RWCell(file, this);
140
+ return possibleCell.isCell
141
+ ? possibleCell
142
+ : new RWComponent(file, this);
143
+ }
144
+ return new RWComponent(file, this);
145
+ });
146
+ }
147
+ get sides() {
148
+ return ['web', 'api'];
149
+ }
150
+ // TODO: Wrap these in a real model.
151
+ get mocks() {
152
+ return globSync(this.pathHelper.web.base + '/**/*.mock.{js,ts}');
153
+ }
154
+ /**
155
+ * A "Cell" is a component that ends in `Cell.{js, jsx, tsx}`, but does not
156
+ * have a default export AND does not export `QUERY`
157
+ **/
158
+ get cells() {
159
+ return globSync(this.pathHelper.web.base + '/**/*Cell.{js,jsx,tsx}')
160
+ .map((file) => new RWCell(file, this))
161
+ .filter((file) => file.isCell);
162
+ }
163
+ get envHelper() {
164
+ return new RWEnvHelper(this);
165
+ }
166
+ /**
167
+ * Maps GraphQL `Mutation` root field name -> the (project-root-relative)
168
+ * path of the SDL file that declares it with a literal `@requireAuth`
169
+ * directive.
170
+ *
171
+ * Used by `RWRoute` to warn when an unprotected route's page uses one of
172
+ * these mutations. Only literal `@requireAuth` is considered - custom
173
+ * directives (and `@skipAuth`) are intentionally ignored.
174
+ */
175
+ get requireAuthMutationFields() {
176
+ const result = new Map();
177
+ for (const sdl of this.sdls) {
178
+ // `implementableFields` parses the SDL's GraphQL schema string, which
179
+ // can throw for a malformed/in-progress schema. Isolate that per SDL
180
+ // file so one bad file doesn't hide `@requireAuth` fields declared in
181
+ // otherwise-valid SDL files.
182
+ let fields;
183
+ try {
184
+ fields = sdl.implementableFields;
185
+ }
186
+ catch {
187
+ continue;
188
+ }
189
+ for (const field of fields) {
190
+ if (field.objectTypeDef.name.value !== 'Mutation') {
191
+ continue;
192
+ }
193
+ const hasRequireAuth = (field.field.directives ?? []).some((directive) => directive.name.value === 'requireAuth');
194
+ if (!hasRequireAuth) {
195
+ continue;
196
+ }
197
+ result.set(field.name, path.relative(this.pathHelper.base, sdl.filePath));
198
+ }
199
+ }
200
+ return result;
201
+ }
202
+ }
203
+ __decorate([
204
+ lazy()
205
+ ], RWProject.prototype, "id", null);
206
+ __decorate([
207
+ lazy()
208
+ ], RWProject.prototype, "pathHelper", null);
209
+ __decorate([
210
+ lazy()
211
+ ], RWProject.prototype, "isTypeScriptProject", null);
212
+ __decorate([
213
+ memo()
214
+ ], RWProject.prototype, "prismaDMMF", null);
215
+ __decorate([
216
+ memo()
217
+ ], RWProject.prototype, "prismaDMMFModelNames", null);
218
+ __decorate([
219
+ lazy()
220
+ ], RWProject.prototype, "cedarTOML", null);
221
+ __decorate([
222
+ lazy()
223
+ ], RWProject.prototype, "processPagesDir", null);
224
+ __decorate([
225
+ lazy()
226
+ ], RWProject.prototype, "pages", null);
227
+ __decorate([
228
+ lazy()
229
+ ], RWProject.prototype, "router", null);
230
+ __decorate([
231
+ lazy()
232
+ ], RWProject.prototype, "defaultNotFoundPageFilePath", null);
233
+ __decorate([
234
+ lazy()
235
+ ], RWProject.prototype, "services", null);
236
+ __decorate([
237
+ lazy()
238
+ ], RWProject.prototype, "sdls", null);
239
+ __decorate([
240
+ lazy()
241
+ ], RWProject.prototype, "layouts", null);
242
+ __decorate([
243
+ lazy()
244
+ ], RWProject.prototype, "functions", null);
245
+ __decorate([
246
+ lazy()
247
+ ], RWProject.prototype, "components", null);
248
+ __decorate([
249
+ lazy()
250
+ ], RWProject.prototype, "sides", null);
251
+ __decorate([
252
+ lazy()
253
+ ], RWProject.prototype, "mocks", null);
254
+ __decorate([
255
+ lazy()
256
+ ], RWProject.prototype, "cells", null);
257
+ __decorate([
258
+ lazy()
259
+ ], RWProject.prototype, "envHelper", null);
260
+ __decorate([
261
+ lazy()
262
+ ], RWProject.prototype, "requireAuthMutationFields", null);
263
+ //# sourceMappingURL=RWProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RWProject.js","sourceRoot":"","sources":["../../src/model/RWProject.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import * as tsm from 'ts-morph';
2
- import { BaseNode } from '../nodes';
3
- import type { Location } from '../x/Location';
4
- import type { RWRouter } from './RWRouter';
2
+ import { BaseNode } from '../nodes.js';
3
+ import type { ExtendedDiagnostic } from '../x/diagnostics.js';
4
+ import type { Location } from '../x/Location.js';
5
+ import type { RWRouter } from './RWRouter.js';
5
6
  export declare class RWRoute extends BaseNode {
6
7
  /**
7
8
  * the <Route> tag
@@ -15,15 +16,30 @@ export declare class RWRoute extends BaseNode {
15
16
  jsxNode: tsm.JsxSelfClosingElement, parent: RWRouter);
16
17
  get id(): string;
17
18
  get location(): Location;
19
+ /**
20
+ * All enclosing `<Private>` / `<PrivateSet>` JSX elements, walking up from
21
+ * this route's `<Route>` tag to (but not including) the `<Router>` tag.
22
+ * Ordered innermost-first, so `privateAncestors[0]` (if present) is the
23
+ * nearest wrapper. A route can be nested inside a plain `<Set>` that is
24
+ * itself inside a `<PrivateSet>`, so we can't just look at the immediate
25
+ * JSX parent.
26
+ */
27
+ private get privateAncestors();
18
28
  get isPrivate(): boolean;
19
29
  get unauthenticated(): string | undefined;
20
- get roles(): string | any[] | undefined;
30
+ get roles(): string | string[] | undefined;
31
+ /**
32
+ * Reads the `roles` attribute off a `<Private>`/`<PrivateSet>` opening
33
+ * element, handling the string literal, quasi-JSON string
34
+ * (e.g. `"['a','b']"`), and JSX array-literal expression forms.
35
+ */
36
+ private getRolesAttr;
21
37
  get hasParameters(): boolean;
22
38
  get hasPrerender(): boolean;
23
39
  /**
24
40
  * The associated Redwood Page node, if any
25
41
  */
26
- get page(): import("./RWPage").RWPage | undefined;
42
+ get page(): import("./RWPage.ts").RWPage | undefined;
27
43
  /**
28
44
  * <Route path="" page={THIS_IDENTIFIER}/>
29
45
  */
@@ -37,7 +53,17 @@ export declare class RWRoute extends BaseNode {
37
53
  get path_literal_node(): tsm.StringLiteral | undefined;
38
54
  get isNotFound(): boolean;
39
55
  get redirect(): string | undefined;
40
- diagnostics(): Generator<import("../x/diagnostics").ExtendedDiagnostic, void, unknown>;
56
+ diagnostics(): Generator<ExtendedDiagnostic, void, unknown>;
57
+ /**
58
+ * For an unprotected route (not wrapped in `<Private>`/`<PrivateSet>`),
59
+ * transitively walks the page's imports to find any GraphQL mutations
60
+ * that are marked `@requireAuth` in the api-side SDL.
61
+ *
62
+ * This is a best-effort static analysis (see `pageMutationUsage.ts`), so
63
+ * any internal failure degrades to "no warning" rather than surfacing a
64
+ * crash diagnostic - this check must never break the other diagnostics.
65
+ */
66
+ private get unprotectedAuthMutationUsages();
41
67
  private get hasPathCollision();
42
68
  private getBoolAttr;
43
69
  private getStringAttr;
@@ -1 +1 @@
1
- {"version":3,"file":"RWRoute.d.ts","sourceRoot":"","sources":["../../src/model/RWRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAG/B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAInC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,qBAAa,OAAQ,SAAQ,QAAQ;IAEjC;;OAEG;IACI,OAAO,EAAE,GAAG,CAAC,qBAAqB;IAClC,MAAM,EAAE,QAAQ;;IAJvB;;OAEG;IACI,OAAO,EAAE,GAAG,CAAC,qBAAqB,EAClC,MAAM,EAAE,QAAQ;IAKzB,IAAY,EAAE,WAIb;IAED,IAAY,QAAQ,IAAI,QAAQ,CAE/B;IAED,IAAY,SAAS,YAOpB;IAED,IAAY,eAAe,uBAoB1B;IAED,IACI,KAAK,+BA0DR;IAED,IAAY,aAAa,IAAI,OAAO,CAMnC;IAED,IAAY,YAAY,YAEvB;IAED;;OAEG;IAEH,IAAY,IAAI,0CAOf;IACD;;OAEG;IACK,OAAO,KAAK,eAAe,GAelC;IACD,IAAY,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAEpD;IACD,IAAY,IAAI,IAAI,MAAM,GAAG,SAAS,CAErC;IACD,IAAY,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAWlD;IACD,IAAY,IAAI,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAY,SAAS,IAAI,OAAO,CAE/B;IAGD,IAAY,UAAU,IAAI,MAAM,GAAG,SAAS,CAE3C;IAED,IAAY,iBAAiB,kCAY5B;IAED,IAAY,UAAU,IAAI,OAAO,CAEhC;IAED,IAAY,QAAQ,uBAEnB;IAEA,WAAW;IA8BJ,OAAO,KAAK,gBAAgB,GAsBnC;IAED,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,aAAa;CAatB"}
1
+ {"version":3,"file":"RWRoute.d.ts","sourceRoot":"","sources":["../../src/model/RWRoute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAG/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAe7C,qBAAa,OAAQ,SAAQ,QAAQ;IAEjC;;OAEG;IACI,OAAO,EAAE,GAAG,CAAC,qBAAqB;IAClC,MAAM,EAAE,QAAQ;;IAJvB;;OAEG;IACI,OAAO,EAAE,GAAG,CAAC,qBAAqB,EAClC,MAAM,EAAE,QAAQ;IAKzB,IAAY,EAAE,WAIb;IAED,IAAY,QAAQ,IAAI,QAAQ,CAE/B;IAED;;;;;;;OAOG;IACK,OAAO,KAAK,gBAAgB,GAyBnC;IAED,IAAY,SAAS,YAEpB;IAED,IAAY,eAAe,uBAiB1B;IAED,IACI,KAAK,kCA0BR;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAuDpB,IAAY,aAAa,IAAI,OAAO,CAMnC;IAED,IAAY,YAAY,YAEvB;IAED;;OAEG;IAEH,IAAY,IAAI,6CAOf;IACD;;OAEG;IACK,OAAO,KAAK,eAAe,GAelC;IACD,IAAY,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAEpD;IACD,IAAY,IAAI,IAAI,MAAM,GAAG,SAAS,CAErC;IACD,IAAY,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAWlD;IACD,IAAY,IAAI,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAY,SAAS,IAAI,OAAO,CAE/B;IAGD,IAAY,UAAU,IAAI,MAAM,GAAG,SAAS,CAE3C;IAED,IAAY,iBAAiB,kCAY5B;IAED,IAAY,UAAU,IAAI,OAAO,CAEhC;IAED,IAAY,QAAQ,uBAEnB;IAEA,WAAW;IAgDZ;;;;;;;;OAQG;IAEH,OAAO,KAAK,6BAA6B,GA2CxC;IAEO,OAAO,KAAK,gBAAgB,GAsBnC;IAED,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,aAAa;CAatB"}