Build: Auto set parsers as external (#8639)
* Auto set parsers as external * Update bundler.js
This commit is contained in:
1 parent
9e8df9d922
commit
e8be12a6eb
2 files changed
+36
-50
No files matched your search
@@ -16,8 +16,12 @@ const nativeShims = require("./rollup-plugins/native-shims");
|
||||
const executable = require("./rollup-plugins/executable");
|
||||
const evaluate = require("./rollup-plugins/evaluate");
|
||||
const externals = require("./rollup-plugins/externals");
|
||||
const bundles = require("./config");
|
||||
|
||||
const PROJECT_ROOT = path.resolve(__dirname, "../..");
|
||||
const plugins = bundles
|
||||
.filter(({ type }) => type === "plugin")
|
||||
.map(({ input }) => path.join(PROJECT_ROOT, input));
|
||||
|
||||
const EXTERNALS = [
|
||||
"assert",
|
||||
@@ -175,7 +179,10 @@ function getRollupConfig(bundle) {
|
||||
ignoreGlobal: bundle.target === "node",
|
||||
...bundle.commonjs,
|
||||
}),
|
||||
externals(bundle.externals),
|
||||
externals([
|
||||
...(bundle.externals || []),
|
||||
...(bundle.target === "node" ? plugins : []),
|
||||
]),
|
||||
bundle.target === "universal" && nodeGlobals(),
|
||||
babel(babelConfig),
|
||||
bundle.minify !== false && bundle.target === "universal" && terser(),
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
// We need to use `eval("require")()` to prevent rollup from hoisting the requires. A babel
|
||||
// plugin will look for `eval("require")()` and transform to `require()` in the bundle,
|
||||
// and rewrite the paths to require from the top-level.
|
||||
|
||||
// We need to list the parsers and getters so we can load them only when necessary.
|
||||
module.exports = [
|
||||
// JS
|
||||
@@ -12,69 +8,57 @@ module.exports = [
|
||||
parsers: {
|
||||
// JS - Babel
|
||||
get babel() {
|
||||
return eval("require")("../language-js/parser-babel").parsers.babel;
|
||||
return require("../language-js/parser-babel").parsers.babel;
|
||||
},
|
||||
get "babel-flow"() {
|
||||
return eval("require")("../language-js/parser-babel").parsers[
|
||||
"babel-flow"
|
||||
];
|
||||
return require("../language-js/parser-babel").parsers["babel-flow"];
|
||||
},
|
||||
get "babel-ts"() {
|
||||
return eval("require")("../language-js/parser-babel").parsers[
|
||||
"babel-ts"
|
||||
];
|
||||
return require("../language-js/parser-babel").parsers["babel-ts"];
|
||||
},
|
||||
get json() {
|
||||
return eval("require")("../language-js/parser-babel").parsers.json;
|
||||
return require("../language-js/parser-babel").parsers.json;
|
||||
},
|
||||
get json5() {
|
||||
return eval("require")("../language-js/parser-babel").parsers.json5;
|
||||
return require("../language-js/parser-babel").parsers.json5;
|
||||
},
|
||||
get "json-stringify"() {
|
||||
return eval("require")("../language-js/parser-babel").parsers[
|
||||
"json-stringify"
|
||||
];
|
||||
return require("../language-js/parser-babel").parsers["json-stringify"];
|
||||
},
|
||||
get __js_expression() {
|
||||
return eval("require")("../language-js/parser-babel").parsers
|
||||
.__js_expression;
|
||||
return require("../language-js/parser-babel").parsers.__js_expression;
|
||||
},
|
||||
get __vue_expression() {
|
||||
return eval("require")("../language-js/parser-babel").parsers
|
||||
.__vue_expression;
|
||||
return require("../language-js/parser-babel").parsers.__vue_expression;
|
||||
},
|
||||
get __vue_event_binding() {
|
||||
return eval("require")("../language-js/parser-babel").parsers
|
||||
return require("../language-js/parser-babel").parsers
|
||||
.__vue_event_binding;
|
||||
},
|
||||
// JS - Flow
|
||||
get flow() {
|
||||
return eval("require")("../language-js/parser-flow").parsers.flow;
|
||||
return require("../language-js/parser-flow").parsers.flow;
|
||||
},
|
||||
// JS - TypeScript
|
||||
get typescript() {
|
||||
return eval("require")("../language-js/parser-typescript").parsers
|
||||
.typescript;
|
||||
return require("../language-js/parser-typescript").parsers.typescript;
|
||||
},
|
||||
// JS - Angular Action
|
||||
get __ng_action() {
|
||||
return eval("require")("../language-js/parser-angular").parsers
|
||||
.__ng_action;
|
||||
return require("../language-js/parser-angular").parsers.__ng_action;
|
||||
},
|
||||
// JS - Angular Binding
|
||||
get __ng_binding() {
|
||||
return eval("require")("../language-js/parser-angular").parsers
|
||||
.__ng_binding;
|
||||
return require("../language-js/parser-angular").parsers.__ng_binding;
|
||||
},
|
||||
// JS - Angular Interpolation
|
||||
get __ng_interpolation() {
|
||||
return eval("require")("../language-js/parser-angular").parsers
|
||||
return require("../language-js/parser-angular").parsers
|
||||
.__ng_interpolation;
|
||||
},
|
||||
// JS - Angular Directive
|
||||
get __ng_directive() {
|
||||
return eval("require")("../language-js/parser-angular").parsers
|
||||
.__ng_directive;
|
||||
return require("../language-js/parser-angular").parsers.__ng_directive;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -85,13 +69,13 @@ module.exports = [
|
||||
parsers: {
|
||||
// TODO: switch these to just `postcss` and use `language` instead.
|
||||
get css() {
|
||||
return eval("require")("../language-css/parser-postcss").parsers.css;
|
||||
return require("../language-css/parser-postcss").parsers.css;
|
||||
},
|
||||
get less() {
|
||||
return eval("require")("../language-css/parser-postcss").parsers.less;
|
||||
return require("../language-css/parser-postcss").parsers.less;
|
||||
},
|
||||
get scss() {
|
||||
return eval("require")("../language-css/parser-postcss").parsers.scss;
|
||||
return require("../language-css/parser-postcss").parsers.scss;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -101,8 +85,7 @@ module.exports = [
|
||||
{
|
||||
parsers: {
|
||||
get glimmer() {
|
||||
return eval("require")("../language-handlebars/parser-glimmer").parsers
|
||||
.glimmer;
|
||||
return require("../language-handlebars/parser-glimmer").parsers.glimmer;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -112,8 +95,7 @@ module.exports = [
|
||||
{
|
||||
parsers: {
|
||||
get graphql() {
|
||||
return eval("require")("../language-graphql/parser-graphql").parsers
|
||||
.graphql;
|
||||
return require("../language-graphql/parser-graphql").parsers.graphql;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -123,16 +105,13 @@ module.exports = [
|
||||
{
|
||||
parsers: {
|
||||
get remark() {
|
||||
return eval("require")("../language-markdown/parser-markdown").parsers
|
||||
.remark;
|
||||
return require("../language-markdown/parser-markdown").parsers.remark;
|
||||
},
|
||||
get markdown() {
|
||||
return eval("require")("../language-markdown/parser-markdown").parsers
|
||||
.remark;
|
||||
return require("../language-markdown/parser-markdown").parsers.remark;
|
||||
},
|
||||
get mdx() {
|
||||
return eval("require")("../language-markdown/parser-markdown").parsers
|
||||
.mdx;
|
||||
return require("../language-markdown/parser-markdown").parsers.mdx;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -142,19 +121,19 @@ module.exports = [
|
||||
parsers: {
|
||||
// HTML
|
||||
get html() {
|
||||
return eval("require")("../language-html/parser-html").parsers.html;
|
||||
return require("../language-html/parser-html").parsers.html;
|
||||
},
|
||||
// Vue
|
||||
get vue() {
|
||||
return eval("require")("../language-html/parser-html").parsers.vue;
|
||||
return require("../language-html/parser-html").parsers.vue;
|
||||
},
|
||||
// Angular
|
||||
get angular() {
|
||||
return eval("require")("../language-html/parser-html").parsers.angular;
|
||||
return require("../language-html/parser-html").parsers.angular;
|
||||
},
|
||||
// Lightning Web Components
|
||||
get lwc() {
|
||||
return eval("require")("../language-html/parser-html").parsers.lwc;
|
||||
return require("../language-html/parser-html").parsers.lwc;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -164,7 +143,7 @@ module.exports = [
|
||||
{
|
||||
parsers: {
|
||||
get yaml() {
|
||||
return eval("require")("../language-yaml/parser-yaml").parsers.yaml;
|
||||
return require("../language-yaml/parser-yaml").parsers.yaml;
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user