Remove parser getters from universal bundles (#11137)
This commit is contained in:
1 parent
10053999d7
commit
e1afe1adc2
17 files changed
+173
-145
No files matched your search
@@ -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
@@ -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);
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
};
|
||||
@@ -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,
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
get graphql() {
|
||||
return require("./parser-graphql").parsers.graphql;
|
||||
},
|
||||
};
|
||||
@@ -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,
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
get glimmer() {
|
||||
return require("./parser-glimmer").parsers.glimmer;
|
||||
},
|
||||
};
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
};
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
};
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
};
|
||||
@@ -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 },
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
get yaml() {
|
||||
return require("./parser-yaml").parsers.yaml;
|
||||
},
|
||||
};
|
||||
+1
-4
@@ -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)),
|
||||
],
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user