Tidy
This commit is contained in:
parent
d429f820e9
commit
80a417d33f
@ -1,13 +1,3 @@
|
|||||||
// @remove-on-eject-begin
|
|
||||||
/**
|
|
||||||
* Copyright (c) 2015-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the BSD-style license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree. An additional grant
|
|
||||||
* of patent rights can be found in the PATENTS file in the same directory.
|
|
||||||
*/
|
|
||||||
// @remove-on-eject-end
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
@ -26,86 +16,66 @@ const MODULES = [
|
|||||||
path.join(UI_ROOT, 'node_modules'),
|
path.join(UI_ROOT, 'node_modules'),
|
||||||
'node_modules'
|
'node_modules'
|
||||||
];
|
];
|
||||||
const FRONTEND = path.join(FRONTEND_ROOT, 'src'); // duplicate
|
const FRONTEND = path.join(FRONTEND_ROOT, 'src');
|
||||||
const UI = process.env.NODE_ENV === 'production'
|
const UI = process.env.NODE_ENV === 'production'
|
||||||
? path.join(FRONTEND_ROOT, 'node_modules', '@tomgco/joyent-portal-ui', 'dist')
|
? path.join(FRONTEND_ROOT, 'node_modules', '@tomgco/joyent-portal-ui', 'dist')
|
||||||
: path.join(UI_ROOT, 'src'); // also duplicate
|
: path.join(UI_ROOT, 'src');
|
||||||
const STATIC = path.join(FRONTEND_ROOT, 'static');
|
const STATIC = path.join(FRONTEND_ROOT, 'static');
|
||||||
const ESLINT = path.join(__dirname, '.eslintrc');
|
const ESLINT = path.join(__dirname, '.eslintrc');
|
||||||
|
|
||||||
// module.exports = originalConfig;
|
const rules = originalConfig.module.rules.reduce((loaders, loader, index) => {
|
||||||
|
if(loader.test === /\.(js|jsx)$/) {
|
||||||
|
loaders.push({
|
||||||
|
test: loader.test,
|
||||||
|
include: [loader.include, UI],
|
||||||
|
loader: loader.loader,
|
||||||
|
options: {
|
||||||
|
babelrc: false,
|
||||||
|
presets: [require.resolve('babel-preset-react-app')],
|
||||||
|
plugins: [['inline-react-svg', {
|
||||||
|
ignorePattern: 'libre-franklin'
|
||||||
|
}]],
|
||||||
|
cacheDirectory: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else if(index === 1) {
|
||||||
|
loaders.push({
|
||||||
|
exclude: loader.exclude.concat([/\.(graphql|gql)$/]),
|
||||||
|
loader: loader.loader,
|
||||||
|
options: loader.options
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else if(loader.include) {
|
||||||
|
loaders.push(Object.assign({}, loader, {include: [loader.include, UI]}));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
loaders.push(loader);
|
||||||
|
}
|
||||||
|
return loaders;
|
||||||
|
}, []);
|
||||||
|
|
||||||
// module.exports = function() {
|
rules.push({
|
||||||
|
test: /\.(graphql|gql)$/,
|
||||||
|
exclude: /node_modules/,
|
||||||
|
loader: require.resolve('graphql-tag/loader')
|
||||||
|
});
|
||||||
|
|
||||||
console.log('originalConfig = ', originalConfig);
|
const aliases = Object.assign({}, originalConfig.resolve.alias, fs.readdirSync(FRONTEND)
|
||||||
// return originalConfig;
|
.map((name) => path.join(FRONTEND, name))
|
||||||
|
.filter((fullpath) => fs.statSync(fullpath).isDirectory())
|
||||||
|
.reduce((aliases, fullpath) => Object.assign(aliases, {
|
||||||
|
[`@${path.basename(fullpath)}`]: fullpath
|
||||||
|
}), {
|
||||||
|
'@root': FRONTEND,
|
||||||
|
'@ui': UI
|
||||||
|
}));
|
||||||
|
|
||||||
// config.module.rules[1].exclude.push(/\.(graphql|gql)$/);
|
const resolveModules = originalConfig.resolve.modules.concat(MODULES);
|
||||||
|
|
||||||
const rules = originalConfig.module.rules.reduce((loaders, loader, index) => {
|
originalConfig.module.rules = rules;
|
||||||
if(loader.test === /\.(js|jsx)$/) {
|
originalConfig.resolve.alias = aliases;
|
||||||
loaders.push({
|
originalConfig.resolve.modules = resolveModules;
|
||||||
test: loader.test,
|
originalConfig.resolve.plugins = [];
|
||||||
include: [loader.include, UI],
|
|
||||||
loader: loader.loader,
|
|
||||||
options: {
|
|
||||||
babelrc: false,
|
|
||||||
presets: [require.resolve('babel-preset-react-app')],
|
|
||||||
plugins: [['inline-react-svg', {
|
|
||||||
ignorePattern: 'libre-franklin'
|
|
||||||
}]],
|
|
||||||
cacheDirectory: true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else if(index === 1) {
|
|
||||||
loaders.push({
|
|
||||||
exclude: loader.exclude.concat([/\.(graphql|gql)$/]),
|
|
||||||
loader: loader.loader,
|
|
||||||
options: loader.options
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else if(loader.include) {
|
|
||||||
loaders.push(Object.assign({}, loader, {include: [loader.include, UI]}));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
loaders.push(loader);
|
|
||||||
}
|
|
||||||
return loaders;
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
rules.push({
|
module.exports = originalConfig;
|
||||||
test: /\.(graphql|gql)$/,
|
|
||||||
exclude: /node_modules/,
|
|
||||||
loader: require.resolve('graphql-tag/loader')
|
|
||||||
});
|
|
||||||
|
|
||||||
const aliases = Object.assign({}, originalConfig.resolve.alias, fs.readdirSync(FRONTEND)
|
|
||||||
.map((name) => path.join(FRONTEND, name))
|
|
||||||
.filter((fullpath) => fs.statSync(fullpath).isDirectory())
|
|
||||||
.reduce((aliases, fullpath) => Object.assign(aliases, {
|
|
||||||
[`@${path.basename(fullpath)}`]: fullpath
|
|
||||||
}), {
|
|
||||||
'@root': FRONTEND,
|
|
||||||
'@ui': UI
|
|
||||||
}));
|
|
||||||
|
|
||||||
const resolveModules = originalConfig.resolve.modules.concat(MODULES);
|
|
||||||
|
|
||||||
originalConfig.module.rules = rules;
|
|
||||||
originalConfig.resolve.alias = aliases;
|
|
||||||
originalConfig.resolve.modules = resolveModules;
|
|
||||||
originalConfig.resolve.plugins = [];
|
|
||||||
|
|
||||||
module.exports = originalConfig;
|
|
||||||
|
|
||||||
// return originalConfig;
|
|
||||||
|
|
||||||
// resolves
|
|
||||||
// config.resolveLoader.modules = MODULES;
|
|
||||||
|
|
||||||
// config.resolve.modules = MODULES;
|
|
||||||
|
|
||||||
// set rules and return
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
Loading…
Reference in New Issue
Block a user