ignore-emit-webpack-plugin
Advanced tools
Sorry, the diff of this file is not supported yet
+3
-1
| 'use strict'; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.IgnoreEmitPlugin = void 0; | ||
| var IgnoreEmitPlugin = /** @class */function () { | ||
@@ -54,3 +55,3 @@ function IgnoreEmitPlugin(ignoreRegex, options) { | ||
| }; | ||
| // webpack 4 | ||
| // webpack 4/5 | ||
| if (compiler.hooks && compiler.hooks.emit) { | ||
@@ -61,2 +62,3 @@ compiler.hooks.emit.tap('IgnoreEmitPlugin', ignoreAssets); | ||
| else { | ||
| // @ts-ignore - this signature does not exist on the latest webpack typing | ||
| compiler.plugin('emit', function (compilation, callback) { | ||
@@ -63,0 +65,0 @@ ignoreAssets(compilation); |
+1
-1
@@ -1,2 +0,2 @@ | ||
| import { Compiler } from "webpack"; | ||
| import { Compiler } from 'webpack'; | ||
| declare class IgnoreEmitPlugin { | ||
@@ -3,0 +3,0 @@ private readonly options; |
+22
-4
| 'use strict'; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.IgnoreEmitPlugin = void 0; | ||
| var webpack_1 = require("webpack"); | ||
| var IgnoreEmitPlugin = /** @class */ (function () { | ||
@@ -47,12 +49,28 @@ function IgnoreEmitPlugin(ignoreRegex, options) { | ||
| _this.DEBUG && console.log("IgnoreEmitPlugin: Ignoring asset " + assetName); | ||
| delete compilation.assets[assetName]; | ||
| if (typeof compilation.deleteAsset === 'function') { | ||
| // Webpack 5 | ||
| compilation.deleteAsset(assetName); | ||
| } | ||
| else { | ||
| // older versions | ||
| delete compilation.assets[assetName]; | ||
| } | ||
| } | ||
| }); | ||
| }; | ||
| // webpack 4 | ||
| if (compiler.hooks && compiler.hooks.emit) { | ||
| compiler.hooks.emit.tap('IgnoreEmitPlugin', ignoreAssets); | ||
| // webpack 4/5 | ||
| if (compiler.hooks && compiler.hooks.compilation) { | ||
| // compiler.hooks.emit.tap('IgnoreEmitPlugin', ignoreAssets); | ||
| compiler.hooks.compilation.tap('IgnoreEmitPlugin', function (compilation) { | ||
| compilation.hooks.processAssets.tap({ | ||
| name: 'IgnoreEmitPlugin', | ||
| stage: webpack_1.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS | ||
| }, function () { | ||
| ignoreAssets(compilation); | ||
| }); | ||
| }); | ||
| } | ||
| // webpack 3 | ||
| else { | ||
| // @ts-ignore - this signature does not exist on the latest webpack typing | ||
| compiler.plugin('emit', function (compilation, callback) { | ||
@@ -59,0 +77,0 @@ ignoreAssets(compilation); |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,mCAA8C;AAE9C;IAKE,0BAAY,WAA0D,EAAE,OAAkC;QAA9F,4BAAA,EAAA,gBAA0D;QAAE,wBAAA,EAAA,YAAkC;QACxG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACrE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAEO,yCAAc,GAAtB,UAAuB,KAA+C;QACpE,IAAI,KAAK,YAAY,MAAM,EAAE;YAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,IAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,KAAoB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;gBAAtB,IAAM,KAAK,cAAA;gBACd,cAAc,CAAC,IAAI,OAAnB,cAAc,EAAS,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;aACpD;YACD,OAAO,cAAc,CAAC;SACvB;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,mDAAmD;YACnD,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SACtE;QAED,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;IAEO,sCAAW,GAAnB,UAAoB,SAAiB,EAAE,cAAwB;QAA/D,iBAQC;QAPC,OAAO,cAAc,CAAC,IAAI,CAAC,UAAA,OAAO;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,OAAO,KAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAC7C;YAED,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gCAAK,GAAZ,UAAa,QAAkB;QAA/B,iBA2CC;QA1CC,IAAM,YAAY,GAAG,UAAC,WAAwB;YAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,SAAS;gBAC/C,IAAI,KAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAI,CAAC,cAAc,CAAC,EAAE;oBACpD,KAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,sCAAoC,SAAW,CAAC,CAAC;oBAC3E,IAAI,OAAO,WAAW,CAAC,WAAW,KAAK,UAAU,EAAE;wBACjD,YAAY;wBACZ,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;qBACpC;yBAAM;wBACL,iBAAiB;wBACjB,OAAO,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;qBACtC;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,cAAc;QACd,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE;YAChD,6DAA6D;YAC7D,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAC5B,kBAAkB,EAClB,UAAC,WAAwB;gBACvB,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CACjC;oBACE,IAAI,EAAE,kBAAkB;oBACxB,KAAK,EAAE,qBAAW,CAAC,8BAA8B;iBAClD,EACD;oBACE,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC,CACF,CAAC;YACJ,CAAC,CACF,CAAC;SAEH;QACD,YAAY;aACP;YACH,0EAA0E;YAC1E,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAC,WAAW,EAAE,QAAQ;gBAC5C,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC1B,QAAQ,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACH,uBAAC;AAAD,CAAC,AAtFD,IAsFC;AAEO,4CAAgB;AACxB,kBAAe,gBAAgB,CAAC;AAEhC,6BAA6B;AAC7B,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAC;AAClC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAC;AAC1C,MAAM,CAAC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC"} |
+27
-7
| 'use strict'; | ||
| import {Compiler} from "webpack"; | ||
| import * as webpack from "webpack"; | ||
| import Compilation = webpack.compilation.Compilation; | ||
| import {Compilation, Compiler} from 'webpack'; | ||
@@ -54,3 +52,9 @@ class IgnoreEmitPlugin { | ||
| this.DEBUG && console.log(`IgnoreEmitPlugin: Ignoring asset ${assetName}`); | ||
| delete compilation.assets[assetName]; | ||
| if (typeof compilation.deleteAsset === 'function') { | ||
| // Webpack 5 | ||
| compilation.deleteAsset(assetName); | ||
| } else { | ||
| // older versions | ||
| delete compilation.assets[assetName]; | ||
| } | ||
| } | ||
@@ -60,8 +64,24 @@ }); | ||
| // webpack 4 | ||
| if (compiler.hooks && compiler.hooks.emit) { | ||
| compiler.hooks.emit.tap('IgnoreEmitPlugin', ignoreAssets); | ||
| // webpack 4/5 | ||
| if (compiler.hooks && compiler.hooks.compilation) { | ||
| // compiler.hooks.emit.tap('IgnoreEmitPlugin', ignoreAssets); | ||
| compiler.hooks.compilation.tap( | ||
| 'IgnoreEmitPlugin', | ||
| (compilation: Compilation) => { | ||
| compilation.hooks.processAssets.tap( | ||
| { | ||
| name: 'IgnoreEmitPlugin', | ||
| stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS | ||
| }, | ||
| () => { | ||
| ignoreAssets(compilation); | ||
| } | ||
| ); | ||
| } | ||
| ); | ||
| } | ||
| // webpack 3 | ||
| else { | ||
| // @ts-ignore - this signature does not exist on the latest webpack typing | ||
| compiler.plugin('emit', (compilation, callback) => { | ||
@@ -68,0 +88,0 @@ ignoreAssets(compilation); |
+6
-6
| { | ||
| "name": "ignore-emit-webpack-plugin", | ||
| "version": "2.0.3", | ||
| "version": "2.0.4", | ||
| "description": "Prevents ignored files from being emitted during a Webpack build", | ||
| "scripts": { | ||
| "test:webpack": "bash test/test.sh && bash test/test-webpack3.sh && bash test/test-webpack4.sh", | ||
| "test:webpack": "bash test/test.sh && bash test/test-webpack3.sh && bash test/test-webpack4.sh && bash test/test-webpack5.sh", | ||
| "test:unit": "node test/test-api.js", | ||
| "test": "npm run test:unit && npm run test:webpack", | ||
| "test": "npm -s run test:unit && npm -s run test:webpack", | ||
| "build": "tsc", | ||
| "build:watch": "tsc --watch", | ||
| "transpile": "mkdir -p es5 && babel index.js --out-file es5/index.js --presets=es2015", | ||
@@ -28,9 +29,8 @@ "publishOnly": "npm run build && npm run transpile && npm run test" | ||
| "devDependencies": { | ||
| "@types/webpack": "^4.41.21", | ||
| "babel-cli": "^6.26.0", | ||
| "babel-preset-es2015": "^6.24.1", | ||
| "typescript": "^3.8.3", | ||
| "webpack": "latest", | ||
| "typescript": "^4.0.3", | ||
| "webpack": ">=5.2.0", | ||
| "webpack-cli": "latest" | ||
| } | ||
| } |
17150
13.04%5
-16.67%9
12.5%263
17.41%