@cedarjs/codemods 0.0.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.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +297 -0
  3. package/dist/codemods/list.yargs.js +67 -0
  4. package/dist/codemods/v2.3.x/tsconfigForRouteHooks/tsconfigForRouteHooks.js +74 -0
  5. package/dist/codemods/v2.3.x/tsconfigForRouteHooks/tsconfigForRouteHooks.yargs.js +51 -0
  6. package/dist/codemods/v2.x.x/configureFastify/configureFastify.js +43 -0
  7. package/dist/codemods/v2.x.x/configureFastify/configureFastify.yargs.js +83 -0
  8. package/dist/codemods/v2.x.x/updateResolverTypes/updateResolverTypes.js +77 -0
  9. package/dist/codemods/v2.x.x/updateResolverTypes/updateResolverTypes.yargs.js +62 -0
  10. package/dist/codemods/v4.2.x/updateClerkGetCurrentUser/updateClerkGetCurrentUser.js +71 -0
  11. package/dist/codemods/v4.2.x/updateClerkGetCurrentUser/updateClerkGetCurrentUser.yargs.js +58 -0
  12. package/dist/codemods/v4.x.x/useArmor/useArmor.js +63 -0
  13. package/dist/codemods/v4.x.x/useArmor/useArmor.yargs.js +62 -0
  14. package/dist/codemods/v5.x.x/cellQueryResult/cellQueryResult.js +110 -0
  15. package/dist/codemods/v5.x.x/cellQueryResult/cellQueryResult.yargs.js +58 -0
  16. package/dist/codemods/v5.x.x/detectEmptyCells/detectEmptyCells.js +88 -0
  17. package/dist/codemods/v5.x.x/detectEmptyCells/detectEmptyCells.yargs.js +59 -0
  18. package/dist/codemods/v5.x.x/renameValidateWith/renameValidateWith.js +32 -0
  19. package/dist/codemods/v5.x.x/renameValidateWith/renameValidateWith.yargs.js +65 -0
  20. package/dist/codemods/v5.x.x/updateAuth0ToV2/updateAuth0ToV2.js +48 -0
  21. package/dist/codemods/v5.x.x/updateAuth0ToV2/updateAuth0ToV2.yargs.js +68 -0
  22. package/dist/codemods/v5.x.x/updateNodeEngineTo18/updateNodeEngineTo18.js +46 -0
  23. package/dist/codemods/v5.x.x/updateNodeEngineTo18/updateNodeEngineTo18.yargs.js +57 -0
  24. package/dist/codemods/v5.x.x/upgradeToReact18/upgradeToReact18.js +135 -0
  25. package/dist/codemods/v5.x.x/upgradeToReact18/upgradeToReact18.yargs.js +56 -0
  26. package/dist/codemods/v6.x.x/changeGlobalToGlobalThis/changeGlobalToGlobalThis.js +29 -0
  27. package/dist/codemods/v6.x.x/changeGlobalToGlobalThis/changeGlobalToGlobalThis.yargs.js +60 -0
  28. package/dist/codemods/v6.x.x/convertJsToJsx/convertJsToJsx.js +45 -0
  29. package/dist/codemods/v6.x.x/convertJsToJsx/convertJsToJsx.yargs.js +59 -0
  30. package/dist/codemods/v6.x.x/entryClientNullCheck/entryClientNullCheck.js +51 -0
  31. package/dist/codemods/v6.x.x/entryClientNullCheck/entryClientNullCheck.yargs.js +60 -0
  32. package/dist/codemods/v6.x.x/processEnvDotNotation/processEnvDotNotation.js +44 -0
  33. package/dist/codemods/v6.x.x/processEnvDotNotation/processEnvDotNotation.yargs.js +60 -0
  34. package/dist/codemods/v6.x.x/replaceComponentSvgs/replaceComponentSvgs.js +154 -0
  35. package/dist/codemods/v6.x.x/replaceComponentSvgs/replaceComponentSvgs.yargs.js +61 -0
  36. package/dist/codemods/v6.x.x/updateDevFatalErrorPage/updateDevFatalErrorPage.js +58 -0
  37. package/dist/codemods/v6.x.x/updateDevFatalErrorPage/updateDevFatalErrorPage.yargs.js +50 -0
  38. package/dist/codemods/v6.x.x/updateThemeConfig/updateThemeConfig.js +51 -0
  39. package/dist/codemods/v6.x.x/updateThemeConfig/updateThemeConfig.yargs.js +61 -0
  40. package/dist/codemods/v7.x.x/updateGraphQLConfig/updateGraphqlConfig.js +51 -0
  41. package/dist/codemods/v7.x.x/updateGraphQLConfig/updateGraphqlConfig.yargs.js +50 -0
  42. package/dist/codemods.js +45 -0
  43. package/dist/lib/cells.js +230 -0
  44. package/dist/lib/fetchFileFromTemplate.js +29 -0
  45. package/dist/lib/getFilesWithPattern.js +51 -0
  46. package/dist/lib/getRootPackageJSON.js +44 -0
  47. package/dist/lib/isTSProject.js +39 -0
  48. package/dist/lib/prettify.js +55 -0
  49. package/dist/lib/runTransform.js +76 -0
  50. package/dist/lib/ts2js.js +57 -0
  51. package/package.json +67 -0
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var updateThemeConfig_exports = {};
20
+ __export(updateThemeConfig_exports, {
21
+ default: () => transform
22
+ });
23
+ module.exports = __toCommonJS(updateThemeConfig_exports);
24
+ function transform(file, api) {
25
+ const j = api.jscodeshift;
26
+ const root = j(file.source);
27
+ root.find(j.AssignmentExpression, {
28
+ left: {
29
+ type: "MemberExpression",
30
+ object: { type: "Identifier", name: "module" },
31
+ property: { type: "Identifier", name: "exports" }
32
+ }
33
+ }).forEach((path) => {
34
+ const configObject = path.value.right;
35
+ let themeObjectName = "theme";
36
+ if (j.Identifier.check(configObject)) {
37
+ themeObjectName = configObject.name;
38
+ j(path).remove();
39
+ } else {
40
+ const declaration = j.variableDeclaration("const", [
41
+ j.variableDeclarator(j.identifier(themeObjectName), configObject)
42
+ ]);
43
+ j(path).replaceWith(declaration);
44
+ }
45
+ const exportDefaultStatement = j.exportDefaultDeclaration(
46
+ j.identifier(themeObjectName)
47
+ );
48
+ j(path.parentPath).insertAfter(exportDefaultStatement);
49
+ });
50
+ return root.toSource();
51
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var updateThemeConfig_yargs_exports = {};
30
+ __export(updateThemeConfig_yargs_exports, {
31
+ command: () => command,
32
+ description: () => description,
33
+ handler: () => handler
34
+ });
35
+ module.exports = __toCommonJS(updateThemeConfig_yargs_exports);
36
+ var import_path = __toESM(require("path"));
37
+ var import_fast_glob = __toESM(require("fast-glob"));
38
+ var import_tasuku = __toESM(require("tasuku"));
39
+ var import_project_config = require("@cedarjs/project-config");
40
+ var import_runTransform = __toESM(require("../../../lib/runTransform"));
41
+ const command = "update-theme-config";
42
+ const description = "(v5.x.x->v6.x.x) Converts mantine and chakra UI configs to use ESM syntax";
43
+ const handler = () => {
44
+ (0, import_tasuku.default)("Update Theme Config", async ({ setOutput }) => {
45
+ const targetPaths = import_fast_glob.default.sync("{chakra,mantine}.config.{js,jsx,tsx,ts}", {
46
+ cwd: (0, import_project_config.getPaths)().web.config,
47
+ absolute: true
48
+ });
49
+ await (0, import_runTransform.default)({
50
+ transformPath: import_path.default.join(__dirname, "updateThemeConfig.js"),
51
+ targetPaths
52
+ });
53
+ setOutput("All done! Run `yarn rw lint --fix` to prettify your code");
54
+ });
55
+ };
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ command,
59
+ description,
60
+ handler
61
+ });
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var updateGraphqlConfig_exports = {};
30
+ __export(updateGraphqlConfig_exports, {
31
+ updateGraphqlConfig: () => updateGraphqlConfig
32
+ });
33
+ module.exports = __toCommonJS(updateGraphqlConfig_exports);
34
+ var import_fs = __toESM(require("fs"));
35
+ var import_path = __toESM(require("path"));
36
+ var import_fetch = require("@whatwg-node/fetch");
37
+ var import_project_config = require("@cedarjs/project-config");
38
+ const updateGraphqlConfig = async () => {
39
+ const res = await (0, import_fetch.fetch)(
40
+ // TODO: Have to come back here to update the URL when we have a more
41
+ // stable location than main
42
+ // 'https://raw.githubusercontent.com/redwoodjs/redwood/release/major/v7.0.0/packages/create-cedar-app/templates/ts/graphql.config.js'
43
+ "https://raw.githubusercontent.com/cedarjs/cedar/main/packages/create-cedar-app/templates/ts/graphql.config.js"
44
+ );
45
+ const text = await res.text();
46
+ import_fs.default.writeFileSync(import_path.default.join((0, import_project_config.getPaths)().base, "graphql.config.js"), text);
47
+ };
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ updateGraphqlConfig
51
+ });
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var updateGraphqlConfig_yargs_exports = {};
30
+ __export(updateGraphqlConfig_yargs_exports, {
31
+ command: () => command,
32
+ description: () => description,
33
+ handler: () => handler
34
+ });
35
+ module.exports = __toCommonJS(updateGraphqlConfig_yargs_exports);
36
+ var import_tasuku = __toESM(require("tasuku"));
37
+ var import_updateGraphqlConfig = require("./updateGraphqlConfig");
38
+ const command = "update-graphql-config";
39
+ const description = "(v6.x->v7.x) Update graphql.config.js from the create-cedar-app template";
40
+ const handler = () => {
41
+ (0, import_tasuku.default)("Update root graphql.config.js file", async () => {
42
+ await (0, import_updateGraphqlConfig.updateGraphqlConfig)();
43
+ });
44
+ };
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ command,
48
+ description,
49
+ handler
50
+ });
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
+ // If the importer is in node compatibility mode or this is not an ESM
19
+ // file that has been converted to a CommonJS file using a Babel-
20
+ // compatible transform (i.e. "__esModule" has not been set), then set
21
+ // "default" to the CommonJS "module.exports" for node compatibility.
22
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
+ mod
24
+ ));
25
+ var import_yargs = __toESM(require("yargs"));
26
+ var v2TsconfigForRouteHooks = __toESM(require("./codemods/v2.3.x/tsconfigForRouteHooks/tsconfigForRouteHooks.yargs.js"));
27
+ var v2ConfigureFastify = __toESM(require("./codemods/v2.x.x/configureFastify/configureFastify.yargs.js"));
28
+ var v2UpdateResolverTypes = __toESM(require("./codemods/v2.x.x/updateResolverTypes/updateResolverTypes.yargs.js"));
29
+ var v4UpdateClerkGetCurrentUser = __toESM(require("./codemods/v4.2.x/updateClerkGetCurrentUser/updateClerkGetCurrentUser.yargs.js"));
30
+ var v4UseArmor = __toESM(require("./codemods/v4.x.x/useArmor/useArmor.yargs.js"));
31
+ var v5CellQueryResult = __toESM(require("./codemods/v5.x.x/cellQueryResult/cellQueryResult.yargs.js"));
32
+ var v5DetectEmptyCells = __toESM(require("./codemods/v5.x.x/detectEmptyCells/detectEmptyCells.yargs.js"));
33
+ var v5RenameValidateWith = __toESM(require("./codemods/v5.x.x/renameValidateWith/renameValidateWith.yargs.js"));
34
+ var v5UpdateAuth0ToV2 = __toESM(require("./codemods/v5.x.x/updateAuth0ToV2/updateAuth0ToV2.yargs.js"));
35
+ var v5UpdateNodeEngineTo18 = __toESM(require("./codemods/v5.x.x/updateNodeEngineTo18/updateNodeEngineTo18.yargs.js"));
36
+ var v5UpgradeToReact18 = __toESM(require("./codemods/v5.x.x/upgradeToReact18/upgradeToReact18.yargs.js"));
37
+ var v6GlobalThis = __toESM(require("./codemods/v6.x.x/changeGlobalToGlobalThis/changeGlobalToGlobalThis.yargs.js"));
38
+ var v6Jsx = __toESM(require("./codemods/v6.x.x/convertJsToJsx/convertJsToJsx.yargs.js"));
39
+ var v6EntryClient = __toESM(require("./codemods/v6.x.x/entryClientNullCheck/entryClientNullCheck.yargs.js"));
40
+ var v6EnvDot = __toESM(require("./codemods/v6.x.x/processEnvDotNotation/processEnvDotNotation.yargs.js"));
41
+ var v6Svgs = __toESM(require("./codemods/v6.x.x/replaceComponentSvgs/replaceComponentSvgs.yargs.js"));
42
+ var v6DevFatalErrorPage = __toESM(require("./codemods/v6.x.x/updateDevFatalErrorPage/updateDevFatalErrorPage.yargs.js"));
43
+ var v6ThemeConfig = __toESM(require("./codemods/v6.x.x/updateThemeConfig/updateThemeConfig.yargs.js"));
44
+ var v7Gql = __toESM(require("./codemods/v7.x.x/updateGraphQLConfig/updateGraphqlConfig.yargs.js"));
45
+ import_yargs.default.scriptName("codemods").example([["$0 add-directives", "Run the add-directives codemod"]]).command(v2TsconfigForRouteHooks).command(v2ConfigureFastify).command(v2UpdateResolverTypes).command(v4UpdateClerkGetCurrentUser).command(v4UseArmor).command(v5CellQueryResult).command(v5DetectEmptyCells).command(v5RenameValidateWith).command(v5UpdateAuth0ToV2).command(v5UpdateNodeEngineTo18).command(v5UpgradeToReact18).command(v6GlobalThis).command(v6Jsx).command(v6EntryClient).command(v6EnvDot).command(v6Svgs).command(v6DevFatalErrorPage).command(v6ThemeConfig).command(v7Gql).demandCommand().strict().argv;
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var cells_exports = {};
30
+ __export(cells_exports, {
31
+ fileToAst: () => fileToAst,
32
+ findCells: () => findCells,
33
+ getCellGqlQuery: () => getCellGqlQuery,
34
+ getNamedExports: () => getNamedExports,
35
+ hasDefaultExport: () => hasDefaultExport,
36
+ isCellFile: () => isCellFile,
37
+ isFileInsideFolder: () => isFileInsideFolder,
38
+ parseDocumentAST: () => parseDocumentAST,
39
+ parseGqlQueryToAst: () => parseGqlQueryToAst
40
+ });
41
+ module.exports = __toCommonJS(cells_exports);
42
+ var import_fs = __toESM(require("fs"));
43
+ var import_path = __toESM(require("path"));
44
+ var import_core = require("@babel/core");
45
+ var import_parser = require("@babel/parser");
46
+ var import_traverse = __toESM(require("@babel/traverse"));
47
+ var import_fast_glob = __toESM(require("fast-glob"));
48
+ var import_graphql = require("graphql");
49
+ var import_project_config = require("@cedarjs/project-config");
50
+ const findCells = (cwd = (0, import_project_config.getPaths)().web.src) => {
51
+ const modules = import_fast_glob.default.sync("**/*Cell.{js,jsx,ts,tsx}", {
52
+ cwd,
53
+ absolute: true,
54
+ ignore: ["node_modules"]
55
+ });
56
+ return modules.filter(isCellFile);
57
+ };
58
+ const isCellFile = (p) => {
59
+ const { dir, name } = import_path.default.parse(p);
60
+ if (!isFileInsideFolder(p, (0, import_project_config.getPaths)().web.src)) {
61
+ return false;
62
+ }
63
+ if (!dir.endsWith(name)) {
64
+ return false;
65
+ }
66
+ const ast = fileToAst(p);
67
+ if (hasDefaultExport(ast)) {
68
+ return false;
69
+ }
70
+ const exports2 = getNamedExports(ast);
71
+ const exportedQUERY = exports2.findIndex((v) => v.name === "QUERY") !== -1;
72
+ const exportedSuccess = exports2.findIndex((v) => v.name === "Success") !== -1;
73
+ if (!exportedQUERY && !exportedSuccess) {
74
+ return false;
75
+ }
76
+ return true;
77
+ };
78
+ const isFileInsideFolder = (filePath, folderPath) => {
79
+ const { dir } = import_path.default.parse(filePath);
80
+ const relativePathFromFolder = import_path.default.relative(folderPath, dir);
81
+ if (!relativePathFromFolder || relativePathFromFolder.startsWith("..") || import_path.default.isAbsolute(relativePathFromFolder)) {
82
+ return false;
83
+ } else {
84
+ return true;
85
+ }
86
+ };
87
+ const hasDefaultExport = (ast) => {
88
+ let exported = false;
89
+ (0, import_traverse.default)(ast, {
90
+ ExportDefaultDeclaration() {
91
+ exported = true;
92
+ return;
93
+ }
94
+ });
95
+ return exported;
96
+ };
97
+ const getNamedExports = (ast) => {
98
+ const namedExports = [];
99
+ (0, import_traverse.default)(ast, {
100
+ ExportNamedDeclaration(path2) {
101
+ const specifiers = path2.node?.specifiers;
102
+ if (specifiers.length) {
103
+ for (const s of specifiers) {
104
+ const id = s.exported;
105
+ namedExports.push({
106
+ name: id.name,
107
+ type: "re-export"
108
+ });
109
+ }
110
+ return;
111
+ }
112
+ const declaration = path2.node.declaration;
113
+ if (!declaration) {
114
+ return;
115
+ }
116
+ if (declaration.type === "VariableDeclaration") {
117
+ const id = declaration.declarations[0].id;
118
+ namedExports.push({
119
+ name: id.name,
120
+ type: "variable"
121
+ });
122
+ } else if (declaration.type === "FunctionDeclaration") {
123
+ namedExports.push({
124
+ name: declaration?.id?.name,
125
+ type: "function"
126
+ });
127
+ } else if (declaration.type === "ClassDeclaration") {
128
+ namedExports.push({
129
+ name: declaration?.id?.name || "",
130
+ type: "class"
131
+ });
132
+ }
133
+ }
134
+ });
135
+ return namedExports;
136
+ };
137
+ const fileToAst = (filePath) => {
138
+ const code = import_fs.default.readFileSync(filePath, "utf-8");
139
+ const isJsxFile = import_path.default.extname(filePath).match(/[jt]sx$/) || isFileInsideFolder(filePath, (0, import_project_config.getPaths)().web.base);
140
+ const plugins = [
141
+ "typescript",
142
+ "nullishCoalescingOperator",
143
+ "objectRestSpread",
144
+ isJsxFile && "jsx"
145
+ ].filter(Boolean);
146
+ try {
147
+ return (0, import_parser.parse)(code, {
148
+ sourceType: "module",
149
+ plugins
150
+ });
151
+ } catch (e) {
152
+ console.error(e);
153
+ throw new Error(e?.message);
154
+ }
155
+ };
156
+ const getCellGqlQuery = (ast) => {
157
+ let cellQuery = void 0;
158
+ (0, import_traverse.default)(ast, {
159
+ ExportNamedDeclaration({ node }) {
160
+ if (node.exportKind === "value" && import_core.types.isVariableDeclaration(node.declaration)) {
161
+ const exportedQueryNode = node.declaration.declarations.find((d) => {
162
+ return import_core.types.isIdentifier(d.id) && d.id.name === "QUERY" && import_core.types.isTaggedTemplateExpression(d.init);
163
+ });
164
+ if (exportedQueryNode) {
165
+ const templateExpression = exportedQueryNode.init;
166
+ cellQuery = templateExpression.quasi.quasis[0].value.raw;
167
+ }
168
+ }
169
+ return;
170
+ }
171
+ });
172
+ return cellQuery;
173
+ };
174
+ const parseGqlQueryToAst = (gqlQuery) => {
175
+ const ast = (0, import_graphql.parse)(gqlQuery);
176
+ return parseDocumentAST(ast);
177
+ };
178
+ const parseDocumentAST = (document) => {
179
+ const operations = [];
180
+ (0, import_graphql.visit)(document, {
181
+ OperationDefinition(node) {
182
+ const fields = [];
183
+ node.selectionSet.selections.forEach((field) => {
184
+ fields.push(getFields(field));
185
+ });
186
+ operations.push({
187
+ operation: node.operation,
188
+ name: node.name?.value,
189
+ fields
190
+ });
191
+ }
192
+ });
193
+ return operations;
194
+ };
195
+ const getFields = (field) => {
196
+ if (!field.selectionSet) {
197
+ return field.name.value;
198
+ } else {
199
+ const obj = {
200
+ [field.name.value]: []
201
+ };
202
+ const lookAtFieldNode = (node) => {
203
+ node.selectionSet?.selections.forEach((subField) => {
204
+ switch (subField.kind) {
205
+ case import_graphql.Kind.FIELD:
206
+ obj[field.name.value].push(getFields(subField));
207
+ break;
208
+ case import_graphql.Kind.FRAGMENT_SPREAD:
209
+ break;
210
+ case import_graphql.Kind.INLINE_FRAGMENT:
211
+ lookAtFieldNode(subField);
212
+ }
213
+ });
214
+ };
215
+ lookAtFieldNode(field);
216
+ return obj;
217
+ }
218
+ };
219
+ // Annotate the CommonJS export names for ESM import in node:
220
+ 0 && (module.exports = {
221
+ fileToAst,
222
+ findCells,
223
+ getCellGqlQuery,
224
+ getNamedExports,
225
+ hasDefaultExport,
226
+ isCellFile,
227
+ isFileInsideFolder,
228
+ parseDocumentAST,
229
+ parseGqlQueryToAst
230
+ });
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fetchFileFromTemplate_exports = {};
20
+ __export(fetchFileFromTemplate_exports, {
21
+ default: () => fetchFileFromTemplate
22
+ });
23
+ module.exports = __toCommonJS(fetchFileFromTemplate_exports);
24
+ var import_fetch = require("@whatwg-node/fetch");
25
+ async function fetchFileFromTemplate(tag, file) {
26
+ const URL = `https://raw.githubusercontent.com/redwoodjs/redwood/${tag}/packages/create-cedar-app/template/${file}`;
27
+ const res = await (0, import_fetch.fetch)(URL);
28
+ return res.text();
29
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var getFilesWithPattern_exports = {};
30
+ __export(getFilesWithPattern_exports, {
31
+ default: () => getFilesWithPattern_default
32
+ });
33
+ module.exports = __toCommonJS(getFilesWithPattern_exports);
34
+ var import_ripgrep = require("@vscode/ripgrep");
35
+ var import_execa = __toESM(require("execa"));
36
+ const getFilesWithPattern = ({
37
+ pattern,
38
+ filesToSearch
39
+ }) => {
40
+ try {
41
+ const { stdout } = import_execa.default.sync(import_ripgrep.rgPath, [
42
+ "--files-with-matches",
43
+ pattern,
44
+ ...filesToSearch
45
+ ]);
46
+ return stdout.toString().split("\n");
47
+ } catch {
48
+ return [];
49
+ }
50
+ };
51
+ var getFilesWithPattern_default = getFilesWithPattern;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var getRootPackageJSON_exports = {};
30
+ __export(getRootPackageJSON_exports, {
31
+ default: () => getRootPackageJSON_default
32
+ });
33
+ module.exports = __toCommonJS(getRootPackageJSON_exports);
34
+ var import_fs = __toESM(require("fs"));
35
+ var import_path = __toESM(require("path"));
36
+ var import_project_config = require("@cedarjs/project-config");
37
+ const getRootPackageJSON = () => {
38
+ const rootPackageJSONPath = import_path.default.join((0, import_project_config.getPaths)().base, "package.json");
39
+ const rootPackageJSON = JSON.parse(
40
+ import_fs.default.readFileSync(rootPackageJSONPath, "utf8")
41
+ );
42
+ return [rootPackageJSON, rootPackageJSONPath];
43
+ };
44
+ var getRootPackageJSON_default = getRootPackageJSON;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var isTSProject_exports = {};
30
+ __export(isTSProject_exports, {
31
+ default: () => isTSProject_default
32
+ });
33
+ module.exports = __toCommonJS(isTSProject_exports);
34
+ var import_fast_glob = __toESM(require("fast-glob"));
35
+ var import_project_config = require("@cedarjs/project-config");
36
+ const isTSProject = import_fast_glob.default.sync(`${(0, import_project_config.getPaths)().base}/**/tsconfig.json`, {
37
+ ignore: ["**/node_modules/**"]
38
+ }).length > 0;
39
+ var isTSProject_default = isTSProject;