fix: babel opts
This commit is contained in:
parent
f5a8f70bfe
commit
931596d0a4
|
@ -13,7 +13,7 @@ module.exports[0].use.push(copy({
|
||||||
patterns: ['index.js', 'index.ejs', 'latus.js'].map((path) => ({
|
patterns: ['index.js', 'index.ejs', 'latus.js'].map((path) => ({
|
||||||
from: `src/client/${path}`,
|
from: `src/client/${path}`,
|
||||||
to: 'client',
|
to: 'client',
|
||||||
})).concat(['.neutrinorc.js', 'plugins.js', 'webpack.config.js'].map((path) => ({
|
})).concat(['.neutrinorc.js', 'client-plugins.js', 'webpack.config.js'].map((path) => ({
|
||||||
from: `src/build/${path}`,
|
from: `src/build/${path}`,
|
||||||
to: 'build',
|
to: 'build',
|
||||||
}))),
|
}))),
|
||||||
|
|
|
@ -8,7 +8,7 @@ const {DefinePlugin, EnvironmentPlugin} = require('webpack');
|
||||||
const {Latus} = require('@latus/core');
|
const {Latus} = require('@latus/core');
|
||||||
const VirtualModulesPlugin = require('webpack-virtual-modules');
|
const VirtualModulesPlugin = require('webpack-virtual-modules');
|
||||||
|
|
||||||
const plugins = require('./plugins');
|
const clientPlugins = require('./client-plugins');
|
||||||
|
|
||||||
const latus = Latus.create();
|
const latus = Latus.create();
|
||||||
|
|
||||||
|
@ -66,12 +66,21 @@ const client = {
|
||||||
apply(compiler) {
|
apply(compiler) {
|
||||||
const plugin = new VirtualModulesPlugin();
|
const plugin = new VirtualModulesPlugin();
|
||||||
plugin.apply(compiler);
|
plugin.apply(compiler);
|
||||||
|
let babelOptions;
|
||||||
|
neutrino.config.module
|
||||||
|
.rule('compile')
|
||||||
|
.use('babel')
|
||||||
|
.tap(options => {
|
||||||
|
babelOptions = options;
|
||||||
|
});
|
||||||
|
const {plugins, presets, ...rest} = babelOptions;
|
||||||
// eslint-disable-next-line no-eval
|
// eslint-disable-next-line no-eval
|
||||||
eval('require')('@babel/register')({
|
eval('require')('@babel/register')({
|
||||||
presets: ['@babel/preset-react'],
|
plugins,
|
||||||
|
presets,
|
||||||
});
|
});
|
||||||
compiler.hooks.beforeCompile.tapPromise('LatusPlugin', async () => {
|
compiler.hooks.beforeCompile.tapPromise('LatusPlugin', async () => {
|
||||||
const paths = Object.keys(await plugins(this.latus))
|
const paths = Object.keys(await clientPlugins(this.latus))
|
||||||
.map((path) => Latus.runtimePath(path));
|
.map((path) => Latus.runtimePath(path));
|
||||||
plugin.writeModule('node_modules/@latus/core/virtual', [
|
plugin.writeModule('node_modules/@latus/core/virtual', [
|
||||||
'/* eslint-disable global-require, no-undef */',
|
'/* eslint-disable global-require, no-undef */',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import plugins from './build/plugins';
|
import clientPlugins from './build/client-plugins';
|
||||||
|
|
||||||
export default (latus) => async (req, res, next) => {
|
export default (latus) => async (req, res, next) => {
|
||||||
if ('/latus.config.js' !== req.path) {
|
if ('/latus.config.js' !== req.path) {
|
||||||
|
@ -6,6 +6,6 @@ export default (latus) => async (req, res, next) => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
res.setHeader('Content-Type', 'application/javascript; charset=UTF-8');
|
res.setHeader('Content-Type', 'application/javascript; charset=UTF-8');
|
||||||
const codedConfig = encodeURIComponent(JSON.stringify(await plugins(latus, req)));
|
const codedConfig = encodeURIComponent(JSON.stringify(await clientPlugins(latus, req)));
|
||||||
res.send(`window.$$latusConfig = JSON.parse(decodeURIComponent("${codedConfig}"));`);
|
res.send(`window.$$latusConfig = JSON.parse(decodeURIComponent("${codedConfig}"));`);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user