corejs-upgrade-webpack-plugin
Advanced tools
Comparing version 2.2.0 to 3.0.0
import { NormalModuleReplacementPlugin } from 'webpack'; | ||
export declare const rewriteCoreJsRequest: (originalRequest: string, lowerVersion?: boolean) => string; | ||
export interface Options { | ||
resolveFrom: string | false; | ||
resolveFrom: string | false | string[]; | ||
} | ||
export default function CoreJSUpgradeWebpackPlugin(options: Options): NormalModuleReplacementPlugin; |
@@ -84,3 +84,4 @@ "use strict"; | ||
const defaultOptions = { | ||
resolveFrom: false | ||
resolveFrom: false, | ||
resolveBackup: false | ||
}; | ||
@@ -90,3 +91,3 @@ | ||
options = Object.assign({}, defaultOptions, options || {}); | ||
const resolve = options.resolveFrom ? _resolveFrom.default.bind(null, options.resolveFrom) : require.resolve; | ||
const resolvers = options.resolveFrom ? [].concat(options.resolveFrom).map(r => _resolveFrom.default.bind(null, r)) : []; | ||
return new _webpack.NormalModuleReplacementPlugin(/core-js/, resource => { | ||
@@ -106,19 +107,31 @@ const originalRequest = resource.userRequest || resource.request; | ||
} catch (originalError) { | ||
let error = true; // attempt to upgrade the path from core-js v2 to v3 | ||
let error = true; | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest)); | ||
error = false; | ||
} catch (e) {} | ||
} // attempt to downgrade the path from es7 to es6 | ||
for (const resolve of resolvers) { | ||
// attempt the core-js v2 from backup | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(originalRequest); | ||
error = false; | ||
} catch (e) {} | ||
} // attempt to upgrade the path from core-js v2 to v3 from backup | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest, true)); | ||
error = false; | ||
} catch (e) {} | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest)); | ||
error = false; | ||
} catch (e) {} | ||
} // attempt to downgrade the path from es7 to es6 from backup | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest, true)); | ||
error = false; | ||
} catch (e) {} | ||
} | ||
} | ||
@@ -125,0 +138,0 @@ |
{ | ||
"name": "corejs-upgrade-webpack-plugin", | ||
"version": "2.2.0", | ||
"version": "3.0.0", | ||
"description": "a webpack plugin that transforms core-js v2 paths to core-js v3 paths", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -37,4 +37,4 @@ # CoreJS Upgrade Webpack Plugin | ||
new CoreJSUpgradeWebpackPlugin({ | ||
resolveFrom: process.cwd(), | ||
resolveFrom: [process.cwd()], | ||
}); | ||
``` |
@@ -76,3 +76,3 @@ import { NormalModuleReplacementPlugin } from 'webpack'; | ||
export interface Options { | ||
resolveFrom: string | false; | ||
resolveFrom: string | false | string[]; | ||
} | ||
@@ -82,2 +82,3 @@ | ||
resolveFrom: false, | ||
resolveBackup: false, | ||
} as Options | ||
@@ -87,3 +88,4 @@ | ||
options = Object.assign({}, defaultOptions, options || {}); | ||
const resolve = options.resolveFrom ? resolveFrom.bind(null, options.resolveFrom) : require.resolve; | ||
const resolvers = options.resolveFrom ? [].concat(options.resolveFrom).map(r => resolveFrom.bind(null, r)) : []; | ||
@@ -98,3 +100,3 @@ return new NormalModuleReplacementPlugin(/core-js/, resource => { | ||
} | ||
try { | ||
@@ -105,21 +107,32 @@ require.resolve(originalRequest); | ||
// attempt to upgrade the path from core-js v2 to v3 | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest)); | ||
error = false; | ||
} catch (e) {} | ||
for (const resolve of resolvers) { | ||
// attempt the core-js v2 from backup | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(originalRequest); | ||
error = false; | ||
} catch (e) {} | ||
} | ||
// attempt to upgrade the path from core-js v2 to v3 from backup | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest)); | ||
error = false; | ||
} catch (e) {} | ||
} | ||
// attempt to downgrade the path from es7 to es6 from backup | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest, true)); | ||
error = false; | ||
} catch (e) {} | ||
} | ||
} | ||
// attempt to downgrade the path from es7 to es6 | ||
if (error) { | ||
try { | ||
// eslint-disable-next-line no-param-reassign | ||
resource.request = resolve(rewriteCoreJsRequest(originalRequest, true)); | ||
error = false; | ||
} catch (e) {} | ||
} | ||
if (error) { | ||
throw originalError; | ||
@@ -126,0 +139,0 @@ } |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
269299
9
329