@startupjs/bundler 0.42.20 → 0.43.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,6 +9,8 @@ module.exports = function cssToReactNative (source) {
9
9
  for (const key in cssObject.__exportProps || {}) {
10
10
  cssObject[key] = parseStylValue(cssObject.__exportProps[key])
11
11
  }
12
+ // save hash to use with the caching system of @startupjs/cache
13
+ cssObject.__hash__ = simpleNumericHash(JSON.stringify(cssObject))
12
14
  return 'module.exports = ' + JSON.stringify(cssObject)
13
15
  }
14
16
 
@@ -76,3 +78,9 @@ function escapeExport (source) {
76
78
 
77
79
  return source
78
80
  }
81
+
82
+ // ref: https://gist.github.com/hyamamoto/fd435505d29ebfa3d9716fd2be8d42f0?permalink_comment_id=2694461#gistcomment-2694461
83
+ function simpleNumericHash (s) {
84
+ for (var i = 0, h = 0; i < s.length; i++) h = Math.imul(31, h) + s.charCodeAt(i) | 0
85
+ return h
86
+ }
@@ -7,7 +7,6 @@ const stylusToCssLoader = require('./stylusToCssLoader')
7
7
  const cssToReactNativeLoader = require('./cssToReactNativeLoader')
8
8
  const mdxExamplesLoader = require('./mdxExamplesLoader')
9
9
  const mdxLoader = require('./mdxLoader')
10
- const replaceObserverLoader = require('./replaceObserverLoader')
11
10
  const callLoader = require('./callLoader')
12
11
 
13
12
  module.exports.transform = function ({ src, filename, options = {} }) {
@@ -24,10 +23,6 @@ module.exports.transform = function ({ src, filename, options = {} }) {
24
23
  } else if (/\.svg$/.test(filename)) {
25
24
  return svgTransformer.transform({ src, filename, options })
26
25
  } else if (/\.[cm]?jsx?$/.test(filename) && /['"]startupjs['"]/.test(src)) {
27
- // Fix Fast Refresh to work with observer() decorator.
28
- // For details view ./replaceObserverLoader.js
29
- src = src.replace(/(?:\/\*(?:[\s\S]*?)\*\/)|(?:^\s*\/\/(?:.*)$)/gm, '')
30
- src = callLoader(replaceObserverLoader, src, filename)
31
26
  return upstreamTransformer.transform({ src, filename, options })
32
27
  } else if (/\.mdx?$/.test(filename)) {
33
28
  src = callLoader(mdxExamplesLoader, src, filename)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@startupjs/bundler",
3
- "version": "0.42.20",
3
+ "version": "0.43.0",
4
4
  "description": "Opinionated scripts and configs to develop a react-native-web project",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -21,12 +21,12 @@
21
21
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1",
22
22
  "@startupjs/babel-plugin-react-css-modules": "^6.5.4-1",
23
23
  "@startupjs/css-to-react-native-transform": "^1.9.0-1",
24
- "@startupjs/plugin": "^0.42.0",
24
+ "@startupjs/plugin": "^0.43.0",
25
25
  "@svgr/webpack": "~5.5.0",
26
26
  "assets-webpack-plugin": "^7.1.1",
27
27
  "autoprefixer": "^10.4.0",
28
28
  "babel-loader": "^8.2.3",
29
- "babel-preset-startupjs": "^0.42.20",
29
+ "babel-preset-startupjs": "^0.43.0",
30
30
  "css-loader": "^6.5.0",
31
31
  "css-minimizer-webpack-plugin": "^3.1.1",
32
32
  "file-loader": "^6.2.0",
@@ -50,5 +50,5 @@
50
50
  "peerDependencies": {
51
51
  "react-native-svg": ">= 12.1.0"
52
52
  },
53
- "gitHead": "9bfd354757920b839fcf9d21f7af8efa4aa58d0b"
53
+ "gitHead": "71591aee88a27e1726252d560c5a1d99fa86b559"
54
54
  }
@@ -1,6 +1,6 @@
1
1
  const { getPluginConfigs } = require('@startupjs/plugin/manager.cjs')
2
+ const { getLocalIdent } = require('@startupjs/babel-plugin-react-css-modules/utils')
2
3
  const pickBy = require('lodash/pickBy')
3
- const pick = require('lodash/pick')
4
4
  const fs = require('fs')
5
5
  const path = require('path')
6
6
  const AssetsPlugin = require('assets-webpack-plugin')
@@ -10,7 +10,6 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin')
10
10
  const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')
11
11
  const { LOCAL_IDENT_NAME } = require('babel-preset-startupjs/constants')
12
12
  const autoprefixer = require('autoprefixer')
13
- const { getLocalIdent } = require('@startupjs/babel-plugin-react-css-modules/utils')
14
13
  const DEV_PORT = ~~process.env.DEV_PORT || 3010
15
14
  const PROD = !process.env.WEBPACK_DEV
16
15
  const STYLES_PATH = path.join(process.cwd(), '/styles/index.styl')
@@ -19,7 +18,6 @@ const BUILD_PATH = path.join(process.cwd(), BUILD_DIR)
19
18
  const BUNDLE_NAME = 'main'
20
19
  const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin')
21
20
  const webpack = require('webpack')
22
- const { getJsxRule } = require('./helpers')
23
21
  const DEFAULT_MODE = 'react-native'
24
22
  const PLUGINS = getPluginConfigs()
25
23
 
@@ -187,36 +185,30 @@ module.exports = function getConfig (env, {
187
185
  module: {
188
186
  rules: [
189
187
  {
190
- test: getJsxRule().test,
188
+ test: /\.[mc]?[jt]sx?$/,
191
189
  resolve: {
192
190
  fullySpecified: false
193
191
  },
194
192
  exclude: /node_modules/,
195
193
  use: [
196
- pick(getJsxRule(), ['loader', 'options']),
197
- {
198
- loader: require.resolve('./lib/replaceObserverLoader.js')
199
- }
194
+ { loader: 'babel-loader' }
200
195
  ]
201
196
  },
202
197
  {
203
- test: getJsxRule().test,
198
+ test: /\.[mc]?[jt]sx?$/,
204
199
  resolve: {
205
200
  fullySpecified: false
206
201
  },
207
202
  include: new RegExp(`node_modules/(?:react-native-(?!web)|${forceCompileModules.join('|')})`),
208
203
  use: [
209
- pick(getJsxRule(), ['loader', 'options']),
210
- {
211
- loader: require.resolve('./lib/replaceObserverLoader.js')
212
- }
204
+ { loader: 'babel-loader' }
213
205
  ]
214
206
  },
215
207
  {
216
208
  test: /\.mdx?$/,
217
209
  exclude: /node_modules/,
218
210
  use: [
219
- pick(getJsxRule(), ['loader', 'options']),
211
+ { loader: 'babel-loader' },
220
212
  {
221
213
  loader: '@mdx-js/loader'
222
214
  },
@@ -279,7 +271,7 @@ module.exports = function getConfig (env, {
279
271
  }
280
272
  }
281
273
  ] : [
282
- pick(getJsxRule(), ['loader', 'options']),
274
+ { loader: 'babel-loader' },
283
275
  {
284
276
  loader: require.resolve('./lib/cssToReactNativeLoader.js')
285
277
  },
@@ -308,7 +300,7 @@ module.exports = function getConfig (env, {
308
300
  }
309
301
  }
310
302
  ] : [
311
- pick(getJsxRule(), ['loader', 'options']),
303
+ { loader: 'babel-loader' },
312
304
  {
313
305
  loader: require.resolve('./lib/cssToReactNativeLoader.js')
314
306
  }