@lipemat/js-boilerplate 10.3.0-beta.3 → 10.3.0-beta.6

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.
@@ -3,7 +3,7 @@ const {getBrowsersList} = require( '../helpers/config' );
3
3
  const presetEnv = {
4
4
  bugfixes: true,
5
5
  corejs: {
6
- version: '3.31',
6
+ version: '3.30',
7
7
  },
8
8
  shippedProposals: true,
9
9
  targets: {
@@ -29,24 +29,25 @@ const presetEnv = {
29
29
  };
30
30
 
31
31
  /**
32
- * If a media-queries files exist, automatically load them.
32
+ * Provide CSS properties and media queries to all postcss plugins.
33
33
  *
34
- * 1. pcss/globals/media-queries.pcss
35
- * 2. js/src/pcss/media-queries.pcss
34
+ * If a media-queries files exist, automatically load them.
35
+ * If CSS variables exist, automatically load them.
36
36
  *
37
- * @notice `@import` will not work inside the media-queries file so
38
- * there is no point in having a JS version if all it does is
39
- * import from the global pcss version.
37
+ * 1. pcss/globals/variables.pcss
38
+ * 2. js/src/pcss/variables.pcss
39
+ * 3. pcss/globals/media-queries.pcss
40
+ * 4. js/src/pcss/media-queries.pcss
40
41
  */
41
- const customMedia = {
42
- importFrom: [],
43
- };
42
+ const externalFiles = [];
44
43
  [
45
44
  path.resolve( packageConfig.packageDirectory, 'pcss/globals/media-queries.pcss' ),
45
+ path.resolve( packageConfig.packageDirectory, 'pcss/globals/variables.pcss' ),
46
46
  path.resolve( packageConfig.workingDirectory, 'src/pcss/media-queries.pcss' ),
47
+ path.resolve( packageConfig.workingDirectory, 'src/pcss/variables.pcss' ),
47
48
  ].forEach( possibleFile => {
48
49
  if ( fs.existsSync( possibleFile ) ) {
49
- customMedia.importFrom.push( possibleFile );
50
+ externalFiles.push( possibleFile );
50
51
  }
51
52
  } );
52
53
 
@@ -56,10 +57,13 @@ const customMedia = {
56
57
  */
57
58
  const config = {
58
59
  plugins: [
60
+ require( '@csstools/postcss-global-data' )( {
61
+ files: externalFiles,
62
+ } ),
59
63
  require( 'postcss-import' )( {
60
64
  skipDuplicates: false,
61
65
  } ),
62
- require( 'postcss-custom-media' )( customMedia ),
66
+ require( 'postcss-custom-media' ),
63
67
  require( 'postcss-nested' ),
64
68
  postcssPresetEnv( presetEnv ),
65
69
  require( 'postcss-color-mod-function' ),
package/helpers/config.js CHANGED
@@ -141,10 +141,7 @@ function getTsConfigFile() {
141
141
  function getBrowsersList() {
142
142
  const projectBrowsersList = browserslist();
143
143
  if ( browserslist( browserslist.defaults ) === projectBrowsersList ) {
144
- return require( '@wordpress/browserslist-config' ).map( range => {
145
- // Swap out "> 1%" for "> 2%".
146
- return '> 1%' === range ? '> 2%' : range;
147
- } );
144
+ return require( '@wordpress/browserslist-config' );
148
145
  }
149
146
  return projectBrowsersList;
150
147
  }
@@ -159,23 +156,13 @@ function getBrowsersList() {
159
156
  * Used in cases where we can fall back to standard browserslist config if the project
160
157
  * has not specified one.
161
158
  *
162
- * @deprecated Use getBrowsersList instead.
163
- *
164
159
  * @link https://github.com/browserslist/browserslist#config-file
165
160
  *
166
161
  * @return {boolean | string[]}
167
162
  */
168
163
  const getDefaultBrowsersList = once( () => {
169
- // JEST requires the default browsers list for JSDOM to work.
170
- if ( typeof global.__TEST__ !== 'undefined' && global.__TEST__ ) {
171
- return false;
172
- }
173
-
174
164
  if ( browserslist( browserslist.defaults ) === browserslist() ) {
175
- return require( '@wordpress/browserslist-config' ).map( range => {
176
- // Swap out "> 1%" for "> 2%".
177
- return '> 1%' === range ? '> 2%' : range;
178
- } );
165
+ return require( '@wordpress/browserslist-config' );
179
166
  }
180
167
  return false;
181
168
  } );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lipemat/js-boilerplate",
3
- "version": "10.3.0-beta.3",
3
+ "version": "10.3.0-beta.6",
4
4
  "description": "Dependencies and scripts for a no config JavaScript app",
5
5
  "author": "Mat Lipe",
6
6
  "license": "MIT",
@@ -42,18 +42,19 @@
42
42
  "@babel/preset-env": "^7.22.9",
43
43
  "@babel/preset-react": "^7.12.10",
44
44
  "@babel/preset-typescript": "^7.12.7",
45
+ "@csstools/postcss-global-data": "^2.0.0",
45
46
  "@lipemat/css-mqpacker": "^9.0.0",
46
47
  "@lipemat/eslint-config": "^3.0.1",
47
48
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
48
49
  "@wordpress/browserslist-config": "^5.19.0",
49
50
  "are-you-es5": "^2.1.1",
50
51
  "babel-jest": "^29.0.0",
51
- "babel-loader": "^9.1.2",
52
- "browserslist": "^4.17.0",
52
+ "babel-loader": "9.1.2",
53
+ "browserslist": "^4.21.9",
53
54
  "clean-css": "^5.3.0",
54
55
  "clean-webpack-plugin": "^4.0.0",
55
56
  "compression-webpack-plugin": "^10.0.0",
56
- "core-js": "^3.31.1",
57
+ "core-js": "~3.30.2",
57
58
  "cross-spawn": "^6.0.5",
58
59
  "css-loader": "6.7.1",
59
60
  "fork-ts-checker-webpack-plugin": "^7.2.13",
@@ -1,5 +1,6 @@
1
1
  const browserslist = require( 'browserslist' );
2
- const {getBrowsersList} = require( '../helpers/config' );
2
+ const {getDefaultBrowsersList} = require( '../helpers/config' );
3
+ const path = require( 'path' );
3
4
 
4
5
  const help = `
5
6
  List browsers being targeted by Babel and PostCSS.
@@ -18,7 +19,9 @@ if ( args[ 0 ] && ( '-h' === args[ 0 ] || '--help' === args[ 0 ] ) ) {
18
19
  }
19
20
 
20
21
 
21
- const provided = getBrowsersList();
22
+ const provided = getDefaultBrowsersList() || browserslist.loadConfig( {
23
+ path: path.resolve( '.' ),
24
+ } );
22
25
 
23
26
  console.log( '' );
24
27
  console.log( 'JS Provided Browserslist' );