@yamato-daiwa/automation 0.4.1 → 0.4.2

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.
Files changed (3) hide show
  1. package/EntryPoint.js +193 -107
  2. package/README.md +0 -3
  3. package/package.json +30 -30
package/EntryPoint.js CHANGED
@@ -1131,7 +1131,7 @@ class ImagesProcessor extends GulpStreamsBasedAssetsProcessor_1.default {
1131
1131
  super({
1132
1132
  projectBuildingMasterConfigRepresentative,
1133
1133
  associatedAssetsProcessingSettingsRepresentative: imagesProcessingSettingsRepresentative,
1134
- taskTitleForLogging: "Images processing",
1134
+ taskTitleForLogging: "Images Processing",
1135
1135
  waitingForSubsequentFilesWillSavedPeriod__seconds: imagesProcessingSettingsRepresentative.assetsProcessingCommonSettings.
1136
1136
  periodBetweenFileUpdatingAndRebuildingStarting__seconds
1137
1137
  });
@@ -3300,8 +3300,7 @@ const SourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_req
3300
3300
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
3301
3301
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
3302
3302
  class GulpStreamBasedSourceCodeProcessingConfigRepresentative extends SourceCodeProcessingConfigRepresentative_1.default {
3303
- cachedRelevantEntryPointsSourceFilesAbsolutePaths = [];
3304
- /* ━━━ Static helpers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
3303
+ /* ━━━ Static Helpers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
3305
3304
  static computeRelevantOutputDirectoryAbsolutePathForTargetSourceFile(targetSourceFileAbsolutePath, relevantEntryPointsGroupSettings) {
3306
3305
  let outputDirectoryAbsolutePathForTargetSourceFile = relevantEntryPointsGroupSettings.isSingeEntryPointGroup ?
3307
3306
  relevantEntryPointsGroupSettings.outputFilesTopDirectoryAbsolutePath :
@@ -3377,15 +3376,6 @@ class GulpStreamBasedSourceCodeProcessingConfigRepresentative extends SourceCode
3377
3376
  get hasAtLeastOneRelevantEntryPointsGroup() {
3378
3377
  return this.relevantEntryPointsGroupsSettings.size > 0;
3379
3378
  }
3380
- get relevantEntryPointsSourceFilesAbsolutePaths() {
3381
- if (this.cachedRelevantEntryPointsSourceFilesAbsolutePaths.length > 0) {
3382
- return this.cachedRelevantEntryPointsSourceFilesAbsolutePaths;
3383
- }
3384
- this.relevantEntryPointsGroupsSettings.forEach((entryPointsGroupNormalizedSettings) => {
3385
- this.cachedRelevantEntryPointsSourceFilesAbsolutePaths.push(...es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(entryPointsGroupNormalizedSettings.sourceFilesGlobSelectors));
3386
- });
3387
- return this.cachedRelevantEntryPointsSourceFilesAbsolutePaths;
3388
- }
3389
3379
  }
3390
3380
  exports["default"] = GulpStreamBasedSourceCodeProcessingConfigRepresentative;
3391
3381
 
@@ -3456,6 +3446,7 @@ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "
3456
3446
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
3457
3447
  class SourceCodeProcessingConfigRepresentative {
3458
3448
  projectBuildingMasterConfigRepresentative;
3449
+ cachedInitialRelevantEntryPointsSourceFilesAbsolutePaths;
3459
3450
  constructor(projectBuildingMasterConfigRepresentative) {
3460
3451
  this.projectBuildingMasterConfigRepresentative = projectBuildingMasterConfigRepresentative;
3461
3452
  }
@@ -3477,15 +3468,12 @@ class SourceCodeProcessingConfigRepresentative {
3477
3468
  ], { alwaysForwardSlashSeparators: true });
3478
3469
  }
3479
3470
  return Array.from(this.relevantEntryPointsGroupsSettings.values()).
3480
- some((entryPointGroupSettings) => {
3481
- if (entryPointGroupSettings.isSingeEntryPointGroup) {
3482
- return targetFileAbsolutePath === entryPointGroupSettings.sourceFilesGlobSelectors[0];
3483
- }
3484
- return es_extensions_nodejs_1.ImprovedGlob.isFilePathMatchingWithAllGlobSelectors({
3471
+ some((entryPointGroupSettings) => (entryPointGroupSettings.isSingeEntryPointGroup ?
3472
+ targetFileAbsolutePath === entryPointGroupSettings.sourceFilesGlobSelectors[0] :
3473
+ es_extensions_nodejs_1.ImprovedGlob.isFilePathMatchingWithAllGlobSelectors({
3485
3474
  filePath: targetFileAbsolutePath,
3486
3475
  globSelectors: entryPointGroupSettings.sourceFilesGlobSelectors
3487
- });
3488
- });
3476
+ })));
3489
3477
  }
3490
3478
  get actualOutputFilesGlobSelectors() {
3491
3479
  return Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupNormalizedSettings) => es_extensions_nodejs_1.ImprovedGlob.buildAllFilesInCurrentDirectoryAndBelowGlobSelector({
@@ -3494,6 +3482,11 @@ class SourceCodeProcessingConfigRepresentative {
3494
3482
  fileNamesExtensions: this.sourceCodeProcessingCommonSettings.supportedOutputFileNameExtensionsWithoutLeadingDots
3495
3483
  }));
3496
3484
  }
3485
+ get initialRelevantEntryPointsSourceFilesAbsolutePaths() {
3486
+ return this.cachedInitialRelevantEntryPointsSourceFilesAbsolutePaths ?? (this.cachedInitialRelevantEntryPointsSourceFilesAbsolutePaths =
3487
+ Array.from(this.relevantEntryPointsGroupsSettings.values()).
3488
+ flatMap((entryPointsGroupNormalizedSettings) => es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(entryPointsGroupNormalizedSettings.sourceFilesGlobSelectors)));
3489
+ }
3497
3490
  }
3498
3491
  exports["default"] = SourceCodeProcessingConfigRepresentative;
3499
3492
 
@@ -5512,6 +5505,7 @@ const ProjectBuildingConfigFromFileDefaultLocalization = {
5512
5505
  KEY: "logging",
5513
5506
  filesPaths: { KEY: "filesPaths" },
5514
5507
  filesCount: { KEY: "filesCount" },
5508
+ partialFilesAndParentEntryPointsCorrespondence: { KEY: "partialFilesAndParentEntryPointsCorrespondence" },
5515
5509
  filesWatcherEvents: { KEY: "filesWatcherEvents" },
5516
5510
  linting: {
5517
5511
  KEY: "linting",
@@ -6103,6 +6097,8 @@ class ECMA_ScriptLogicProcessingRawSettingsNormalizer extends SourceCodeProcessi
6103
6097
  ECMA_ScriptLogicProcessingSettings__Default_1.default.logging.filesPaths,
6104
6098
  filesCount: ECMA_ScriptLogicProcessingSettings__fromFile__rawValid.logging?.filesCount ??
6105
6099
  ECMA_ScriptLogicProcessingSettings__Default_1.default.logging.filesCount,
6100
+ partialFilesAndParentEntryPointsCorrespondence: ECMA_ScriptLogicProcessingSettings__fromFile__rawValid.logging?.filesWatcherEvents ??
6101
+ ECMA_ScriptLogicProcessingSettings__Default_1.default.logging.partialFilesAndParentEntryPointsCorrespondence,
6106
6102
  filesWatcherEvents: ECMA_ScriptLogicProcessingSettings__fromFile__rawValid.logging?.filesWatcherEvents ??
6107
6103
  ECMA_ScriptLogicProcessingSettings__Default_1.default.logging.filesWatcherEvents,
6108
6104
  linting: {
@@ -6224,7 +6220,7 @@ exports["default"] = ECMA_ScriptLogicProcessingRawSettingsNormalizer;
6224
6220
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6225
6221
  var ECMA_ScriptLogicProcessingRestrictions;
6226
6222
  (function (ECMA_ScriptLogicProcessingRestrictions) {
6227
- ECMA_ScriptLogicProcessingRestrictions.supportedSourceFilesNamesExtensionsWithoutLeadingDots = ["js", "mjs", "jsx", "ts", "tsx"];
6223
+ ECMA_ScriptLogicProcessingRestrictions.supportedSourceFilesNamesExtensionsWithoutLeadingDots = ["js", "mjs", "ts", "tsx", "jsx"];
6228
6224
  ECMA_ScriptLogicProcessingRestrictions.supportedOutputFilesNamesExtensionsWithoutLeadingDots = ["js"];
6229
6225
  let SupportedECMA_ScriptRuntimesTypes;
6230
6226
  (function (SupportedECMA_ScriptRuntimesTypes) {
@@ -6337,6 +6333,7 @@ const ECMA_ScriptLogicProcessingSettings__Default = {
6337
6333
  logging: {
6338
6334
  filesPaths: true,
6339
6335
  filesCount: false,
6336
+ partialFilesAndParentEntryPointsCorrespondence: false,
6340
6337
  filesWatcherEvents: true,
6341
6338
  linting: {
6342
6339
  starting: true,
@@ -6533,6 +6530,11 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6533
6530
  type: Boolean,
6534
6531
  required: false
6535
6532
  },
6533
+ [ECMA_ScriptProcessingPropertiesLocalization.logging.partialFilesAndParentEntryPointsCorrespondence.KEY]: {
6534
+ newName: "partialFilesAndParentEntryPointsCorrespondence",
6535
+ type: Boolean,
6536
+ required: false
6537
+ },
6536
6538
  [ECMA_ScriptProcessingPropertiesLocalization.logging.filesWatcherEvents.KEY]: {
6537
6539
  newName: "filesWatcherEvents",
6538
6540
  type: Boolean,
@@ -6637,13 +6639,14 @@ class ECMA_ScriptLogicProcessor {
6637
6639
  TASK_NAME_FOR_LOGGING = "ECMAScript logic processing";
6638
6640
  masterConfigRepresentative;
6639
6641
  ECMA_ScriptLogicProcessingConfigRepresentative;
6640
- static provideLogicProcessingIfMust(masterConfigRepresentative) {
6641
- if ((0, es_extensions_1.isUndefined)(masterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative)) {
6642
+ static provideLogicProcessingIfMust(projectBuildingMasterConfigRepresentative) {
6643
+ const ecmaScriptLogicProcessingSettingsRepresentative = projectBuildingMasterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative;
6644
+ if ((0, es_extensions_1.isUndefined)(ecmaScriptLogicProcessingSettingsRepresentative)) {
6642
6645
  return (callback) => { callback(); };
6643
6646
  }
6644
- const dataHoldingSelfInstance = new ECMA_ScriptLogicProcessor(masterConfigRepresentative, masterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative);
6647
+ const dataHoldingSelfInstance = new ECMA_ScriptLogicProcessor(ecmaScriptLogicProcessingSettingsRepresentative, projectBuildingMasterConfigRepresentative);
6645
6648
  const webpackConfigurationSets = WebpackConfigGenerator_1.default.
6646
- generateWebpackConfigurationForEachEntryPointsGroup(masterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative, masterConfigRepresentative);
6649
+ generateWebpackConfigurationForEachEntryPointsGroup(ecmaScriptLogicProcessingSettingsRepresentative, projectBuildingMasterConfigRepresentative);
6647
6650
  return (callback) => {
6648
6651
  try {
6649
6652
  /* [ Webpack theory ] Although there is no `null` hardError is type definitions, the `hardError` could be null. */
@@ -6709,9 +6712,9 @@ class ECMA_ScriptLogicProcessor {
6709
6712
  }
6710
6713
  };
6711
6714
  }
6712
- constructor(masterConfigRepresentative, ecmaScriptLogicProcessingConfigRepresentative) {
6713
- this.masterConfigRepresentative = masterConfigRepresentative;
6715
+ constructor(ecmaScriptLogicProcessingConfigRepresentative, masterConfigRepresentative) {
6714
6716
  this.ECMA_ScriptLogicProcessingConfigRepresentative = ecmaScriptLogicProcessingConfigRepresentative;
6717
+ this.masterConfigRepresentative = masterConfigRepresentative;
6715
6718
  }
6716
6719
  }
6717
6720
  exports["default"] = ECMA_ScriptLogicProcessor;
@@ -7465,9 +7468,15 @@ class WebpackConfigGenerator {
7465
7468
  "development" : "production",
7466
7469
  watch: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
7467
7470
  this.masterConfigRepresentative.isLocalDevelopmentBuildingMode,
7471
+ watchOptions: {
7472
+ ignored: ["node_modules"]
7473
+ },
7474
+ /* [ Theory ] Although "cheap-module-source-map" causes both slow first building and slow rebuilding,
7475
+ * faster alternatives including "eval" could cause the errors related with security.
7476
+ * See https://stackoverflow.com/a/49100966. */
7468
7477
  devtool: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
7469
7478
  this.masterConfigRepresentative.isLocalDevelopmentBuildingMode ?
7470
- "eval" : false,
7479
+ "cheap-module-source-map" : false,
7471
7480
  ...entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.nodeJS ? {
7472
7481
  node: {
7473
7482
  __dirname: true,
@@ -7506,12 +7515,21 @@ class WebpackConfigGenerator {
7506
7515
  oneOf: [
7507
7516
  {
7508
7517
  resourceQuery: /^\?vue/u,
7509
- use: ["pug-plain-loader"]
7518
+ loader: "@webdiscus/pug-loader",
7519
+ options: { mode: "html" }
7510
7520
  },
7511
7521
  {
7522
+ test: /\.renderer\.pug$/u,
7512
7523
  loader: "@webdiscus/pug-loader",
7513
- /* [ Third-party API ] The "render" method compiles the file content and allow to import it as HTML string. */
7514
- options: { method: "render" }
7524
+ options: { mode: "compile" }
7525
+ },
7526
+ {
7527
+ test: /\.ydfr\.pug$/u,
7528
+ loader: "pug3-ast-loader"
7529
+ },
7530
+ {
7531
+ loader: "@webdiscus/pug-loader",
7532
+ options: { mode: "render" }
7515
7533
  }
7516
7534
  ]
7517
7535
  },
@@ -8331,6 +8349,7 @@ const ResourcesReferencesResolverForHTML_1 = __importDefault(__webpack_require__
8331
8349
  const AccessibilityInspector_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/AccessibilityInspector/AccessibilityInspector */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AccessibilityInspector/AccessibilityInspector.ts"));
8332
8350
  const ImagesAspectRatioAffixer_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ImagesAspectRatioAffixer */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ImagesAspectRatioAffixer.ts"));
8333
8351
  const SpacesNormalizerForCJK_Text_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/SpacesNormalizerForCJK_Text */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/SpacesNormalizerForCJK_Text.ts"));
8352
+ const CodeListingPugFilter_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/PugFilters/CodeListingPugFilter */ "./ProjectBuilding/SourceCodeProcessing/Markup/PugFilters/CodeListingPugFilter.ts"));
8334
8353
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
8335
8354
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
8336
8355
  const node_html_parser_1 = __webpack_require__(/*! node-html-parser */ "node-html-parser");
@@ -8378,13 +8397,12 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
8378
8397
  }
8379
8398
  if (projectBuildingMasterConfigRepresentative.mustProvideIncrementalBuilding) {
8380
8399
  dataHoldingSelfInstance.sourceCodeSelectiveReprocessingHelper = new SourceCodeSelectiveReprocessingHelper_1.default({
8381
- entryPointsSourceFilesAbsolutePaths: markupProcessingSettingsRepresentative.relevantEntryPointsSourceFilesAbsolutePaths,
8400
+ initialEntryPointsSourceFilesAbsolutePaths: markupProcessingSettingsRepresentative.
8401
+ initialRelevantEntryPointsSourceFilesAbsolutePaths,
8382
8402
  affiliatedFilesResolutionRules: {
8383
- supportedAffiliatedFilesNamesExtensionsWithoutLeadingDots: PugPreProcessorSpecialist_1.default.
8384
- supportedEntryPointsFileNamesExtensionsWithoutLeadingDots,
8385
8403
  affiliatedFilesIncludingDeclarationsPatterns: PugPreProcessorSpecialist_1.default.partialFilesIncludingDeclarationPatterns,
8386
- implicitAffiliatedFilesNamesExtensionsWithoutLeadingDots: PugPreProcessorSpecialist_1.default.
8387
- implicitFileNamesExtensionsWithoutPrependedDotsOfPartials
8404
+ implicitFilesNamesExtensionsWithoutLeadingDotsOfAffiliatedFiles: PugPreProcessorSpecialist_1.default.
8405
+ implicitFilesNamesExtensionsWithoutLeadingDotsOfPartials
8388
8406
  },
8389
8407
  isEntryPoint: markupProcessingSettingsRepresentative.isEntryPoint.bind(markupProcessingSettingsRepresentative),
8390
8408
  logging: {
@@ -8416,7 +8434,7 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
8416
8434
  handler: MarkupProcessor.onEntryPointFileDeleted
8417
8435
  });
8418
8436
  }
8419
- return dataHoldingSelfInstance.processEntryPoints(markupProcessingSettingsRepresentative.relevantEntryPointsSourceFilesAbsolutePaths);
8437
+ return dataHoldingSelfInstance.processEntryPoints(markupProcessingSettingsRepresentative.initialRelevantEntryPointsSourceFilesAbsolutePaths);
8420
8438
  }
8421
8439
  constructor(markupProcessingSettingsRepresentative, projectBuildingMasterConfigRepresentative) {
8422
8440
  super({
@@ -8475,7 +8493,8 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
8475
8493
  __IS_PRODUCTION_BUILDING_MODE__: this.projectBuildingMasterConfigRepresentative.isProductionBuildingMode
8476
8494
  },
8477
8495
  filters: {
8478
- html_special_characters_to_html_entities: MarkupProcessor.escapeHTML_Entities
8496
+ html_special_characters_to_html_entities: MarkupProcessor.convertApplicableCharactersToHTML_Entities,
8497
+ "code_listing--yda": CodeListingPugFilter_1.default.apply
8479
8498
  }
8480
8499
  })).
8481
8500
  pipe((0, gulp_if_1.default)((markupFile) => markupFile instanceof MarkupEntryPointVinylFile_1.default &&
@@ -8574,7 +8593,7 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
8574
8593
  }
8575
8594
  /* [ Theory ] The ampersand must be escaped first, otherwise the ampersand from which HTML other entities begins
8576
8595
  * will be escaped too. */
8577
- static escapeHTML_Entities(pugCode) {
8596
+ static convertApplicableCharactersToHTML_Entities(pugCode) {
8578
8597
  return pugCode.
8579
8598
  replace(/&/gu, "&").
8580
8599
  replace(/</gu, "&lt;").
@@ -8704,7 +8723,7 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
8704
8723
  }
8705
8724
  /* ━━━ Helpers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8706
8725
  initializeSourceAndOutputFilesAbsolutePathsCorrespondenceMap() {
8707
- for (const markupSourceFileAbsolutePath of es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(this.markupProcessingSettingsRepresentative.relevantEntryPointsSourceFilesAbsolutePaths, { alwaysForwardSlashSeparators: true })) {
8726
+ for (const markupSourceFileAbsolutePath of es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(this.markupProcessingSettingsRepresentative.initialRelevantEntryPointsSourceFilesAbsolutePaths, { alwaysForwardSlashSeparators: true })) {
8708
8727
  const markupEntryPointsGroupSettingsActualForCurrentFile = this.markupProcessingSettingsRepresentative.
8709
8728
  getExpectedToExistEntryPointsGroupSettingsRelevantForSpecifiedSourceFileAbsolutePath(markupSourceFileAbsolutePath);
8710
8729
  const outputFileNameWithLastExtensionWithLeadingDot = this.markupProcessingSettingsRepresentative.
@@ -9419,7 +9438,7 @@ class AccessibilityInspector {
9419
9438
  }
9420
9439
  return null;
9421
9440
  }),
9422
- puppeteer_1.default.launch({ headless: "new" })
9441
+ puppeteer_1.default.launch()
9423
9442
  ]);
9424
9443
  return {
9425
9444
  ...(0, es_extensions_1.isNotNull)(cachedInspectionsResults) ? { cachedInspectionsResults } : null,
@@ -10245,8 +10264,8 @@ class ImagesAspectRatioAffixer {
10245
10264
  mustOutputIf: true,
10246
10265
  errorType: es_extensions_1.UnexpectedEventError.NAME,
10247
10266
  title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
10248
- description: `No image with path "${imageRawPath}" specified in output HTML code has been found.` +
10249
- "In must be investigated.",
10267
+ description: `No image with path "${imageRawPath}" specified in output HTML code has been found. ` +
10268
+ "It must be investigated.",
10250
10269
  occurrenceLocation: "ImagesAspectRatioAffixer.affix(compoundParameter)",
10251
10270
  caughtError: error
10252
10271
  });
@@ -10414,8 +10433,8 @@ class ResourcesReferencesResolverForHTML {
10414
10433
  resolveStylesheetsAliasedPaths().
10415
10434
  resolveScriptsPathsAliases().
10416
10435
  resolveImagesAliasedPaths().
10417
- resolveVideosPathsAliases().
10418
- resolveAudiosPathsAliases().
10436
+ resolveVideosAliasedPaths().
10437
+ resolveAudiosAliasedPaths().
10419
10438
  rootHTML_Element;
10420
10439
  }
10421
10440
  constructor({ rootHTML_Element, projectBuildingMasterConfigRepresentative, markupProcessingSettingsRepresentative, absolutePathOfOutputDirectoryForTargetHTML_File }) {
@@ -10773,7 +10792,7 @@ class ResourcesReferencesResolverForHTML {
10773
10792
  ResourcesReferencesResolverForHTML.
10774
10793
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
10775
10794
  set(targetHTML_ElementAttributeValue, resolvedAbsolutePath);
10776
- targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, targetHTML_ElementAttributeValue);
10795
+ targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
10777
10796
  return;
10778
10797
  }
10779
10798
  const imagesProcessingSettingsRepresentative = this.projectBuildingMasterConfigRepresentative.imagesProcessingSettingsRepresentative;
@@ -10798,7 +10817,7 @@ class ResourcesReferencesResolverForHTML {
10798
10817
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
10799
10818
  }
10800
10819
  /* ─── Videos ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10801
- resolveVideosPathsAliases() {
10820
+ resolveVideosAliasedPaths() {
10802
10821
  const videosProcessingSettingsRepresentative = this.projectBuildingMasterConfigRepresentative.videosProcessingSettingsRepresentative;
10803
10822
  if ((0, es_extensions_1.isUndefined)(this.plainCopyingSettingsRepresentative) && (0, es_extensions_1.isUndefined)(videosProcessingSettingsRepresentative)) {
10804
10823
  return this;
@@ -10857,7 +10876,7 @@ class ResourcesReferencesResolverForHTML {
10857
10876
  return this;
10858
10877
  }
10859
10878
  /* ─── Audios ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10860
- resolveAudiosPathsAliases() {
10879
+ resolveAudiosAliasedPaths() {
10861
10880
  const audiosProcessingSettingsRepresentative = this.projectBuildingMasterConfigRepresentative.audiosProcessingSettingsRepresentative;
10862
10881
  if ((0, es_extensions_1.isUndefined)(this.plainCopyingSettingsRepresentative) && (0, es_extensions_1.isUndefined)(audiosProcessingSettingsRepresentative)) {
10863
10882
  return this;
@@ -11032,6 +11051,76 @@ class SpacesNormalizerForCJK_Text {
11032
11051
  exports["default"] = SpacesNormalizerForCJK_Text;
11033
11052
 
11034
11053
 
11054
+ /***/ }),
11055
+
11056
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/PugFilters/CodeListingPugFilter.ts":
11057
+ /*!****************************************************************************************!*\
11058
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/PugFilters/CodeListingPugFilter.ts ***!
11059
+ \****************************************************************************************/
11060
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
11061
+
11062
+
11063
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
11064
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
11065
+ class CodeListingPugFilter {
11066
+ static optionsSpecification = {
11067
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
11068
+ nameForLogging: "CodeListingPugFilerOptions",
11069
+ properties: {
11070
+ mustAppendEmptyLine: {
11071
+ type: Boolean,
11072
+ defaultValue: false
11073
+ },
11074
+ indentationMultiplier: {
11075
+ preValidationModifications: es_extensions_1.convertPotentialStringToIntegerIfPossible,
11076
+ type: Number,
11077
+ required: false,
11078
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
11079
+ },
11080
+ indentationString: {
11081
+ type: String,
11082
+ requiredIf: {
11083
+ predicate: (rawOptions) => (0, es_extensions_1.isNotUndefined)(rawOptions.indentationMultiplier),
11084
+ descriptionForLogging: "\"indentationMultiplier\" has been specified"
11085
+ },
11086
+ minimalCharactersCount: 1
11087
+ }
11088
+ }
11089
+ };
11090
+ static apply(sourcePugCode, rawOptions) {
11091
+ const rawOptionsProcessingResult = es_extensions_1.RawObjectDataProcessor.process(rawOptions, CodeListingPugFilter.optionsSpecification);
11092
+ if (rawOptionsProcessingResult.rawDataIsInvalid) {
11093
+ es_extensions_1.Logger.throwErrorAndLog({
11094
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
11095
+ customMessage: "One or more invalid options found for \"CodeListing\" pug filer.\n" +
11096
+ es_extensions_1.RawObjectDataProcessor.formatValidationErrorsList(rawOptionsProcessingResult.validationErrorsMessages)
11097
+ }),
11098
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
11099
+ occurrenceLocation: "CodeListingPugFilter.apply(sourcePugCode, rawOptions)"
11100
+ });
11101
+ }
11102
+ const { mustAppendEmptyLine, indentationString, indentationMultiplier } = rawOptionsProcessingResult.processedData;
11103
+ const lineSeparator = (0, es_extensions_1.getLineSeparatorType)(sourcePugCode);
11104
+ let outputCodeWorkpiece = sourcePugCode;
11105
+ if ((0, es_extensions_1.isNotUndefined)(indentationString) && (0, es_extensions_1.isNotUndefined)(indentationMultiplier)) {
11106
+ outputCodeWorkpiece = (0, es_extensions_1.explodeStringToLines)({ targetString: outputCodeWorkpiece, mustIgnoreCarriageReturn: true }).
11107
+ map((sourceCodeLine) => `${indentationString.repeat(indentationMultiplier - 1)}${sourceCodeLine}`).
11108
+ join(lineSeparator);
11109
+ }
11110
+ return [
11111
+ ...mustAppendEmptyLine ? [lineSeparator] : [],
11112
+ outputCodeWorkpiece.
11113
+ replace(/&(?!#?[a-z0-9]+;)/gu, "&amp;").
11114
+ replace(/</gu, "&lt;").
11115
+ replace(/>/gu, "&gt;").
11116
+ replace(/"/gu, "&quot;").
11117
+ replace(/'/gu, "&apos;")
11118
+ ].join("");
11119
+ }
11120
+ }
11121
+ exports["default"] = CodeListingPugFilter;
11122
+
11123
+
11035
11124
  /***/ }),
11036
11125
 
11037
11126
  /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/RawSettingsNormalizer/MarkupProcessingRawSettingsNormalizer.ts":
@@ -12376,13 +12465,12 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
12376
12465
  const dataHoldingSelfInstance = new StylesProcessor(stylesProcessingSettingsRepresentative, projectBuildingMasterConfigRepresentative);
12377
12466
  if (projectBuildingMasterConfigRepresentative.mustProvideIncrementalBuilding) {
12378
12467
  dataHoldingSelfInstance.sourceCodeSelectiveReprocessingHelper = new SourceCodeSelectiveReprocessingHelper_1.default({
12379
- entryPointsSourceFilesAbsolutePaths: stylesProcessingSettingsRepresentative.relevantEntryPointsSourceFilesAbsolutePaths,
12468
+ initialEntryPointsSourceFilesAbsolutePaths: stylesProcessingSettingsRepresentative.
12469
+ initialRelevantEntryPointsSourceFilesAbsolutePaths,
12380
12470
  affiliatedFilesResolutionRules: {
12381
- supportedAffiliatedFilesNamesExtensionsWithoutLeadingDots: StylusPreProcessorSpecialist_1.default.
12382
- supportedEntryPointsFileNamesExtensionsWithoutLeadingDots,
12383
12471
  affiliatedFilesIncludingDeclarationsPatterns: StylusPreProcessorSpecialist_1.default.partialFilesIncludingDeclarationPatterns,
12384
- implicitAffiliatedFilesNamesExtensionsWithoutLeadingDots: StylusPreProcessorSpecialist_1.default.
12385
- implicitFileNamesExtensionsWithoutPrependedDotsOfPartials
12472
+ implicitFilesNamesExtensionsWithoutLeadingDotsOfAffiliatedFiles: StylusPreProcessorSpecialist_1.default.
12473
+ implicitFilesNamesExtensionsWithoutLeadingDotsOfPartials
12386
12474
  },
12387
12475
  isEntryPoint: stylesProcessingSettingsRepresentative.isEntryPoint.bind(stylesProcessingSettingsRepresentative),
12388
12476
  logging: {
@@ -12414,7 +12502,7 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
12414
12502
  handler: StylesProcessor.onEntryPointFileDeleted
12415
12503
  });
12416
12504
  }
12417
- return dataHoldingSelfInstance.processEntryPoints(stylesProcessingSettingsRepresentative.relevantEntryPointsSourceFilesAbsolutePaths);
12505
+ return dataHoldingSelfInstance.processEntryPoints(stylesProcessingSettingsRepresentative.initialRelevantEntryPointsSourceFilesAbsolutePaths);
12418
12506
  }
12419
12507
  constructor(stylesProcessingSettingsRepresentative, projectBuildingMasterConfigRepresentative) {
12420
12508
  super({
@@ -12703,14 +12791,13 @@ exports["default"] = ESLintLinterSpecialist;
12703
12791
  Object.defineProperty(exports, "__esModule", ({ value: true }));
12704
12792
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
12705
12793
  class PugPreProcessorSpecialist {
12706
- static supportedEntryPointsFileNamesExtensionsWithoutLeadingDots = ["pug"];
12707
12794
  /* [ Fiddle ] https://regex101.com/r/uqO9CT/4 */
12708
12795
  static partialFilesIncludingDeclarationPatterns = [
12709
12796
  /* eslint-disable-next-line prefer-named-capture-group --
12710
12797
  * No simple way to know the capturing group name outside of this file. */
12711
12798
  /^ *(?:include|extends) +((?:\w|-|\.|\/)+) *$/gmu
12712
12799
  ];
12713
- static implicitFileNamesExtensionsWithoutPrependedDotsOfPartials = ["pug"];
12800
+ static implicitFilesNamesExtensionsWithoutLeadingDotsOfPartials = ["pug"];
12714
12801
  static linterConfigurationFilesNamesWithExtensions = [
12715
12802
  ".pug-lintrc", ".pug-lintrc.js", ".pug-lintrc.json", "package.json"
12716
12803
  ];
@@ -12794,14 +12881,13 @@ exports["default"] = StlintLinterSpecialist;
12794
12881
 
12795
12882
  Object.defineProperty(exports, "__esModule", ({ value: true }));
12796
12883
  class StylusPreProcessorSpecialist {
12797
- static supportedEntryPointsFileNamesExtensionsWithoutLeadingDots = ["styl", "stylus"];
12798
12884
  /* [ Fiddle ] https://regex101.com/r/KDM184/3 */
12799
12885
  static partialFilesIncludingDeclarationPatterns = [
12800
12886
  /* eslint-disable-next-line prefer-named-capture-group --
12801
12887
  * No simple way to know the capturing group name outside of this file. */
12802
12888
  /^ *@(?:import|require) +['"]((?:\w|-|\.|\/)+?)['"] *;? *$/gmu
12803
12889
  ];
12804
- static implicitFileNamesExtensionsWithoutPrependedDotsOfPartials = ["styl", "stylus", "css"];
12890
+ static implicitFilesNamesExtensionsWithoutLeadingDotsOfPartials = ["styl", "stylus", "css"];
12805
12891
  }
12806
12892
  exports["default"] = StylusPreProcessorSpecialist;
12807
12893
 
@@ -13385,39 +13471,37 @@ class SourceCodeSelectiveReprocessingHelper {
13385
13471
  }
13386
13472
  }
13387
13473
  };
13388
- entryPointsAbsolutePaths;
13389
13474
  entryPointsMetadata = new Map();
13390
13475
  isEntryPoint;
13391
13476
  affiliatedFilesMetadata = new Map();
13392
13477
  affiliatedFilesResolutionRules;
13478
+ absolutePathsOfAffiliatedFilesWhichHasBeenScannedDuringCurrentPass = new Set();
13393
13479
  CONSUMING_PROJECT_ROOT_DIRECTORY_ABSOLUTE_PATH;
13394
13480
  CACHED_METADATA_FILE_ABSOLUTE_PATH;
13395
- absolutePathsOfAffiliatedFilesWhichHasBeenScannedDuringCurrentPass = new Set();
13396
13481
  TARGET_FILES_TYPE_IN_SINGULAR_FORM;
13397
13482
  constructor(initializationProperties) {
13398
- this.entryPointsAbsolutePaths = new Set(initializationProperties.entryPointsSourceFilesAbsolutePaths.map((entryPointFileAbsolutePath__potentiallyWithOperationingSystemDependentPathSeparators) => es_extensions_nodejs_1.ImprovedPath.replacePathSeparatorsToForwardSlashes(entryPointFileAbsolutePath__potentiallyWithOperationingSystemDependentPathSeparators)));
13399
13483
  this.isEntryPoint = initializationProperties.isEntryPoint;
13400
13484
  this.affiliatedFilesResolutionRules = initializationProperties.affiliatedFilesResolutionRules;
13401
13485
  this.CONSUMING_PROJECT_ROOT_DIRECTORY_ABSOLUTE_PATH = initializationProperties.consumingProjectRootDirectoryAbsolutePath;
13402
13486
  this.CACHED_METADATA_FILE_ABSOLUTE_PATH = initializationProperties.cacheFileAbsolutePath;
13403
13487
  this.TARGET_FILES_TYPE_IN_SINGULAR_FORM = initializationProperties.logging.targetFilesTypeInSingularForm;
13404
- this.generateInitialMetadataMaps();
13488
+ this.generateInitialMetadataMaps(new Set(initializationProperties.initialEntryPointsSourceFilesAbsolutePaths.map((entryPointFileAbsolutePath__potentiallyWithOperationingSystemDependentPathSeparators) => es_extensions_nodejs_1.ImprovedPath.replacePathSeparatorsToForwardSlashes(entryPointFileAbsolutePath__potentiallyWithOperationingSystemDependentPathSeparators))));
13405
13489
  if (initializationProperties.logging.mustEnable) {
13406
13490
  this.logAffiliatedFilesAndEntryPointsRelationships();
13407
13491
  }
13408
13492
  this.cacheFilesMetadataMapsToFile();
13409
13493
  }
13410
- getAbsolutePathsOfEntryPointsWhichMustBeProcessed(changedFilesAbsolutePaths) {
13494
+ getAbsolutePathsOfEntryPointsWhichMustBeProcessed(absolutePathsOfFilesWithChangesStatus) {
13411
13495
  const absolutePathsOfEntryPointsWhichMustBeProcessed = new Set();
13412
- for (const changedFileAbsolutePath of changedFilesAbsolutePaths) {
13413
- if (this.isEntryPoint(changedFileAbsolutePath)) {
13414
- if (fs_1.default.existsSync(changedFileAbsolutePath)) {
13415
- absolutePathsOfEntryPointsWhichMustBeProcessed.add(changedFileAbsolutePath);
13496
+ for (const absolutePathOfFileWithChangesStatus of absolutePathsOfFilesWithChangesStatus) {
13497
+ if (this.isEntryPoint(absolutePathOfFileWithChangesStatus)) {
13498
+ if (fs_1.default.existsSync(absolutePathOfFileWithChangesStatus)) {
13499
+ absolutePathsOfEntryPointsWhichMustBeProcessed.add(absolutePathOfFileWithChangesStatus);
13416
13500
  }
13417
13501
  else {
13418
13502
  this.entryPointsMetadata.delete(es_extensions_nodejs_1.ImprovedPath.computeRelativePath({
13419
13503
  basePath: this.CONSUMING_PROJECT_ROOT_DIRECTORY_ABSOLUTE_PATH,
13420
- comparedPath: changedFileAbsolutePath,
13504
+ comparedPath: absolutePathOfFileWithChangesStatus,
13421
13505
  alwaysForwardSlashSeparators: true
13422
13506
  }));
13423
13507
  }
@@ -13425,10 +13509,10 @@ class SourceCodeSelectiveReprocessingHelper {
13425
13509
  else {
13426
13510
  const targetAffiliatedFileRelativePath = es_extensions_nodejs_1.ImprovedPath.computeRelativePath({
13427
13511
  basePath: this.CONSUMING_PROJECT_ROOT_DIRECTORY_ABSOLUTE_PATH,
13428
- comparedPath: changedFileAbsolutePath,
13512
+ comparedPath: absolutePathOfFileWithChangesStatus,
13429
13513
  alwaysForwardSlashSeparators: true
13430
13514
  });
13431
- if (fs_1.default.existsSync(changedFileAbsolutePath)) {
13515
+ if (fs_1.default.existsSync(absolutePathOfFileWithChangesStatus)) {
13432
13516
  (0, es_extensions_1.addMultipleElementsToSet)(absolutePathsOfEntryPointsWhichMustBeProcessed, Array.from(this.affiliatedFilesMetadata.get(targetAffiliatedFileRelativePath)?.parentEntryPointsAbsolutePaths ?? []));
13433
13517
  }
13434
13518
  else {
@@ -13438,11 +13522,11 @@ class SourceCodeSelectiveReprocessingHelper {
13438
13522
  }
13439
13523
  return Array.from(absolutePathsOfEntryPointsWhichMustBeProcessed);
13440
13524
  }
13441
- /* === First mapping since last YDA launch ======================================================================== */
13525
+ /* ━━━ First Mapping Since Last YDA Launch ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
13442
13526
  /* [ Theory ] The cached metadata from previous YDA launches could be. */
13443
- generateInitialMetadataMaps() {
13444
- this.extractCacheFromFileIfItExists();
13445
- for (const entryPointFileAbsolutePath of this.entryPointsAbsolutePaths) {
13527
+ generateInitialMetadataMaps(initialEntryPointsAbsolutePaths) {
13528
+ this.extractCacheFromFileAndApplyIfItExists();
13529
+ for (const entryPointFileAbsolutePath of initialEntryPointsAbsolutePaths) {
13446
13530
  const entryPointDirectoryAbsolutePath = es_extensions_nodejs_1.ImprovedPath.extractDirectoryFromFilePath({
13447
13531
  targetPath: entryPointFileAbsolutePath,
13448
13532
  alwaysForwardSlashSeparators: true,
@@ -13467,10 +13551,11 @@ class SourceCodeSelectiveReprocessingHelper {
13467
13551
  continue;
13468
13552
  }
13469
13553
  es_extensions_1.Logger.logError({
13554
+ mustOutputIf: true || 0,
13470
13555
  errorType: "FileStatisticsRetrievingFailedError",
13471
- title: "File statistics retrieving failed error",
13472
- description: "Unable to retrieve the statistics of file " +
13473
- `"${entryPointFilePathRelativeToConsumingProjectRootDirectory}". This file will not be mapped.`,
13556
+ title: "File Statistics Retrieving Failed Error",
13557
+ description: `Unable to retrieve the statistics of file "${entryPointFilePathRelativeToConsumingProjectRootDirectory}". ` +
13558
+ "This file will not be mapped.",
13474
13559
  occurrenceLocation: "sourceCodeSelectiveReprocessingHelper.generateInitialMetadataMaps()",
13475
13560
  caughtError: error
13476
13561
  });
@@ -13478,8 +13563,7 @@ class SourceCodeSelectiveReprocessingHelper {
13478
13563
  }
13479
13564
  const cachedMetadataOfCurrentEntryPoint = this.entryPointsMetadata.get(entryPointFilePathRelativeToConsumingProjectRootDirectory);
13480
13565
  let absolutePathsOfDirectExistingAffiliatedFilesOfCurrentEntryPoint;
13481
- if ((0, es_extensions_1.isNotUndefined)(cachedMetadataOfCurrentEntryPoint) &&
13482
- cachedMetadataOfCurrentEntryPoint.modificationDate__ISO8601 === entryPointModificationDateTime__ISO8601) {
13566
+ if (cachedMetadataOfCurrentEntryPoint?.modificationDate__ISO8601 === entryPointModificationDateTime__ISO8601) {
13483
13567
  /* [ Theory ] Although the entry point file is existing and has not changed since last mapping, its affiliated
13484
13568
  * files could be added or deleted. */
13485
13569
  absolutePathsOfDirectExistingAffiliatedFilesOfCurrentEntryPoint = new Set();
@@ -13512,7 +13596,7 @@ class SourceCodeSelectiveReprocessingHelper {
13512
13596
  badge: { customText: "Debug" },
13513
13597
  title: "SourceCodeSelectiveReprocessingHelper, entry point has been analyzed.",
13514
13598
  description: `The metadata of entry point "${entryPointFilePathRelativeToConsumingProjectRootDirectory}" ` +
13515
- `has been updated and now it is:\n${(0, es_extensions_1.stringifyAndFormatArbitraryValue)(this.entryPointsMetadata)}\n`
13599
+ `has been is:\n${(0, es_extensions_1.stringifyAndFormatArbitraryValue)(this.entryPointsMetadata)}\n`
13516
13600
  });
13517
13601
  for (const absolutePathOfDirectExistingAffiliatedFileOfCurrentEntryPoint of absolutePathsOfDirectExistingAffiliatedFilesOfCurrentEntryPoint) {
13518
13602
  this.updateMetadataMapForExistingAffiliatedFile({
@@ -13525,7 +13609,7 @@ class SourceCodeSelectiveReprocessingHelper {
13525
13609
  }
13526
13610
  this.absolutePathsOfAffiliatedFilesWhichHasBeenScannedDuringCurrentPass.clear();
13527
13611
  }
13528
- extractCacheFromFileIfItExists() {
13612
+ extractCacheFromFileAndApplyIfItExists() {
13529
13613
  let cachedRawMetadata;
13530
13614
  try {
13531
13615
  cachedRawMetadata = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
@@ -13535,12 +13619,13 @@ class SourceCodeSelectiveReprocessingHelper {
13535
13619
  });
13536
13620
  }
13537
13621
  catch (error) {
13538
- if (!(error instanceof es_extensions_nodejs_1.FileNotFoundError) && true) {
13622
+ if (!(error instanceof es_extensions_nodejs_1.FileNotFoundError)) {
13539
13623
  es_extensions_1.Logger.logError({
13624
+ mustOutputIf: true || 0,
13540
13625
  errorType: "CachedDataRetrievingFailure",
13541
- title: "Cached data retrieving failure",
13626
+ title: "Cached Data Retrieving Failure",
13542
13627
  description: `Unable to read the existing cache file "${this.CACHED_METADATA_FILE_ABSOLUTE_PATH}".`,
13543
- occurrenceLocation: "sourceCodeSelectiveReprocessingHelper.extractCacheFromFileIfItExists()",
13628
+ occurrenceLocation: "sourceCodeSelectiveReprocessingHelper.extractCacheFromFileAndApplyIfItExists()",
13544
13629
  caughtError: error
13545
13630
  });
13546
13631
  }
@@ -13567,38 +13652,38 @@ class SourceCodeSelectiveReprocessingHelper {
13567
13652
  fileContent = fs_1.default.readFileSync(targetFileAbsolutePath, "utf-8");
13568
13653
  }
13569
13654
  catch (error) {
13570
- if ((0, es_extensions_nodejs_1.isErrnoException)(error) && error.code === "ENOENT" && true) {
13655
+ if ((0, es_extensions_nodejs_1.isErrnoException)(error) && error.code === "ENOENT") {
13571
13656
  es_extensions_1.Logger.logError({
13657
+ mustOutputIf: true || 0,
13572
13658
  errorType: es_extensions_1.UnexpectedEventError.NAME,
13573
13659
  title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
13574
13660
  description: `The existence of the file "${targetFileAbsolutePath}" has been confirmed one moment ago ` +
13575
13661
  "but suddenly disappeared during reading. Skipping this file.",
13576
13662
  occurrenceLocation: "sourceCodeSelectiveReprocessingHelper." +
13577
- "getAbsolutePathsOfExistingAffiliatedFilesOfExistingUpdatedTargetOne(compoundObject)",
13663
+ "getAbsolutePathsOfExistingAffiliatedFilesOfExistingUpdatedTargetOne(compoundParameter)",
13578
13664
  caughtError: error
13579
13665
  });
13580
13666
  return absolutePathsOfExistingAffiliatedFilesOfTargetOne;
13581
13667
  }
13582
- if (true) {
13583
- es_extensions_1.Logger.logError({
13584
- errorType: es_extensions_1.FileReadingFailedError.NAME,
13585
- title: es_extensions_1.FileReadingFailedError.localization.defaultTitle,
13586
- description: es_extensions_1.FileReadingFailedError.localization.generateDescription({ filePath: targetFileAbsolutePath }),
13587
- occurrenceLocation: "sourceCodeSelectiveReprocessingHelper." +
13588
- "getAbsolutePathsOfExistingAffiliatedFilesOfExistingUpdatedTargetOne(compoundObject)",
13589
- caughtError: error
13590
- });
13591
- }
13668
+ es_extensions_1.Logger.logError({
13669
+ mustOutputIf: true || 0,
13670
+ errorType: es_extensions_1.FileReadingFailedError.NAME,
13671
+ title: es_extensions_1.FileReadingFailedError.localization.defaultTitle,
13672
+ description: es_extensions_1.FileReadingFailedError.localization.generateDescription({ filePath: targetFileAbsolutePath }),
13673
+ occurrenceLocation: "sourceCodeSelectiveReprocessingHelper." +
13674
+ "getAbsolutePathsOfExistingAffiliatedFilesOfExistingUpdatedTargetOne(compoundParameter)",
13675
+ caughtError: error
13676
+ });
13592
13677
  return absolutePathsOfExistingAffiliatedFilesOfTargetOne;
13593
13678
  }
13594
13679
  for (const fileIncludingDeclarationPattern of this.affiliatedFilesResolutionRules.affiliatedFilesIncludingDeclarationsPatterns) {
13595
- /* [ Theory ] Same file could be included for the multiple times. Occasionally it is even meaningful,
13596
- * but we are not need the duplicated here. */
13680
+ /* [ Theory ] Same file could be included for the multiple times.
13681
+ * Occasionally it is even meaningful, but we are not need the duplicated here. */
13597
13682
  const affiliatedFilesRawPaths = new Set(Array.from(fileContent.matchAll(fileIncludingDeclarationPattern)).
13598
13683
  map((regularExpressionMatchingData) => regularExpressionMatchingData[1]).
13599
13684
  filter((affiliatedFileRawPath) => (0, es_extensions_1.isNonEmptyString)(affiliatedFileRawPath)));
13600
13685
  for (const affiliatedFileRawPath of affiliatedFilesRawPaths) {
13601
- const affiliatedFileNormalizedPath = this.computedAbsolutePathOfAffiliatedFileIfItExists({
13686
+ const affiliatedFileNormalizedPath = this.computeAbsolutePathOfAffiliatedFileIfItExists({
13602
13687
  affiliatedFileRawPath,
13603
13688
  parentFileDirectoryAbsolutePath: targetFileDirectoryAbsolutePath
13604
13689
  });
@@ -13711,16 +13796,17 @@ class SourceCodeSelectiveReprocessingHelper {
13711
13796
  });
13712
13797
  }
13713
13798
  }
13714
- computedAbsolutePathOfAffiliatedFileIfItExists({ affiliatedFileRawPath, parentFileDirectoryAbsolutePath }) {
13799
+ computeAbsolutePathOfAffiliatedFileIfItExists({ affiliatedFileRawPath, parentFileDirectoryAbsolutePath }) {
13715
13800
  const possibleAbsolutePathsOfTargetAffiliatedFile = new Set();
13716
13801
  const explicitlySpecifiedLastFileNameExtensionInAffiliatedFileRawPath = (0, es_extensions_1.extractLastExtensionOfFileName)({ targetPath: affiliatedFileRawPath, withLeadingDot: false });
13717
- /* [ Approach ] The second condition is aimed for the processing of paths with multiple files names extensions.
13802
+ /* [ Approach ]
13803
+ * The second condition is aimed to the processing of paths with multiple files names extensions.
13718
13804
  * For example, in the Pug preprocessor case, the file "ProductCard.static.pug" could be referred as
13719
- * `include ../ProductCard.static`. */
13805
+ * `include ProductCard.static`. */
13720
13806
  if ((0, es_extensions_1.isNull)(explicitlySpecifiedLastFileNameExtensionInAffiliatedFileRawPath) ||
13721
- !this.affiliatedFilesResolutionRules.supportedAffiliatedFilesNamesExtensionsWithoutLeadingDots.
13807
+ !this.affiliatedFilesResolutionRules.implicitFilesNamesExtensionsWithoutLeadingDotsOfAffiliatedFiles.
13722
13808
  includes(explicitlySpecifiedLastFileNameExtensionInAffiliatedFileRawPath)) {
13723
- (0, es_extensions_1.addMultipleElementsToSet)(possibleAbsolutePathsOfTargetAffiliatedFile, (this.affiliatedFilesResolutionRules.implicitAffiliatedFilesNamesExtensionsWithoutLeadingDots ?? []).map((affiliatedFileNameImplicitExtension) => es_extensions_nodejs_1.ImprovedPath.joinPathSegments([parentFileDirectoryAbsolutePath, `${affiliatedFileRawPath}.${affiliatedFileNameImplicitExtension}`], { alwaysForwardSlashSeparators: true })));
13809
+ (0, es_extensions_1.addMultipleElementsToSet)(possibleAbsolutePathsOfTargetAffiliatedFile, this.affiliatedFilesResolutionRules.implicitFilesNamesExtensionsWithoutLeadingDotsOfAffiliatedFiles.map((affiliatedFileNameImplicitExtension) => es_extensions_nodejs_1.ImprovedPath.joinPathSegments([parentFileDirectoryAbsolutePath, `${affiliatedFileRawPath}.${affiliatedFileNameImplicitExtension}`], { alwaysForwardSlashSeparators: true })));
13724
13810
  }
13725
13811
  else {
13726
13812
  possibleAbsolutePathsOfTargetAffiliatedFile.add(es_extensions_nodejs_1.ImprovedPath.joinPathSegments([parentFileDirectoryAbsolutePath, affiliatedFileRawPath], { alwaysForwardSlashSeparators: true }));
@@ -13739,7 +13825,7 @@ class SourceCodeSelectiveReprocessingHelper {
13739
13825
  description: `The error occurred during the checking of the file ${possibleAbsolutePathOfTargetAffiliatedFile}` +
13740
13826
  "for existence.",
13741
13827
  occurrenceLocation: "sourceCodeSelectiveReprocessingHelper." +
13742
- "computedAbsolutePathOfAffiliatedFileIfItExists(compoundParameter)",
13828
+ "computeAbsolutePathOfAffiliatedFileIfItExists(compoundParameter)",
13743
13829
  caughtError: error
13744
13830
  });
13745
13831
  }
@@ -13790,7 +13876,7 @@ class SourceCodeSelectiveReprocessingHelper {
13790
13876
  fs_1.default.writeFileSync(this.CACHED_METADATA_FILE_ABSOLUTE_PATH, (0, es_extensions_1.stringifyAndFormatArbitraryValue)(outputData));
13791
13877
  }
13792
13878
  /* === Incremental remapping ====================================================================================== */
13793
- /* === Logging ==================================================================================================== */
13879
+ /* ━━━ Logging ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
13794
13880
  logAffiliatedFilesAndEntryPointsRelationships() {
13795
13881
  let accumulatingString = "";
13796
13882
  for (const [affiliatedFileRelativePath, affiliatedFileMetadata] of this.affiliatedFilesMetadata.entries()) {
@@ -13804,7 +13890,7 @@ class SourceCodeSelectiveReprocessingHelper {
13804
13890
  }
13805
13891
  }
13806
13892
  es_extensions_1.Logger.logInfo({
13807
- title: `${this.TARGET_FILES_TYPE_IN_SINGULAR_FORM} affiliated files and respective parent entry points relationships`,
13893
+ title: `${this.TARGET_FILES_TYPE_IN_SINGULAR_FORM} Affiliated Files and Respective Parent Entry Points Relationships`,
13808
13894
  description: accumulatingString.length > 0 ? accumulatingString : "No existing affiliated files has been found."
13809
13895
  });
13810
13896
  }
@@ -14341,7 +14427,7 @@ function revisionHash(data) {
14341
14427
  \***********************/
14342
14428
  /***/ ((module) => {
14343
14429
 
14344
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.4.1","description":"The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.","keywords":["build","pug","stylus","tool","typescript"],"engines":{"node":">=18.18.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@stylistic/eslint-plugin":"1.7.2","@typescript-eslint/eslint-plugin":"7.7.0","@typescript-eslint/parser":"7.7.0","@vue/compiler-sfc":"3.4.24","@webdiscus/pug-loader":"2.11.0","@yamato-daiwa/es-extensions":"1.7.0-alpha.10","@yamato-daiwa/es-extensions-nodejs":"1.7.0-alpha.6","@yamato-daiwa/style_guides":"0.2.2","autoprefixer":"10.4.19","browser-sync":"3.0.2","css-loader":"6.11.0","cssnano":"6.1.2","eslint":"8.57.0","eslint-plugin-import":"2.29.1","eslint-plugin-node":"11.1.0","eslint-plugin-react":"7.34.1","eslint-plugin-vue":"9.25.0","eslint-plugin-vue-pug":"0.6.2","fork-ts-checker-webpack-plugin":"7.3.0","gulp":"4.0.2","gulp-data":"1.3.1","gulp-html-prettify":"0.0.1","gulp-if":"3.0.0","gulp-imagemin":"7.1.0","gulp-nodemon":"2.5.0","gulp-plumber":"1.2.1","gulp-postcss":"9.0.1","gulp-pug":"5.0.0","gulp-sourcemaps":"3.0.0","gulp-stylus":"3.0.1","imagemin-pngquant":"9.0.2","json5-loader":"4.0.1","node-html-parser":"6.1.13","node-notifier":"10.0.1","pa11y":"6.2.3","probe-image-size":"7.2.3","pug-lint":"2.7.0","pug-plain-loader":"1.1.0","puppeteer":"21.0.0","rev-hash":"4.1.0","stlint":"1.0.65","stream-combiner2":"1.1.1","style-loader":"3.3.4","stylus":"0.63.0","stylus-loader":"8.0.0","ts-loader":"9.4.4","vinyl":"2.2.1","vue-loader":"17.3.1","vue-style-loader":"4.1.3","w3c-html-validator":"0.8.1","webpack":"5.91.0","webpack-node-externals":"3.0.0","webpack-stream":"7.0.0","worker-loader":"3.0.8","yaml-loader":"0.8.0"},"devDependencies":{"@types/browser-sync":"2.26.3","@types/cssnano":"5.0.0","@types/gulp":"4.0.10","@types/gulp-html-prettify":"0.0.2","@types/gulp-if":"0.0.34","@types/gulp-imagemin":"8.0.1","@types/gulp-nodemon":"0.0.37","@types/gulp-plumber":"0.0.33","@types/gulp-postcss":"8.0.6","@types/gulp-sourcemaps":"0.0.36","@types/gulp-stylus":"2.7.8","@types/node":"20.12.7","@types/node-notifier":"8.0.5","@types/pa11y":"5.3.7","@types/probe-image-size":"7.2.4","@types/pug":"2.0.10","@types/webpack-node-externals":"2.5.3","@types/webpack-stream":"3.2.15","eslint-webpack-plugin":"4.1.0","ts-node":"10.9.2","typescript":"5.4.5","webpack-cli":"5.1.4"},"scripts":{"Incremental development building":"webpack --mode development","Production building":"webpack --mode production","Linting":"eslint Source","Tree diagram of source files generating":"tree Source /f"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation.git"},"bugs":{"url":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation/issues","email":"tokugawa.takesi@gmail.com"}}');
14430
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.4.2","description":"The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.","keywords":["build","pug","stylus","tool","typescript"],"engines":{"node":">=18.18.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@stylistic/eslint-plugin":"1.7.2","@typescript-eslint/eslint-plugin":"7.12.0","@typescript-eslint/parser":"7.12.0","@vue/compiler-sfc":"3.4.27","@webdiscus/pug-loader":"2.11.0","@yamato-daiwa/es-extensions":"1.7.0-rc.2","@yamato-daiwa/es-extensions-nodejs":"1.7.0-alpha.10","@yamato-daiwa/style_guides":"0.2.7","autoprefixer":"10.4.19","browser-sync":"3.0.2","css-loader":"7.1.2","cssnano":"7.0.2","eslint":"8.57.0","eslint-plugin-import":"2.29.1","eslint-plugin-node":"11.1.0","eslint-plugin-react":"7.34.2","eslint-plugin-vue":"9.26.0","eslint-plugin-vue-pug":"0.6.2","fork-ts-checker-webpack-plugin":"7.3.0","gulp":"4.0.2","gulp-data":"1.3.1","gulp-html-prettify":"0.0.1","gulp-if":"3.0.0","gulp-imagemin":"7.1.0","gulp-nodemon":"2.5.0","gulp-plumber":"1.2.1","gulp-postcss":"10.0.0","gulp-pug":"5.0.0","gulp-sourcemaps":"3.0.0","gulp-stylus":"3.0.1","imagemin-pngquant":"9.0.2","json5-loader":"4.0.1","node-html-parser":"6.1.13","node-notifier":"10.0.1","pa11y":"8.0.0","probe-image-size":"7.2.3","pug3-ast-loader":"0.0.0","pug-lint":"2.7.0","puppeteer":"22.10.0","rev-hash":"4.1.0","stlint":"1.0.65","stream-combiner2":"1.1.1","style-loader":"4.0.0","stylus":"0.63.0","stylus-loader":"8.1.0","ts-loader":"9.5.1","vinyl":"2.2.1","vue-loader":"17.4.2","vue-style-loader":"4.1.3","w3c-html-validator":"0.8.1","webpack":"5.91.0","webpack-node-externals":"3.0.0","webpack-stream":"7.0.0","worker-loader":"3.0.8","yaml-loader":"0.8.1"},"devDependencies":{"@types/browser-sync":"2.29.0","@types/cssnano":"5.0.0","@types/gulp":"4.0.17","@types/gulp-html-prettify":"0.0.5","@types/gulp-if":"3.0.4","@types/gulp-imagemin":"8.0.6","@types/gulp-nodemon":"0.0.37","@types/gulp-plumber":"0.0.37","@types/gulp-postcss":"8.0.6","@types/gulp-sourcemaps":"0.0.38","@types/gulp-stylus":"2.7.8","@types/node":"20.14.2","@types/node-notifier":"8.0.5","@types/pa11y":"5.3.7","@types/probe-image-size":"7.2.4","@types/pug":"2.0.10","@types/webpack-node-externals":"3.0.4","@types/webpack-stream":"3.2.15","eslint-webpack-plugin":"4.2.0","ts-node":"10.9.2","typescript":"5.4.5","webpack-cli":"5.1.4"},"scripts":{"Incremental development building":"webpack --mode development","Production building":"webpack --mode production","Linting":"eslint Source","Tree diagram of source files generating":"tree Source /f"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation.git"},"bugs":{"url":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation/issues","email":"tokugawa.takesi@gmail.com"}}');
14345
14431
 
14346
14432
  /***/ })
14347
14433
 
package/README.md CHANGED
@@ -98,9 +98,6 @@ npm i @yamato-daiwa/automation -D -E
98
98
  <dt>pug-lint</dt>
99
99
  <dd>Used to providing linting of Pug source code</dd>
100
100
 
101
- <dt>pug-plain-loader</dt>
102
- <dd>Used to providing of the Pug source code language for Vue templates in Single File Components</dd>
103
-
104
101
  <dt>puppeteer</dt>
105
102
  <dd>
106
103
  Used for the accessibility inspection of the HTML code.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yamato-daiwa/automation",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.",
5
5
  "keywords": [
6
6
  "build",
@@ -20,22 +20,22 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@stylistic/eslint-plugin": "1.7.2",
23
- "@typescript-eslint/eslint-plugin": "7.7.0",
24
- "@typescript-eslint/parser": "7.7.0",
25
- "@vue/compiler-sfc": "3.4.24",
23
+ "@typescript-eslint/eslint-plugin": "7.12.0",
24
+ "@typescript-eslint/parser": "7.12.0",
25
+ "@vue/compiler-sfc": "3.4.27",
26
26
  "@webdiscus/pug-loader": "2.11.0",
27
- "@yamato-daiwa/es-extensions": "1.7.0-alpha.10",
28
- "@yamato-daiwa/es-extensions-nodejs": "1.7.0-alpha.6",
29
- "@yamato-daiwa/style_guides": "0.2.2",
27
+ "@yamato-daiwa/es-extensions": "1.7.0-rc.2",
28
+ "@yamato-daiwa/es-extensions-nodejs": "1.7.0-alpha.10",
29
+ "@yamato-daiwa/style_guides": "0.2.7",
30
30
  "autoprefixer": "10.4.19",
31
31
  "browser-sync": "3.0.2",
32
- "css-loader": "6.11.0",
33
- "cssnano": "6.1.2",
32
+ "css-loader": "7.1.2",
33
+ "cssnano": "7.0.2",
34
34
  "eslint": "8.57.0",
35
35
  "eslint-plugin-import": "2.29.1",
36
36
  "eslint-plugin-node": "11.1.0",
37
- "eslint-plugin-react": "7.34.1",
38
- "eslint-plugin-vue": "9.25.0",
37
+ "eslint-plugin-react": "7.34.2",
38
+ "eslint-plugin-vue": "9.26.0",
39
39
  "eslint-plugin-vue-pug": "0.6.2",
40
40
  "fork-ts-checker-webpack-plugin": "7.3.0",
41
41
  "gulp": "4.0.2",
@@ -45,7 +45,7 @@
45
45
  "gulp-imagemin": "7.1.0",
46
46
  "gulp-nodemon": "2.5.0",
47
47
  "gulp-plumber": "1.2.1",
48
- "gulp-postcss": "9.0.1",
48
+ "gulp-postcss": "10.0.0",
49
49
  "gulp-pug": "5.0.0",
50
50
  "gulp-sourcemaps": "3.0.0",
51
51
  "gulp-stylus": "3.0.1",
@@ -53,48 +53,48 @@
53
53
  "json5-loader": "4.0.1",
54
54
  "node-html-parser": "6.1.13",
55
55
  "node-notifier": "10.0.1",
56
- "pa11y": "6.2.3",
56
+ "pa11y": "8.0.0",
57
57
  "probe-image-size": "7.2.3",
58
+ "pug3-ast-loader": "0.0.0",
58
59
  "pug-lint": "2.7.0",
59
- "pug-plain-loader": "1.1.0",
60
- "puppeteer": "21.0.0",
60
+ "puppeteer": "22.10.0",
61
61
  "rev-hash": "4.1.0",
62
62
  "stlint": "1.0.65",
63
63
  "stream-combiner2": "1.1.1",
64
- "style-loader": "3.3.4",
64
+ "style-loader": "4.0.0",
65
65
  "stylus": "0.63.0",
66
- "stylus-loader": "8.0.0",
67
- "ts-loader": "9.4.4",
66
+ "stylus-loader": "8.1.0",
67
+ "ts-loader": "9.5.1",
68
68
  "vinyl": "2.2.1",
69
- "vue-loader": "17.3.1",
69
+ "vue-loader": "17.4.2",
70
70
  "vue-style-loader": "4.1.3",
71
71
  "w3c-html-validator": "0.8.1",
72
72
  "webpack": "5.91.0",
73
73
  "webpack-node-externals": "3.0.0",
74
74
  "webpack-stream": "7.0.0",
75
75
  "worker-loader": "3.0.8",
76
- "yaml-loader": "0.8.0"
76
+ "yaml-loader": "0.8.1"
77
77
  },
78
78
  "devDependencies": {
79
- "@types/browser-sync": "2.26.3",
79
+ "@types/browser-sync": "2.29.0",
80
80
  "@types/cssnano": "5.0.0",
81
- "@types/gulp": "4.0.10",
82
- "@types/gulp-html-prettify": "0.0.2",
83
- "@types/gulp-if": "0.0.34",
84
- "@types/gulp-imagemin": "8.0.1",
81
+ "@types/gulp": "4.0.17",
82
+ "@types/gulp-html-prettify": "0.0.5",
83
+ "@types/gulp-if": "3.0.4",
84
+ "@types/gulp-imagemin": "8.0.6",
85
85
  "@types/gulp-nodemon": "0.0.37",
86
- "@types/gulp-plumber": "0.0.33",
86
+ "@types/gulp-plumber": "0.0.37",
87
87
  "@types/gulp-postcss": "8.0.6",
88
- "@types/gulp-sourcemaps": "0.0.36",
88
+ "@types/gulp-sourcemaps": "0.0.38",
89
89
  "@types/gulp-stylus": "2.7.8",
90
- "@types/node": "20.12.7",
90
+ "@types/node": "20.14.2",
91
91
  "@types/node-notifier": "8.0.5",
92
92
  "@types/pa11y": "5.3.7",
93
93
  "@types/probe-image-size": "7.2.4",
94
94
  "@types/pug": "2.0.10",
95
- "@types/webpack-node-externals": "2.5.3",
95
+ "@types/webpack-node-externals": "3.0.4",
96
96
  "@types/webpack-stream": "3.2.15",
97
- "eslint-webpack-plugin": "4.1.0",
97
+ "eslint-webpack-plugin": "4.2.0",
98
98
  "ts-node": "10.9.2",
99
99
  "typescript": "5.4.5",
100
100
  "webpack-cli": "5.1.4"