@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.
- package/LICENSE +21 -0
- package/README.md +297 -0
- package/dist/codemods/list.yargs.js +67 -0
- package/dist/codemods/v2.3.x/tsconfigForRouteHooks/tsconfigForRouteHooks.js +74 -0
- package/dist/codemods/v2.3.x/tsconfigForRouteHooks/tsconfigForRouteHooks.yargs.js +51 -0
- package/dist/codemods/v2.x.x/configureFastify/configureFastify.js +43 -0
- package/dist/codemods/v2.x.x/configureFastify/configureFastify.yargs.js +83 -0
- package/dist/codemods/v2.x.x/updateResolverTypes/updateResolverTypes.js +77 -0
- package/dist/codemods/v2.x.x/updateResolverTypes/updateResolverTypes.yargs.js +62 -0
- package/dist/codemods/v4.2.x/updateClerkGetCurrentUser/updateClerkGetCurrentUser.js +71 -0
- package/dist/codemods/v4.2.x/updateClerkGetCurrentUser/updateClerkGetCurrentUser.yargs.js +58 -0
- package/dist/codemods/v4.x.x/useArmor/useArmor.js +63 -0
- package/dist/codemods/v4.x.x/useArmor/useArmor.yargs.js +62 -0
- package/dist/codemods/v5.x.x/cellQueryResult/cellQueryResult.js +110 -0
- package/dist/codemods/v5.x.x/cellQueryResult/cellQueryResult.yargs.js +58 -0
- package/dist/codemods/v5.x.x/detectEmptyCells/detectEmptyCells.js +88 -0
- package/dist/codemods/v5.x.x/detectEmptyCells/detectEmptyCells.yargs.js +59 -0
- package/dist/codemods/v5.x.x/renameValidateWith/renameValidateWith.js +32 -0
- package/dist/codemods/v5.x.x/renameValidateWith/renameValidateWith.yargs.js +65 -0
- package/dist/codemods/v5.x.x/updateAuth0ToV2/updateAuth0ToV2.js +48 -0
- package/dist/codemods/v5.x.x/updateAuth0ToV2/updateAuth0ToV2.yargs.js +68 -0
- package/dist/codemods/v5.x.x/updateNodeEngineTo18/updateNodeEngineTo18.js +46 -0
- package/dist/codemods/v5.x.x/updateNodeEngineTo18/updateNodeEngineTo18.yargs.js +57 -0
- package/dist/codemods/v5.x.x/upgradeToReact18/upgradeToReact18.js +135 -0
- package/dist/codemods/v5.x.x/upgradeToReact18/upgradeToReact18.yargs.js +56 -0
- package/dist/codemods/v6.x.x/changeGlobalToGlobalThis/changeGlobalToGlobalThis.js +29 -0
- package/dist/codemods/v6.x.x/changeGlobalToGlobalThis/changeGlobalToGlobalThis.yargs.js +60 -0
- package/dist/codemods/v6.x.x/convertJsToJsx/convertJsToJsx.js +45 -0
- package/dist/codemods/v6.x.x/convertJsToJsx/convertJsToJsx.yargs.js +59 -0
- package/dist/codemods/v6.x.x/entryClientNullCheck/entryClientNullCheck.js +51 -0
- package/dist/codemods/v6.x.x/entryClientNullCheck/entryClientNullCheck.yargs.js +60 -0
- package/dist/codemods/v6.x.x/processEnvDotNotation/processEnvDotNotation.js +44 -0
- package/dist/codemods/v6.x.x/processEnvDotNotation/processEnvDotNotation.yargs.js +60 -0
- package/dist/codemods/v6.x.x/replaceComponentSvgs/replaceComponentSvgs.js +154 -0
- package/dist/codemods/v6.x.x/replaceComponentSvgs/replaceComponentSvgs.yargs.js +61 -0
- package/dist/codemods/v6.x.x/updateDevFatalErrorPage/updateDevFatalErrorPage.js +58 -0
- package/dist/codemods/v6.x.x/updateDevFatalErrorPage/updateDevFatalErrorPage.yargs.js +50 -0
- package/dist/codemods/v6.x.x/updateThemeConfig/updateThemeConfig.js +51 -0
- package/dist/codemods/v6.x.x/updateThemeConfig/updateThemeConfig.yargs.js +61 -0
- package/dist/codemods/v7.x.x/updateGraphQLConfig/updateGraphqlConfig.js +51 -0
- package/dist/codemods/v7.x.x/updateGraphQLConfig/updateGraphqlConfig.yargs.js +50 -0
- package/dist/codemods.js +45 -0
- package/dist/lib/cells.js +230 -0
- package/dist/lib/fetchFileFromTemplate.js +29 -0
- package/dist/lib/getFilesWithPattern.js +51 -0
- package/dist/lib/getRootPackageJSON.js +44 -0
- package/dist/lib/isTSProject.js +39 -0
- package/dist/lib/prettify.js +55 -0
- package/dist/lib/runTransform.js +76 -0
- package/dist/lib/ts2js.js +57 -0
- 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
|
+
});
|
package/dist/codemods.js
ADDED
|
@@ -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;
|