From f796aae834d55ce746ae550bf66ebe78a04583e6 Mon Sep 17 00:00:00 2001 From: Philipp Dieter Date: Sun, 16 Dec 2018 23:37:40 +0100 Subject: [PATCH] [FEATURE] Make plugin always write asset constants file to disk --- index.js | 20 ++++++++++++++++++++ package-lock.json | 13 +++++++++++++ package.json | 3 ++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 98d9450..e77a59a 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,7 @@ const cheerio = require('cheerio') +var mkdirp = require('mkdirp'); +var fs = require('fs'); +var path = require('path'); function HtmlWebpackAlterDataPlugin (options) { this.options = { @@ -112,6 +115,23 @@ HtmlWebpackAlterDataPlugin.prototype.apply = function (compiler) { return fileContent.length; } }; + + var fullPath = path.resolve(this.outputPath || compilation.compiler.outputPath, this.options.assetsConstants); + var directory = path.dirname(fullPath); + + mkdirp(directory, function (err) { + if (err) { + //return callback(err); + } + // Write to disk + fs.writeFile(fullPath, fileContent, function (err) { + if (err) { + //return callback(err); + } + //callback(null); + }); + }); + }) }; diff --git a/package-lock.json b/package-lock.json index 62912e7..8b0be41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -176,6 +176,19 @@ "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", diff --git a/package.json b/package.json index e89a910..e98e9ac 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "author": "Philipp Dieter ", "license": "ISC", "dependencies": { - "cheerio": "^0.22.0" + "cheerio": "^0.22.0", + "mkdirp": "^0.5.1" } }