@s-ui/bundler 9.28.0 → 9.30.1-beta.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.
@@ -9,14 +9,14 @@ const program = require('commander')
9
9
  const path = require('path')
10
10
  const WebpackDevServer = require('webpack-dev-server')
11
11
 
12
- const clearConsole = require('../utils/clearConsole')
13
- const checkRequiredFiles = require('../utils/checkRequiredFiles')
12
+ const clearConsole = require('../utils/clearConsole.js')
13
+ const checkRequiredFiles = require('../utils/checkRequiredFiles.js')
14
14
  const {choosePort, prepareUrls} = require('../utils/WebpackDevServerUtils.js')
15
15
 
16
- const webpackConfig = require('../webpack.config.dev')
16
+ const webpackConfig = require('../webpack.config.dev.js')
17
17
 
18
- const createDevServerConfig = require('../factories/createDevServerConfig')
19
- const createCompiler = require('../factories/createCompiler')
18
+ const createDevServerConfig = require('../factories/createDevServerConfig.js')
19
+ const createCompiler = require('../factories/createCompiler.js')
20
20
 
21
21
  const linkLoaderConfigBuilder = require('../loaders/linkLoaderConfigBuilder.js')
22
22
  const log = require('../shared/log.js')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@s-ui/bundler",
3
- "version": "9.28.0",
3
+ "version": "9.30.1-beta.0",
4
4
  "description": "Config-free bundler for ES6 React apps.",
5
5
  "bin": {
6
6
  "sui-bundler": "./bin/sui-bundler.js"
@@ -22,25 +22,24 @@
22
22
  "homepage": "https://github.com/SUI-Components/sui/tree/master/packages/sui-bundler#readme",
23
23
  "dependencies": {
24
24
  "@babel/core": "7.18.5",
25
+ "@parcel/css": "1.11.0",
25
26
  "@s-ui/helpers": "1",
26
27
  "@s-ui/sass-loader": "1",
27
28
  "address": "1.2.0",
28
- "autoprefixer": "10.4.7",
29
29
  "babel-loader": "8.2.5",
30
30
  "babel-preset-sui": "3",
31
31
  "buffer": "6.0.3",
32
32
  "commander": "8.3.0",
33
33
  "css-loader": "6.7.1",
34
34
  "css-minimizer-webpack-plugin": "4.0.0",
35
- "esbuild": "0.14.43",
35
+ "esbuild": "0.14.46",
36
36
  "escape-string-regexp": "4.0.0",
37
37
  "fast-glob": "3.2.11",
38
38
  "find-free-ports": "3.0.0",
39
39
  "html-webpack-plugin": "5.5.0",
40
40
  "https-browserify": "1.0.0",
41
- "mini-css-extract-plugin": "2.6.0",
42
- "postcss": "8.4.14",
43
- "postcss-loader": "7.0.0",
41
+ "mini-css-extract-plugin": "2.6.1",
42
+ "parcel-css-loader": "1.0.7",
44
43
  "process": "0.11.10",
45
44
  "sass": "1.52.3",
46
45
  "stream-http": "3.2.0",
@@ -1,15 +1,5 @@
1
- const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')
1
+ const {ParcelCssMinifyPlugin} = require('parcel-css-loader')
2
2
 
3
- const createCssMinimizerPlugin = () =>
4
- new CssMinimizerPlugin({
5
- minimizerOptions: {
6
- preset: [
7
- 'default',
8
- {
9
- discardComments: {removeAll: true}
10
- }
11
- ]
12
- }
13
- })
3
+ const createCssMinimizerPlugin = () => new ParcelCssMinifyPlugin()
14
4
 
15
5
  module.exports = () => createCssMinimizerPlugin()
@@ -0,0 +1,20 @@
1
+ const MiniCssExtractPlugin = require('mini-css-extract-plugin')
2
+ const parcelCSS = require('@parcel/css')
3
+
4
+ const {cleanList, config, when} = require('./index.js')
5
+
6
+ module.exports = {
7
+ test: /(\.css|\.scss)$/,
8
+ use: cleanList([
9
+ MiniCssExtractPlugin.loader,
10
+ require.resolve('css-loader'),
11
+ when(config['externals-manifest'], () => ({
12
+ loader: 'externals-manifest-loader',
13
+ options: {
14
+ manifestURL: config['externals-manifest']
15
+ }
16
+ })),
17
+ [require.resolve('parcel-css-loader'), {implementation: parcelCSS}],
18
+ require.resolve('@s-ui/sass-loader')
19
+ ])
20
+ }
@@ -3,6 +3,7 @@
3
3
  const path = require('path')
4
4
  const webpack = require('webpack')
5
5
  const HtmlWebpackPlugin = require('html-webpack-plugin')
6
+ const parcelCSS = require('@parcel/css')
6
7
 
7
8
  const {
8
9
  envVars,
@@ -22,7 +23,7 @@ const EXCLUDED_FOLDERS_REGEXP = new RegExp(
22
23
  )
23
24
  const outputPath = path.join(process.cwd(), 'dist')
24
25
 
25
- const {CI = false} = process.env
26
+ const {CI = false, PWD = ''} = process.env
26
27
 
27
28
  process.env.NODE_ENV = 'development'
28
29
 
@@ -31,7 +32,7 @@ process.env.NODE_ENV = 'development'
31
32
  /** @type {WebpackConfig} */
32
33
  const webpackConfig = {
33
34
  mode: 'development',
34
- context: path.resolve(process.env.PWD, 'src'),
35
+ context: path.resolve(PWD, 'src'),
35
36
  resolve: {
36
37
  alias: {
37
38
  ...defaultAlias,
@@ -106,18 +107,7 @@ const webpackConfig = {
106
107
  }
107
108
  })),
108
109
  require.resolve('css-loader'),
109
- {
110
- loader: require.resolve('postcss-loader'),
111
- options: {
112
- postcssOptions: {
113
- plugins: [
114
- require('autoprefixer')({
115
- overrideBrowserslist: config.targets
116
- })
117
- ]
118
- }
119
- }
120
- },
110
+ [require.resolve('parcel-css-loader'), {implementation: parcelCSS}],
121
111
  require.resolve('@s-ui/sass-loader')
122
112
  ])
123
113
  },
@@ -1,4 +1,5 @@
1
1
  const webpack = require('webpack')
2
+ const MiniCssExtractPlugin = require('mini-css-extract-plugin')
2
3
  const {
3
4
  cleanList,
4
5
  envVars,
@@ -9,9 +10,12 @@ const path = require('path')
9
10
  const minifyJs = require('./shared/minify-js.js')
10
11
  const definePlugin = require('./shared/define.js')
11
12
  const babelRules = require('./shared/module-rules-babel.js')
13
+ const sassRules = require('./shared/module-rules-sass.js')
12
14
  const {extractComments, sourceMap} = require('./shared/config.js')
13
15
  const {aliasFromConfig} = require('./shared/resolve-alias.js')
14
16
 
17
+ const cssFileName = 'styles.css'
18
+
15
19
  module.exports = {
16
20
  mode: 'production',
17
21
  resolve: {
@@ -48,6 +52,10 @@ module.exports = {
48
52
  new webpack.ProvidePlugin({
49
53
  process: 'process/browser'
50
54
  }),
55
+ new MiniCssExtractPlugin({
56
+ filename: cssFileName,
57
+ chunkFilename: cssFileName
58
+ }),
51
59
  new webpack.optimize.LimitChunkCountPlugin({
52
60
  maxChunks: 1
53
61
  }),
@@ -55,6 +63,6 @@ module.exports = {
55
63
  definePlugin()
56
64
  ]),
57
65
  module: {
58
- rules: [babelRules]
66
+ rules: [babelRules, sassRules]
59
67
  }
60
68
  }
@@ -24,6 +24,7 @@ const {
24
24
  } = require('./shared/config.js')
25
25
  const {resolveLoader} = require('./shared/resolve-loader.js')
26
26
  const babelRules = require('./shared/module-rules-babel.js')
27
+ const sassRules = require('./shared/module-rules-sass.js')
27
28
  const definePlugin = require('./shared/define.js')
28
29
  const manifestLoaderRules = require('./shared/module-rules-manifest-loader.js')
29
30
  const minifyCss = require('./shared/minify-css.js')
@@ -109,32 +110,7 @@ const webpackConfig = {
109
110
  module: {
110
111
  rules: cleanList([
111
112
  babelRules,
112
- {
113
- test: /(\.css|\.scss)$/,
114
- use: cleanList([
115
- MiniCssExtractPlugin.loader,
116
- require.resolve('css-loader'),
117
- when(config['externals-manifest'], () => ({
118
- loader: 'externals-manifest-loader',
119
- options: {
120
- manifestURL: config['externals-manifest']
121
- }
122
- })),
123
- {
124
- loader: require.resolve('postcss-loader'),
125
- options: {
126
- postcssOptions: {
127
- plugins: [
128
- require('autoprefixer')({
129
- overrideBrowserslist: config.targets
130
- })
131
- ]
132
- }
133
- }
134
- },
135
- require.resolve('@s-ui/sass-loader')
136
- ])
137
- },
113
+ sassRules,
138
114
  when(config['externals-manifest'], () =>
139
115
  manifestLoaderRules(config['externals-manifest'])
140
116
  )