@startupjs/bundler 0.42.0 → 0.43.1
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/lib/cssToReactNativeLoader.js +8 -0
- package/lib/rnTransformer.js +0 -5
- package/package.json +4 -4
- package/webpack.web.config.js +11 -17
|
@@ -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
|
+
}
|
package/lib/rnTransformer.js
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "0.43.1",
|
|
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.
|
|
24
|
+
"@startupjs/plugin": "^0.43.1",
|
|
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.
|
|
29
|
+
"babel-preset-startupjs": "^0.43.1",
|
|
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": "
|
|
53
|
+
"gitHead": "bc78f4f93ade4f233cf31f197cd25377388a6f74"
|
|
54
54
|
}
|
package/webpack.web.config.js
CHANGED
|
@@ -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
|
|
|
@@ -35,7 +33,8 @@ const DEFAULT_ALIAS = {
|
|
|
35
33
|
// fix warning requiring './locale': https://github.com/moment/moment/issues/1435
|
|
36
34
|
moment$: 'moment/moment.js',
|
|
37
35
|
'react-native': 'react-native-web',
|
|
38
|
-
'react-router-native': 'react-router-dom'
|
|
36
|
+
'react-router-native': 'react-router-dom',
|
|
37
|
+
'@fortawesome/react-native-fontawesome': '@fortawesome/react-fontawesome'
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
let DEFAULT_ENTRIES = [
|
|
@@ -186,36 +185,30 @@ module.exports = function getConfig (env, {
|
|
|
186
185
|
module: {
|
|
187
186
|
rules: [
|
|
188
187
|
{
|
|
189
|
-
test:
|
|
188
|
+
test: /\.[mc]?[jt]sx?$/,
|
|
190
189
|
resolve: {
|
|
191
190
|
fullySpecified: false
|
|
192
191
|
},
|
|
193
192
|
exclude: /node_modules/,
|
|
194
193
|
use: [
|
|
195
|
-
|
|
196
|
-
{
|
|
197
|
-
loader: require.resolve('./lib/replaceObserverLoader.js')
|
|
198
|
-
}
|
|
194
|
+
{ loader: 'babel-loader' }
|
|
199
195
|
]
|
|
200
196
|
},
|
|
201
197
|
{
|
|
202
|
-
test:
|
|
198
|
+
test: /\.[mc]?[jt]sx?$/,
|
|
203
199
|
resolve: {
|
|
204
200
|
fullySpecified: false
|
|
205
201
|
},
|
|
206
202
|
include: new RegExp(`node_modules/(?:react-native-(?!web)|${forceCompileModules.join('|')})`),
|
|
207
203
|
use: [
|
|
208
|
-
|
|
209
|
-
{
|
|
210
|
-
loader: require.resolve('./lib/replaceObserverLoader.js')
|
|
211
|
-
}
|
|
204
|
+
{ loader: 'babel-loader' }
|
|
212
205
|
]
|
|
213
206
|
},
|
|
214
207
|
{
|
|
215
208
|
test: /\.mdx?$/,
|
|
216
209
|
exclude: /node_modules/,
|
|
217
210
|
use: [
|
|
218
|
-
|
|
211
|
+
{ loader: 'babel-loader' },
|
|
219
212
|
{
|
|
220
213
|
loader: '@mdx-js/loader'
|
|
221
214
|
},
|
|
@@ -278,7 +271,7 @@ module.exports = function getConfig (env, {
|
|
|
278
271
|
}
|
|
279
272
|
}
|
|
280
273
|
] : [
|
|
281
|
-
|
|
274
|
+
{ loader: 'babel-loader' },
|
|
282
275
|
{
|
|
283
276
|
loader: require.resolve('./lib/cssToReactNativeLoader.js')
|
|
284
277
|
},
|
|
@@ -301,12 +294,13 @@ module.exports = function getConfig (env, {
|
|
|
301
294
|
loader: 'css-loader',
|
|
302
295
|
options: {
|
|
303
296
|
modules: {
|
|
297
|
+
getLocalIdent,
|
|
304
298
|
localIdentName: LOCAL_IDENT_NAME
|
|
305
299
|
}
|
|
306
300
|
}
|
|
307
301
|
}
|
|
308
302
|
] : [
|
|
309
|
-
|
|
303
|
+
{ loader: 'babel-loader' },
|
|
310
304
|
{
|
|
311
305
|
loader: require.resolve('./lib/cssToReactNativeLoader.js')
|
|
312
306
|
}
|