@normed/bundle 4.5.1 → 4.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundles/index.js CHANGED
@@ -25381,8 +25381,8 @@ var require_plugin_manager = __commonJS({
25381
25381
  var PluginManager = (
25382
25382
  /** @class */
25383
25383
  function() {
25384
- function PluginManager2(less2) {
25385
- this.less = less2;
25384
+ function PluginManager2(less3) {
25385
+ this.less = less3;
25386
25386
  this.visitors = [];
25387
25387
  this.preProcessors = [];
25388
25388
  this.postProcessors = [];
@@ -25390,7 +25390,7 @@ var require_plugin_manager = __commonJS({
25390
25390
  this.fileManagers = [];
25391
25391
  this.iterator = -1;
25392
25392
  this.pluginCache = {};
25393
- this.Loader = new less2.PluginLoader(less2);
25393
+ this.Loader = new less3.PluginLoader(less3);
25394
25394
  }
25395
25395
  PluginManager2.prototype.addPlugins = function(plugins) {
25396
25396
  if (plugins) {
@@ -25472,9 +25472,9 @@ var require_plugin_manager = __commonJS({
25472
25472
  }()
25473
25473
  );
25474
25474
  var pm;
25475
- var PluginManagerFactory = function(less2, newFactory) {
25475
+ var PluginManagerFactory = function(less3, newFactory) {
25476
25476
  if (newFactory || !pm) {
25477
- pm = new PluginManager(less2);
25477
+ pm = new PluginManager(less3);
25478
25478
  }
25479
25479
  return pm;
25480
25480
  };
@@ -25787,8 +25787,8 @@ var require_import_manager = __commonJS({
25787
25787
  var ImportManager = (
25788
25788
  /** @class */
25789
25789
  function() {
25790
- function ImportManager2(less2, context, rootFileInfo) {
25791
- this.less = less2;
25790
+ function ImportManager2(less3, context, rootFileInfo) {
25791
+ this.less = less3;
25792
25792
  this.rootFilename = rootFileInfo.filename;
25793
25793
  this.paths = context.paths || [];
25794
25794
  this.contents = {};
@@ -26402,8 +26402,8 @@ var require_plugin_loader = __commonJS({
26402
26402
  var tslib_1 = require_tslib();
26403
26403
  var path_1 = tslib_1.__importDefault(require("path"));
26404
26404
  var abstract_plugin_loader_js_1 = tslib_1.__importDefault(require_abstract_plugin_loader());
26405
- var PluginLoader = function(less2) {
26406
- this.less = less2;
26405
+ var PluginLoader = function(less3) {
26406
+ this.less = less3;
26407
26407
  this.require = function(prefix) {
26408
26408
  prefix = path_1.default.dirname(prefix);
26409
26409
  return function(id) {
@@ -27084,17 +27084,17 @@ var require_less_node = __commonJS({
27084
27084
  var file_manager_1 = tslib_1.__importDefault(require_file_manager());
27085
27085
  var url_file_manager_1 = tslib_1.__importDefault(require_url_file_manager());
27086
27086
  var less_1 = tslib_1.__importDefault(require_less());
27087
- var less2 = (0, less_1.default)(environment_1.default, [new file_manager_1.default(), new url_file_manager_1.default()]);
27087
+ var less3 = (0, less_1.default)(environment_1.default, [new file_manager_1.default(), new url_file_manager_1.default()]);
27088
27088
  var lessc_helper_1 = tslib_1.__importDefault(require_lessc_helper());
27089
- less2.createFromEnvironment = less_1.default;
27090
- less2.lesscHelper = lessc_helper_1.default;
27091
- less2.PluginLoader = require_plugin_loader().default;
27092
- less2.fs = require_fs2().default;
27093
- less2.FileManager = file_manager_1.default;
27094
- less2.UrlFileManager = url_file_manager_1.default;
27095
- less2.options = require_default_options().default();
27096
- require_image_size().default(less2.environment);
27097
- exports2.default = less2;
27089
+ less3.createFromEnvironment = less_1.default;
27090
+ less3.lesscHelper = lessc_helper_1.default;
27091
+ less3.PluginLoader = require_plugin_loader().default;
27092
+ less3.fs = require_fs2().default;
27093
+ less3.FileManager = file_manager_1.default;
27094
+ less3.UrlFileManager = url_file_manager_1.default;
27095
+ less3.options = require_default_options().default();
27096
+ require_image_size().default(less3.environment);
27097
+ exports2.default = less3;
27098
27098
  }
27099
27099
  });
27100
27100
 
@@ -69150,11 +69150,25 @@ var import_pug = __toESM(require_lib14());
69150
69150
  var import_fs4 = __toESM(require("fs"));
69151
69151
  var import_path5 = __toESM(require("path"));
69152
69152
  var import_crypto = __toESM(require("crypto"));
69153
+ var import_less2 = __toESM(require_less2());
69154
+ var less2 = import_less2.default;
69153
69155
  function computeContentHash(content) {
69154
69156
  const hash = import_crypto.default.createHash("sha256").update(content).digest();
69155
69157
  const num = hash.readUInt32BE(0);
69156
69158
  return num.toString(36).toUpperCase().padStart(8, "0").slice(0, 8);
69157
69159
  }
69160
+ function isCompilableAsset(assetPath) {
69161
+ return assetPath.endsWith(".less");
69162
+ }
69163
+ async function compileLess(absoluteSource) {
69164
+ const fileData = await import_fs4.default.promises.readFile(absoluteSource, {
69165
+ encoding: "utf8"
69166
+ });
69167
+ const lessResult = await less2.render(fileData, {
69168
+ paths: [import_path5.default.dirname(absoluteSource)]
69169
+ });
69170
+ return { content: lessResult.css, outputExt: ".css" };
69171
+ }
69158
69172
  var ASSET_ATTRIBUTES = {
69159
69173
  img: ["src", "srcset"],
69160
69174
  video: ["src", "poster"],
@@ -69240,6 +69254,7 @@ async function processHtmlAssets(html, pugFilePath, options) {
69240
69254
  const hashedPath = await processAsset(
69241
69255
  assetPath,
69242
69256
  pugDir,
69257
+ pugFilePath,
69243
69258
  outdir,
69244
69259
  outbase,
69245
69260
  assetNames,
@@ -69269,6 +69284,7 @@ async function processHtmlAssets(html, pugFilePath, options) {
69269
69284
  const hashedPath = await processAsset(
69270
69285
  value,
69271
69286
  pugDir,
69287
+ pugFilePath,
69272
69288
  outdir,
69273
69289
  outbase,
69274
69290
  assetNames,
@@ -69287,7 +69303,7 @@ async function processHtmlAssets(html, pugFilePath, options) {
69287
69303
  }
69288
69304
  return { html: modifiedHtml, assets, pugReferences };
69289
69305
  }
69290
- async function processAsset(assetPath, pugDir, outdir, outbase, assetNames, publicPath, assets, processedAssets) {
69306
+ async function processAsset(assetPath, pugDir, pugFilePath, outdir, outbase, assetNames, publicPath, assets, processedAssets) {
69291
69307
  const absoluteSource = import_path5.default.resolve(pugDir, assetPath);
69292
69308
  if (processedAssets.has(absoluteSource)) {
69293
69309
  return processedAssets.get(absoluteSource);
@@ -69296,21 +69312,40 @@ async function processAsset(assetPath, pugDir, outdir, outbase, assetNames, publ
69296
69312
  return null;
69297
69313
  }
69298
69314
  try {
69299
- const content = await import_fs4.default.promises.readFile(absoluteSource);
69315
+ let content;
69316
+ let compiledContent;
69317
+ let outputAssetPath = assetPath;
69318
+ if (isCompilableAsset(assetPath)) {
69319
+ const compiled = await compileLess(absoluteSource);
69320
+ content = compiled.content;
69321
+ compiledContent = compiled.content;
69322
+ outputAssetPath = assetPath.replace(/\.less$/, compiled.outputExt);
69323
+ } else {
69324
+ content = await import_fs4.default.promises.readFile(absoluteSource);
69325
+ }
69300
69326
  const hash = computeContentHash(content);
69301
69327
  const hashedFilename = applyAssetNamesTemplate(
69302
69328
  assetNames,
69303
- assetPath,
69329
+ outputAssetPath,
69304
69330
  hash,
69305
69331
  outbase
69306
69332
  );
69307
69333
  const absoluteOutput = import_path5.default.join(outdir, hashedFilename);
69308
- const htmlPath = publicPath ? publicPath.replace(/\/$/, "") + "/" + hashedFilename : hashedFilename;
69334
+ const pugRelativeToOutbase = import_path5.default.relative(outbase, pugFilePath);
69335
+ const htmlOutputPath = import_path5.default.join(outdir, pugRelativeToOutbase);
69336
+ const htmlOutputDir = import_path5.default.dirname(htmlOutputPath);
69337
+ let htmlPath;
69338
+ if (publicPath) {
69339
+ htmlPath = publicPath.replace(/\/$/, "") + "/" + hashedFilename;
69340
+ } else {
69341
+ htmlPath = import_path5.default.relative(htmlOutputDir, absoluteOutput);
69342
+ }
69309
69343
  assets.push({
69310
69344
  originalPath: assetPath,
69311
69345
  hashedPath: htmlPath,
69312
69346
  absoluteSource,
69313
- absoluteOutput
69347
+ absoluteOutput,
69348
+ compiledContent
69314
69349
  });
69315
69350
  processedAssets.set(absoluteSource, htmlPath);
69316
69351
  return htmlPath;
@@ -69319,13 +69354,19 @@ async function processAsset(assetPath, pugDir, outdir, outbase, assetNames, publ
69319
69354
  }
69320
69355
  }
69321
69356
  async function copyAssets(assets) {
69322
- const copied = /* @__PURE__ */ new Set();
69357
+ const written = /* @__PURE__ */ new Set();
69323
69358
  for (const asset of assets) {
69324
- if (copied.has(asset.absoluteOutput)) continue;
69325
- copied.add(asset.absoluteOutput);
69359
+ if (written.has(asset.absoluteOutput)) continue;
69360
+ written.add(asset.absoluteOutput);
69326
69361
  const outputDir = import_path5.default.dirname(asset.absoluteOutput);
69327
69362
  await import_fs4.default.promises.mkdir(outputDir, { recursive: true });
69328
- await import_fs4.default.promises.copyFile(asset.absoluteSource, asset.absoluteOutput);
69363
+ if (asset.compiledContent !== void 0) {
69364
+ await import_fs4.default.promises.writeFile(asset.absoluteOutput, asset.compiledContent, {
69365
+ encoding: "utf8"
69366
+ });
69367
+ } else {
69368
+ await import_fs4.default.promises.copyFile(asset.absoluteSource, asset.absoluteOutput);
69369
+ }
69329
69370
  }
69330
69371
  }
69331
69372
  var filters = {