summaryrefslogtreecommitdiff
path: root/date-fns/config/webpack.js
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2021-08-23 16:46:06 -0300
committerSebastian <sebasjm@gmail.com>2021-08-23 16:48:30 -0300
commit38acabfa6089ab8ac469c12b5f55022fb96935e5 (patch)
tree453dbf70000cc5e338b06201af1eaca8343f8f73 /date-fns/config/webpack.js
parentf26125e039143b92dc0d84e7775f508ab0cdcaa8 (diff)
downloadnode-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.gz
node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.bz2
node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.zip
added web vendorsHEADmaster
Diffstat (limited to 'date-fns/config/webpack.js')
-rw-r--r--date-fns/config/webpack.js79
1 files changed, 79 insertions, 0 deletions
diff --git a/date-fns/config/webpack.js b/date-fns/config/webpack.js
new file mode 100644
index 0000000..327b587
--- /dev/null
+++ b/date-fns/config/webpack.js
@@ -0,0 +1,79 @@
+const path = require('path')
+const webpack = require('webpack')
+
+const isProduction = process.env.NODE_ENV === 'production'
+
+const config = {
+ mode: isProduction ? 'production' : 'development',
+ devtool: isProduction ? 'source-map' : 'inline-source-map',
+ entry: getEntryConfig(),
+ output: getOutputConfig(),
+ resolve: {
+ extensions: ['.ts', '.js']
+ },
+ module: {
+ rules: [
+ { test: /\.(js|ts)$/, exclude: /node_modules/, use: 'babel-loader' }
+ ].concat(
+ process.env.COVERAGE_REPORT
+ ? [
+ {
+ test: /\.(js|ts)$/,
+ use: {
+ loader: 'istanbul-instrumenter-loader',
+ options: { esModules: true }
+ },
+ enforce: 'post',
+ exclude: /node_modules|test.js|src\/locale$/
+ }
+ ]
+ : []
+ )
+ },
+ plugins: getPlugins()
+}
+
+module.exports = config
+
+function getEntryConfig() {
+ if (process.env.BUILD_TESTS) {
+ return {
+ tests: './testWithoutLocales.js'
+ }
+ } else if (process.env.NODE_ENV === 'test') {
+ return undefined
+ } else {
+ return {
+ date_fns: './tmp/umd/index.js'
+ }
+ }
+}
+
+function getOutputConfig() {
+ if (process.env.BUILD_TESTS) {
+ return {
+ path: path.join(process.cwd(), 'tmp'),
+ filename: '[name].js'
+ }
+ } else if (process.env.NODE_ENV === 'test') {
+ return undefined
+ } else {
+ return {
+ path: path.join(process.cwd(), 'dist'),
+ filename: '[name].js',
+ library: 'dateFns',
+ libraryTarget: 'umd'
+ }
+ }
+}
+
+function getPlugins() {
+ return process.env.NODE_ENV === 'test'
+ ? [
+ new webpack.ContextReplacementPlugin(
+ /power-assert-formatter[\\/]lib/,
+ new RegExp('^\\./.*\\.js$')
+ )
+ ]
+ : undefined
+}