Remove parser getters from universal bundles (#11137)

This commit is contained in:
fisker Cheung authored and GitHub committed 2021-07-13 15:16:31 +08:00
1 parent 10053999d7
commit e1afe1adc2
17 files changed
+173 -145

No files matched your search

+1 -1
View File
@@ -22,7 +22,7 @@ process.on("unhandledRejection", (err) => {
process.exit(1);
});
const CACHE_VERSION = "v35"; // This need update when updating build scripts
const CACHE_VERSION = "v36"; // This need update when updating build scripts
const statusConfig = [
{ color: "bgYellow", text: "CACHED" },
{ color: "bgGreen", text: "DONE" },
+27 -10
View File
@@ -175,22 +175,39 @@ function getRollupConfig(bundle) {
const replaceModule = {};
// Replace other bundled files
if (bundle.target === "node") {
// Replace package.json with dynamic `require("./package.json")`
replaceModule[path.join(PROJECT_ROOT, "package.json")] = "./package.json";
// Dynamic require bundled files
for (const item of bundles) {
if (item.input !== bundle.input) {
replaceModule[path.join(PROJECT_ROOT, item.input)] = `./${item.output}`;
}
}
}
} else {
// Universal bundle only use version info from package.json
// Replace package.json with `{version: "{VERSION}"}`
replaceModule[path.join(PROJECT_ROOT, "package.json")] = {
code: `export default ${JSON.stringify({
version: require("../../package.json").version,
})};`,
};
replaceModule[path.join(PROJECT_ROOT, "./package.json")] =
bundle.target === "node"
? "./package.json"
: // Universal bundle only use version info from package.json
{
code: `export default ${JSON.stringify({
version: require("../../package.json").version,
})}`,
};
// Replace `src/language-*/parsers.js` with `undefined`
for (const file of [
"src/language-css/parsers.js",
"src/language-graphql/parsers.js",
"src/language-handlebars/parsers.js",
"src/language-html/parsers.js",
"src/language-js/parsers.js",
"src/language-markdown/parsers.js",
"src/language-yaml/parsers.js",
]) {
replaceModule[path.join(PROJECT_ROOT, file)] = {
code: "export default undefined;",
};
}
}
Object.assign(replaceModule, bundle.replaceModule);
+1 -13
View File
@@ -3,6 +3,7 @@
const createLanguage = require("../utils/create-language");
const printer = require("./printer-postcss");
const options = require("./options");
const parsers = require("./parsers");
const languages = [
createLanguage(require("linguist-languages/data/CSS.json"), (data) => ({
@@ -37,19 +38,6 @@ const printers = {
postcss: printer,
};
const parsers = {
// TODO: switch these to just `postcss` and use `language` instead.
get css() {
return require("./parser-postcss").parsers.css;
},
get less() {
return require("./parser-postcss").parsers.less;
},
get scss() {
return require("./parser-postcss").parsers.scss;
},
};
module.exports = {
languages,
options,
+14
View File
@@ -0,0 +1,14 @@
"use strict";
module.exports = {
// TODO: switch these to just `postcss` and use `language` instead.
get css() {
return require("./parser-postcss").parsers.css;
},
get less() {
return require("./parser-postcss").parsers.less;
},
get scss() {
return require("./parser-postcss").parsers.scss;
},
};
+1 -6
View File
@@ -3,6 +3,7 @@
const createLanguage = require("../utils/create-language");
const printer = require("./printer-graphql");
const options = require("./options");
const parsers = require("./parsers");
const languages = [
createLanguage(require("linguist-languages/data/GraphQL.json"), () => ({
@@ -16,12 +17,6 @@ const printers = {
graphql: printer,
};
const parsers = {
get graphql() {
return require("./parser-graphql").parsers.graphql;
},
};
module.exports = {
languages,
options,
+7
View File
@@ -0,0 +1,7 @@
"use strict";
module.exports = {
get graphql() {
return require("./parser-graphql").parsers.graphql;
},
};
+1 -6
View File
@@ -2,6 +2,7 @@
const createLanguage = require("../utils/create-language");
const printer = require("./printer-glimmer");
const parsers = require("./parsers");
const languages = [
createLanguage(require("linguist-languages/data/Handlebars.json"), () => ({
@@ -15,12 +16,6 @@ const printers = {
glimmer: printer,
};
const parsers = {
get glimmer() {
return require("./parser-glimmer").parsers.glimmer;
},
};
module.exports = {
languages,
printers,
+7
View File
@@ -0,0 +1,7 @@
"use strict";
module.exports = {
get glimmer() {
return require("./parser-glimmer").parsers.glimmer;
},
};
+1 -19
View File
@@ -3,6 +3,7 @@
const createLanguage = require("../utils/create-language");
const printer = require("./printer-html");
const options = require("./options");
const parsers = require("./parsers");
const languages = [
createLanguage(require("linguist-languages/data/HTML.json"), () => ({
@@ -41,25 +42,6 @@ const printers = {
html: printer,
};
const parsers = {
// HTML
get html() {
return require("./parser-html").parsers.html;
},
// Vue
get vue() {
return require("./parser-html").parsers.vue;
},
// Angular
get angular() {
return require("./parser-html").parsers.angular;
},
// Lightning Web Components
get lwc() {
return require("./parser-html").parsers.lwc;
},
};
module.exports = {
languages,
printers,
+20
View File
@@ -0,0 +1,20 @@
"use strict";
module.exports = {
// HTML
get html() {
return require("./parser-html").parsers.html;
},
// Vue
get vue() {
return require("./parser-html").parsers.vue;
},
// Angular
get angular() {
return require("./parser-html").parsers.angular;
},
// Lightning Web Components
get lwc() {
return require("./parser-html").parsers.lwc;
},
};
+1 -67
View File
@@ -4,6 +4,7 @@ const createLanguage = require("../utils/create-language");
const estreePrinter = require("./printer-estree");
const estreeJsonPrinter = require("./printer-estree-json");
const options = require("./options");
const parsers = require("./parsers");
const languages = [
createLanguage(
@@ -106,73 +107,6 @@ const printers = {
"estree-json": estreeJsonPrinter,
};
const parsers = {
// JS - Babel
get babel() {
return require("./parser-babel").parsers.babel;
},
get "babel-flow"() {
return require("./parser-babel").parsers["babel-flow"];
},
get "babel-ts"() {
return require("./parser-babel").parsers["babel-ts"];
},
get json() {
return require("./parser-babel").parsers.json;
},
get json5() {
return require("./parser-babel").parsers.json5;
},
get "json-stringify"() {
return require("./parser-babel").parsers["json-stringify"];
},
get __js_expression() {
return require("./parser-babel").parsers.__js_expression;
},
get __vue_expression() {
return require("./parser-babel").parsers.__vue_expression;
},
get __vue_event_binding() {
return require("./parser-babel").parsers.__vue_event_binding;
},
// JS - Flow
get flow() {
return require("./parser-flow").parsers.flow;
},
// JS - TypeScript
get typescript() {
return require("./parser-typescript").parsers.typescript;
},
// JS - Angular Action
get __ng_action() {
return require("./parser-angular").parsers.__ng_action;
},
// JS - Angular Binding
get __ng_binding() {
return require("./parser-angular").parsers.__ng_binding;
},
// JS - Angular Interpolation
get __ng_interpolation() {
return require("./parser-angular").parsers.__ng_interpolation;
},
// JS - Angular Directive
get __ng_directive() {
return require("./parser-angular").parsers.__ng_directive;
},
// JS - espree
get espree() {
return require("./parser-espree").parsers.espree;
},
// JS - meriyah
get meriyah() {
return require("./parser-meriyah").parsers.meriyah;
},
// JS - Babel Estree
get __babel_estree() {
return require("./parser-babel").parsers.__babel_estree;
},
};
module.exports = {
languages,
options,
+68
View File
@@ -0,0 +1,68 @@
"use strict";
module.exports = {
// JS - Babel
get babel() {
return require("./parser-babel").parsers.babel;
},
get "babel-flow"() {
return require("./parser-babel").parsers["babel-flow"];
},
get "babel-ts"() {
return require("./parser-babel").parsers["babel-ts"];
},
get json() {
return require("./parser-babel").parsers.json;
},
get json5() {
return require("./parser-babel").parsers.json5;
},
get "json-stringify"() {
return require("./parser-babel").parsers["json-stringify"];
},
get __js_expression() {
return require("./parser-babel").parsers.__js_expression;
},
get __vue_expression() {
return require("./parser-babel").parsers.__vue_expression;
},
get __vue_event_binding() {
return require("./parser-babel").parsers.__vue_event_binding;
},
// JS - Flow
get flow() {
return require("./parser-flow").parsers.flow;
},
// JS - TypeScript
get typescript() {
return require("./parser-typescript").parsers.typescript;
},
// JS - Angular Action
get __ng_action() {
return require("./parser-angular").parsers.__ng_action;
},
// JS - Angular Binding
get __ng_binding() {
return require("./parser-angular").parsers.__ng_binding;
},
// JS - Angular Interpolation
get __ng_interpolation() {
return require("./parser-angular").parsers.__ng_interpolation;
},
// JS - Angular Directive
get __ng_directive() {
return require("./parser-angular").parsers.__ng_directive;
},
// JS - espree
get espree() {
return require("./parser-espree").parsers.espree;
},
// JS - meriyah
get meriyah() {
return require("./parser-meriyah").parsers.meriyah;
},
// JS - Babel Estree
get __babel_estree() {
return require("./parser-babel").parsers.__babel_estree;
},
};
+1 -13
View File
@@ -3,6 +3,7 @@
const createLanguage = require("../utils/create-language");
const printer = require("./printer-markdown");
const options = require("./options");
const parsers = require("./parsers");
const languages = [
createLanguage(require("linguist-languages/data/Markdown.json"), (data) => ({
@@ -26,19 +27,6 @@ const printers = {
mdast: printer,
};
const parsers = {
/* istanbul ignore next */
get remark() {
return require("./parser-markdown").parsers.remark;
},
get markdown() {
return require("./parser-markdown").parsers.remark;
},
get mdx() {
return require("./parser-markdown").parsers.mdx;
},
};
module.exports = {
languages,
options,
+14
View File
@@ -0,0 +1,14 @@
"use strict";
module.exports = {
/* istanbul ignore next */
get remark() {
return require("./parser-markdown").parsers.remark;
},
get markdown() {
return require("./parser-markdown").parsers.remark;
},
get mdx() {
return require("./parser-markdown").parsers.mdx;
},
};
+1 -6
View File
@@ -3,6 +3,7 @@
const createLanguage = require("../utils/create-language");
const printer = require("./printer-yaml");
const options = require("./options");
const parsers = require("./parsers");
const languages = [
createLanguage(require("linguist-languages/data/YAML.json"), (data) => ({
@@ -17,12 +18,6 @@ const languages = [
})),
];
const parsers = {
get yaml() {
return require("./parser-yaml").parsers.yaml;
},
};
module.exports = {
languages,
printers: { yaml: printer },
+7
View File
@@ -0,0 +1,7 @@
"use strict";
module.exports = {
get yaml() {
return require("./parser-yaml").parsers.yaml;
},
};
+1 -4
View File
@@ -8,9 +8,6 @@ const sharedUtil = require("./common/util-shared");
const languages = require("./languages");
const doc = require("./document");
// Parsers are bundled as separate plugins
const internalPlugins = languages.map(({ parsers, ...plugin }) => plugin);
function withPlugins(
fn,
optsArgIdx = 1 // Usually `opts` is the 2nd argument
@@ -22,7 +19,7 @@ function withPlugins(
args[optsArgIdx] = {
...opts,
plugins: [
...internalPlugins,
...languages,
...(Array.isArray(plugins) ? plugins : Object.values(plugins)),
],
};