@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.
Files changed (37) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/babel/index.js +8 -0
  4. package/eslint/index.js +69 -0
  5. package/jest/config.js +33 -0
  6. package/jest/index.js +19 -0
  7. package/jest/setup.js +22 -0
  8. package/package.json +33 -0
  9. package/prettier/index.js +9 -0
  10. package/storybook/index.js +12 -0
  11. package/storybook/setup/mainSetup.js +259 -0
  12. package/stylelint/index.js +18 -0
  13. package/webpack/constant/index.js +20 -0
  14. package/webpack/index.js +202 -0
  15. package/webpack/loader/babelLoader.js +31 -0
  16. package/webpack/loader/cssLoader.js +20 -0
  17. package/webpack/loader/fontLoader.js +14 -0
  18. package/webpack/loader/imageLoader.js +14 -0
  19. package/webpack/loader/markdownLoader.js +20 -0
  20. package/webpack/loader/postCSSLoader.js +22 -0
  21. package/webpack/loader/sassLoader.js +20 -0
  22. package/webpack/loader/svgrLoader.js +25 -0
  23. package/webpack/plugin/bannerPlugin.js +16 -0
  24. package/webpack/plugin/cleanWebpackPlugin.js +31 -0
  25. package/webpack/plugin/copyWebpackPlugin.js +24 -0
  26. package/webpack/plugin/cssMinimizerWebpackPlugin.js +13 -0
  27. package/webpack/plugin/dotenvWebpack.js +35 -0
  28. package/webpack/plugin/hotModuleReplacementPlugin.js +13 -0
  29. package/webpack/plugin/htmlWebpackPlugin.js +42 -0
  30. package/webpack/plugin/miniCSSExtractPlugin.js +23 -0
  31. package/webpack/plugin/moduleConcatenationPlugin.js +13 -0
  32. package/webpack/plugin/webpackBundleAnalyzer.js +15 -0
  33. package/webpack/plugin/webpackManifestPlugin.js +21 -0
  34. package/webpack/server/devServer.js +22 -0
  35. package/webpack/setup/commonSetup.js +37 -0
  36. package/webpack/setup/developmentSetup.js +50 -0
  37. 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
+ }