Update typescript plugin build script (#13637)

This commit is contained in:
fisker Cheung authored and GitHub committed 2022-10-16 13:36:22 +08:00
1 parent 50e3aabde9
commit 791bcb4e72
1 file changed
+48 -45
+48 -45
View File
@@ -58,55 +58,58 @@ const pluginFiles = [
{
input: "src/language-js/parse/typescript.js",
replaceModule: [
// `@typescript-eslint/typescript-estree` v4
{
module: "*",
find: 'require("globby")',
replacement: "{}",
},
{
module: "*",
find: "extra.projects = prepareAndTransformProjects(",
replacement: "extra.projects = [] || prepareAndTransformProjects(",
},
{
module: "*",
find: "process.versions.node",
replacement: JSON.stringify("999.999.999"),
},
{
module: "*",
find: "process.cwd()",
replacement: JSON.stringify("/prettier-security-dirname-placeholder"),
},
{
module: "*",
find: 'require("perf_hooks")',
replacement: "{}",
},
{
module: "*",
find: 'require("inspector")',
replacement: "{}",
},
{
module: "*",
find: "typescriptVersionIsAtLeast[version] = semverCheck(version);",
replacement: "typescriptVersionIsAtLeast[version] = true;",
},
// The next two replacement fixed webpack warning `Critical dependency: require function is used in a way in which dependencies cannot be statically extracted`
// #12338
{
module: require.resolve(
"@typescript-eslint/typescript-estree/dist/create-program/shared.js"
),
find: "moduleResolver = require(moduleResolverPath);",
replacement: "throw new Error('Dynamic require is not supported');",
},
{
module: require.resolve("typescript"),
process: modifyTypescriptModule,
},
{
module: require.resolve(
"@typescript-eslint/typescript-estree/dist/parser.js"
),
process(text) {
text = text
.replace('require("globby")', "{}")
.replace('require("is-glob")', "{}")
.replace('require("semver")', "{}")
.replace('require("path")', "{}")
.replace('require("./create-program/createDefaultProgram")', "{}")
.replace('require("./create-program/createIsolatedProgram")', "{}")
.replace('require("./create-program/createProjectProgram")', "{}")
.replace(
'require("./create-program/shared")',
"{ensureAbsolutePath: path => path}"
)
.replace('require("./create-program/useProvidedPrograms")', "{}")
.replace(
"process.cwd()",
JSON.stringify("/prettier-security-dirname-placeholder")
)
.replace("warnAboutTSVersion();", "// warnAboutTSVersion();")
.replace(
"const isRunningSupportedTypeScriptVersion = ",
"const isRunningSupportedTypeScriptVersion = true || "
)
.replace("extra.projects = ", "extra.projects = [] || ")
.replace("inferSingleRun(options);", "// inferSingleRun(options);");
return text;
},
},
{
module: require.resolve(
"@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js"
),
process: (text) =>
text.replace(
'require("path")',
"{extname: file => file.split('.').pop()}"
),
},
{
module: require.resolve(
"@typescript-eslint/typescript-estree/dist/version-check.js"
),
text: "module.exports.typescriptVersionIsAtLeast = new Proxy({}, {get: () => true})",
},
{
module: require.resolve("debug/src/browser.js"),
path: path.join(dirname, "./shims/debug.js"),