mirror of
https://github.com/jeffvli/feishin.git
synced 2024-11-20 14:37:06 +01:00
d45b01625b
- Update styled-components to v6 - Update stylelint to v15 - Add styled-components css plugin
65 lines
1.8 KiB
TypeScript
65 lines
1.8 KiB
TypeScript
/**
|
|
* Base webpack config used across other specific configs
|
|
*/
|
|
|
|
import webpack from 'webpack';
|
|
import { dependencies as externals } from '../../release/app/package.json';
|
|
import webpackPaths from './webpack.paths';
|
|
import { TsconfigPathsPlugin } from 'tsconfig-paths-webpack-plugin';
|
|
|
|
const createStyledComponentsTransformer = require('typescript-plugin-styled-components').default;
|
|
|
|
const styledComponentsTransformer = createStyledComponentsTransformer();
|
|
|
|
const configuration: webpack.Configuration = {
|
|
externals: [...Object.keys(externals || {})],
|
|
|
|
module: {
|
|
rules: [
|
|
{
|
|
exclude: /node_modules/,
|
|
test: /\.[jt]sx?$/,
|
|
use: {
|
|
loader: 'ts-loader',
|
|
options: {
|
|
// Remove this line to enable type checking in webpack builds
|
|
transpileOnly: true,
|
|
getCustomTransformers: () => ({ before: [styledComponentsTransformer] }),
|
|
},
|
|
},
|
|
},
|
|
],
|
|
},
|
|
|
|
output: {
|
|
// https://github.com/webpack/webpack/issues/1114
|
|
library: {
|
|
type: 'commonjs2',
|
|
},
|
|
|
|
path: webpackPaths.srcPath,
|
|
},
|
|
|
|
plugins: [
|
|
new webpack.EnvironmentPlugin({
|
|
NODE_ENV: 'production',
|
|
}),
|
|
],
|
|
|
|
/**
|
|
* Determine the array of extensions that should be used to resolve modules.
|
|
*/
|
|
resolve: {
|
|
extensions: ['.js', '.jsx', '.json', '.ts', '.tsx'],
|
|
fallback: {
|
|
child_process: false,
|
|
},
|
|
plugins: [new TsconfigPathsPlugin({ baseUrl: webpackPaths.srcPath })],
|
|
modules: [webpackPaths.srcPath, 'node_modules'],
|
|
},
|
|
|
|
stats: 'errors-only',
|
|
};
|
|
|
|
export default configuration;
|