Sha256: 6351c72d8472ef374f3b575b03a5f7ab9881d7df1ae836001379f2f1cfb1dd1c
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
/* eslint global-require: 0 */ /* eslint import/no-dynamic-require: 0 */ const { resolve } = require('path') const { existsSync } = require('fs') const { merge } = require('webpack-merge') const isJsxFile = (filename) => !!filename.match(/\.(jsx|tsx)?(\.erb)?$/) const isTypescriptFile = (filename) => !!filename.match(/\.(ts|tsx)?(\.erb)?$/) const getCustomConfig = () => { const path = resolve('config', 'swc.config.js') if (existsSync(path)) { return require(path) } return {} } const getSwcLoaderConfig = (filenameToProcess) => { const customConfig = getCustomConfig() const defaultConfig = { loader: require.resolve('swc-loader'), options: { jsc: { parser: { dynamicImport: true, syntax: isTypescriptFile(filenameToProcess) ? 'typescript' : 'ecmascript', [isTypescriptFile(filenameToProcess) ? 'tsx' : 'jsx']: isJsxFile(filenameToProcess) } }, sourceMaps: true, env: { coreJs: '3.8', loose: true, exclude: ['transform-typeof-symbol'], mode: 'entry' } } } return merge(defaultConfig, customConfig) } module.exports = { getSwcLoaderConfig }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
shakapacker-6.1.1 | package/swc/index.js |
shakapacker-6.1.0 | package/swc/index.js |
shakapacker-6.1.0.beta.0 | package/swc/index.js |