@papillonarts/setup 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/babel/index.js +8 -0
- package/eslint/index.js +69 -0
- package/jest/config.js +33 -0
- package/jest/index.js +19 -0
- package/jest/setup.js +22 -0
- package/package.json +33 -0
- package/prettier/index.js +9 -0
- package/storybook/index.js +12 -0
- package/storybook/setup/mainSetup.js +259 -0
- package/stylelint/index.js +18 -0
- package/webpack/constant/index.js +20 -0
- package/webpack/index.js +202 -0
- package/webpack/loader/babelLoader.js +31 -0
- package/webpack/loader/cssLoader.js +20 -0
- package/webpack/loader/fontLoader.js +14 -0
- package/webpack/loader/imageLoader.js +14 -0
- package/webpack/loader/markdownLoader.js +20 -0
- package/webpack/loader/postCSSLoader.js +22 -0
- package/webpack/loader/sassLoader.js +20 -0
- package/webpack/loader/svgrLoader.js +25 -0
- package/webpack/plugin/bannerPlugin.js +16 -0
- package/webpack/plugin/cleanWebpackPlugin.js +31 -0
- package/webpack/plugin/copyWebpackPlugin.js +24 -0
- package/webpack/plugin/cssMinimizerWebpackPlugin.js +13 -0
- package/webpack/plugin/dotenvWebpack.js +35 -0
- package/webpack/plugin/hotModuleReplacementPlugin.js +13 -0
- package/webpack/plugin/htmlWebpackPlugin.js +42 -0
- package/webpack/plugin/miniCSSExtractPlugin.js +23 -0
- package/webpack/plugin/moduleConcatenationPlugin.js +13 -0
- package/webpack/plugin/webpackBundleAnalyzer.js +15 -0
- package/webpack/plugin/webpackManifestPlugin.js +21 -0
- package/webpack/server/devServer.js +22 -0
- package/webpack/setup/commonSetup.js +37 -0
- package/webpack/setup/developmentSetup.js +50 -0
- package/webpack/setup/productionSetup.js +55 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getWebpackCommonSetup = getWebpackCommonSetup;
|
|
7
|
+
var _babelLoader = require("../loader/babelLoader");
|
|
8
|
+
var _fontLoader = require("../loader/fontLoader");
|
|
9
|
+
var _imageLoader = require("../loader/imageLoader");
|
|
10
|
+
var _svgrLoader = require("../loader/svgrLoader");
|
|
11
|
+
var _markdownLoader = require("../loader/markdownLoader");
|
|
12
|
+
var _cleanWebpackPlugin = require("../plugin/cleanWebpackPlugin");
|
|
13
|
+
var _copyWebpackPlugin = require("../plugin/copyWebpackPlugin");
|
|
14
|
+
var _htmlWebpackPlugin = require("../plugin/htmlWebpackPlugin");
|
|
15
|
+
var _webpackManifestPlugin = require("../plugin/webpackManifestPlugin");
|
|
16
|
+
var _constant = require("../constant");
|
|
17
|
+
function getWebpackCommonSetup(_ref) {
|
|
18
|
+
var micrositeFolderPaths = _ref.micrositeFolderPaths,
|
|
19
|
+
packageJSON = _ref.packageJSON;
|
|
20
|
+
return {
|
|
21
|
+
entry: ["".concat(micrositeFolderPaths.src, "/index.js")],
|
|
22
|
+
plugins: [(0, _cleanWebpackPlugin.getCleanWebpackPluginStandardSetup)(), (0, _copyWebpackPlugin.getCopyWebpackPluginStandardSetup)({
|
|
23
|
+
from: micrositeFolderPaths["public"],
|
|
24
|
+
to: 'assets'
|
|
25
|
+
}), (0, _htmlWebpackPlugin.getHtmlWebpackPluginStandardSetup)({
|
|
26
|
+
title: packageJSON.description,
|
|
27
|
+
micrositeWebpackFolderPath: micrositeFolderPaths.webpack
|
|
28
|
+
}), (0, _webpackManifestPlugin.getWebpackManifestPluginStandardSetup)()],
|
|
29
|
+
module: {
|
|
30
|
+
rules: [(0, _babelLoader.getBabelLoaderAdvancedSetup)(), (0, _fontLoader.getFontLoaderStandardSetup)(), (0, _imageLoader.getImageLoaderStandardSetup)(), (0, _markdownLoader.getMarkdownLoaderStandardSetup)(), (0, _svgrLoader.getSVGRLoaderAdvancedSetup)()]
|
|
31
|
+
},
|
|
32
|
+
resolve: {
|
|
33
|
+
modules: [micrositeFolderPaths.src, micrositeFolderPaths.nodeModules],
|
|
34
|
+
extensions: _constant.extensions
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getWebpackDevelopmentSetup = getWebpackDevelopmentSetup;
|
|
7
|
+
var _webpackMerge = require("webpack-merge");
|
|
8
|
+
var _cssLoader = require("../loader/cssLoader");
|
|
9
|
+
var _postCSSLoader = require("../loader/postCSSLoader");
|
|
10
|
+
var _sassLoader = require("../loader/sassLoader");
|
|
11
|
+
var _dotenvWebpack = require("../plugin/dotenvWebpack");
|
|
12
|
+
var _hotModuleReplacementPlugin = require("../plugin/hotModuleReplacementPlugin");
|
|
13
|
+
var _devServer = require("../server/devServer");
|
|
14
|
+
function getWebpackDevelopmentSetup(_ref) {
|
|
15
|
+
var webpackCommonSetup = _ref.webpackCommonSetup,
|
|
16
|
+
environmentVariablesFilePath = _ref.environmentVariablesFilePath,
|
|
17
|
+
micrositeUrlPath = _ref.micrositeUrlPath,
|
|
18
|
+
micrositeFolderPaths = _ref.micrositeFolderPaths,
|
|
19
|
+
includedSourceFilePaths = _ref.includedSourceFilePaths;
|
|
20
|
+
return (0, _webpackMerge.merge)([webpackCommonSetup, {
|
|
21
|
+
mode: 'development',
|
|
22
|
+
devtool: 'inline-source-map',
|
|
23
|
+
devServer: (0, _devServer.getDevServerStandardSetup)(),
|
|
24
|
+
output: {
|
|
25
|
+
path: micrositeFolderPaths.build,
|
|
26
|
+
publicPath: micrositeUrlPath,
|
|
27
|
+
filename: '[name].bundle.js'
|
|
28
|
+
},
|
|
29
|
+
optimization: {
|
|
30
|
+
concatenateModules: true
|
|
31
|
+
},
|
|
32
|
+
plugins: [(0, _dotenvWebpack.getDotenvWebpackStandardSetup)({
|
|
33
|
+
path: environmentVariablesFilePath
|
|
34
|
+
}), (0, _hotModuleReplacementPlugin.getHotModuleReplacementPluginStandardSetup)()],
|
|
35
|
+
module: {
|
|
36
|
+
rules: [{
|
|
37
|
+
test: /\.s[ac]ss$/i,
|
|
38
|
+
include: includedSourceFilePaths,
|
|
39
|
+
use: ['style-loader', (0, _cssLoader.getCSSLoaderStandardSetup)({
|
|
40
|
+
sourceMap: false,
|
|
41
|
+
modules: {
|
|
42
|
+
localIdentName: '[name]_[local]_[hash:base64:5]'
|
|
43
|
+
}
|
|
44
|
+
}), (0, _postCSSLoader.getPostCSSLoaderStandardSetup)(), (0, _sassLoader.getSassLoaderStandardSetup)({
|
|
45
|
+
includedSourceFilePaths: includedSourceFilePaths
|
|
46
|
+
})]
|
|
47
|
+
}]
|
|
48
|
+
}
|
|
49
|
+
}]);
|
|
50
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getWebpackProductionSetup = getWebpackProductionSetup;
|
|
7
|
+
var _webpackMerge = require("webpack-merge");
|
|
8
|
+
var _cssLoader = require("../loader/cssLoader");
|
|
9
|
+
var _bannerPlugin = require("../plugin/bannerPlugin");
|
|
10
|
+
var _cssMinimizerWebpackPlugin = require("../plugin/cssMinimizerWebpackPlugin");
|
|
11
|
+
var _dotenvWebpack = require("../plugin/dotenvWebpack");
|
|
12
|
+
var _miniCSSExtractPlugin = require("../plugin/miniCSSExtractPlugin");
|
|
13
|
+
var _webpackBundleAnalyzer = require("../plugin/webpackBundleAnalyzer");
|
|
14
|
+
function getWebpackProductionSetup(_ref) {
|
|
15
|
+
var webpackCommonSetup = _ref.webpackCommonSetup,
|
|
16
|
+
environmentVariablesFilePath = _ref.environmentVariablesFilePath,
|
|
17
|
+
micrositeUrlPath = _ref.micrositeUrlPath,
|
|
18
|
+
micrositeFolderPaths = _ref.micrositeFolderPaths,
|
|
19
|
+
packageJSON = _ref.packageJSON;
|
|
20
|
+
return (0, _webpackMerge.merge)([webpackCommonSetup, {
|
|
21
|
+
mode: 'production',
|
|
22
|
+
devtool: false,
|
|
23
|
+
output: {
|
|
24
|
+
path: micrositeFolderPaths.build,
|
|
25
|
+
publicPath: micrositeUrlPath,
|
|
26
|
+
filename: 'js/[name].[contenthash].bundle.js'
|
|
27
|
+
},
|
|
28
|
+
performance: {
|
|
29
|
+
hints: false,
|
|
30
|
+
maxEntrypointSize: 512000,
|
|
31
|
+
maxAssetSize: 512000
|
|
32
|
+
},
|
|
33
|
+
optimization: {
|
|
34
|
+
minimize: true,
|
|
35
|
+
minimizer: [(0, _cssMinimizerWebpackPlugin.getCSSMinimizerWebpackPluginStandardSetup)(), '...'],
|
|
36
|
+
runtimeChunk: {
|
|
37
|
+
name: 'runtime'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
plugins: [(0, _bannerPlugin.getBannerPluginStandardSetup)(packageJSON), (0, _dotenvWebpack.getDotenvWebpackStandardSetup)({
|
|
41
|
+
path: environmentVariablesFilePath
|
|
42
|
+
}), (0, _miniCSSExtractPlugin.getMiniCSSExtractPluginAdvancedSetup)(), (0, _webpackBundleAnalyzer.getWebpackBundleAnalyzerStandardSetup)()],
|
|
43
|
+
module: {
|
|
44
|
+
rules: [{
|
|
45
|
+
test: /\.(sass|scss|css)$/,
|
|
46
|
+
use: [_miniCSSExtractPlugin.MiniCSSExtractPluginLoader, (0, _cssLoader.getCSSLoaderStandardSetup)({
|
|
47
|
+
sourceMap: false,
|
|
48
|
+
modules: {
|
|
49
|
+
localIdentName: '[name]_[local]_[hash:base64:5]'
|
|
50
|
+
}
|
|
51
|
+
}), 'postcss-loader', 'sass-loader']
|
|
52
|
+
}]
|
|
53
|
+
}
|
|
54
|
+
}]);
|
|
55
|
+
}
|