Open MrKou47 opened 6 years ago
same here
PR welcome
any idea where to start?
ok so i have found workaround webpack.config.js
module: {
rules: [{
test: /\.jsx?$/,
exclude: /node_modules/,
use: [{
loader: 'babel-loader',
options: {
babelrc: false,
presets: [
[
'env',
{
modules: false,
},
],
'stage-0',
'react',
],
plugins: [
'react-hot-loader/babel',
'transform-runtime',
'transform-async-to-generator',
'transform-decorators-legacy',
'transform-function-bind',
'transform-class-properties',
'lodash',
],
},
}],
}, {
test: /\.brfs\.js$/,
exclude: /node_modules/,
use: [{
loader: 'transform-loader?brfs',
}],
}],
},
so i just added additional loader for files with double extension .brfs.js
@TrejGun your workaround doesn't work for me((
my rules section in webpack config
{
test: /\.jsx?$/,
loader: require.resolve('babel-loader'),
exclude: /node_modules/,
options: {
cacheDirectory: true,
},
},
{
test: /\.brfs\.js$/,
exclude: /node_modules/,
use: [
{
loader: 'transform-loader?brfs',
},
],
},
{
test: /node_modules\/(pdfkit|brotli|linebreak|png-js|unicode-properties)\//,
loader: 'transform-loader?brfs',
},
// `fontkit` needs special treatment because it needs both `browserify` and `babelify`:
{
test: /node_modules\/fontkit\//,
use: [
{ loader: 'transform-loader?brfs' },
{
loader: 'babel-loader',
options: {
presets: ['env'],
plugins: ['transform-decorators-legacy', 'transform-class-properties'],
},
},
],
},
{
test: /node_modules\/unicode-properties\/*\.json$/,
use: 'json-loader',
},
This bug occurs because to support es modules, is necessary to pass parserOpts option to brfs. Unfortunately the way to accomplish that (with local transform) is buggy
I managed to workaround by saving the transform to a file and passing the relative path as option:
// module-brfs.js
const brfs = require('brfs')
module.exports = function moduleBrfs(resource) {
return brfs(resource, {
parserOpts: {
sourceType: 'module'
}
})
}
// webpack.config.js
{ enforce: 'post', test: /pdfkit[/\\]js[/\\]/, loader: "transform-loader?../../../module-brfs" }
With this setup, the error does not occurs and brfs is ran but unfortunately it does not support when fs
is imported as an es module at all.
This issue is for a:
Code
CLI Command
webpack.config.js
I set .babelrc
modules: false
,because i want to parse module system by webpack complier.and i both set webpack target: 'web'
Expected Behavior
no error
Actual Behavior
throw error
How could i fix this? Does
transform-loader
only support COMMONJS js file?