@yamato-daiwa/automation 0.0.10 → 0.1.0

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 (2) hide show
  1. package/EntryPoint.js +370 -317
  2. package/package.json +10 -9
package/EntryPoint.js CHANGED
@@ -72,6 +72,9 @@ const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensio
72
72
  const path_1 = __importDefault(__webpack_require__(/*! path */ "path"));
73
73
  const yamljs_1 = __importDefault(__webpack_require__(/*! yamljs */ "yamljs"));
74
74
  class EntryPoint {
75
+ static {
76
+ es_extensions_1.Logger.setImplementation(es_extensions_nodejs_1.ConsoleApplicationLogger);
77
+ }
75
78
  static interpretAndExecuteConsoleCommand(rawConsoleCommand) {
76
79
  const parsedConsoleCommand = es_extensions_nodejs_1.ConsoleCommandsParser.parse(rawConsoleCommand, ApplicationConsoleLineInterface_1.default.specification);
77
80
  if (true) {
@@ -113,9 +116,6 @@ class EntryPoint {
113
116
  }
114
117
  }
115
118
  }
116
- static {
117
- es_extensions_1.Logger.setImplementation(es_extensions_nodejs_1.ConsoleApplicationLogger);
118
- }
119
119
  }
120
120
  exports["default"] = EntryPoint;
121
121
 
@@ -291,12 +291,14 @@ const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_requi
291
291
  class AudiosProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
292
292
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Audio";
293
293
  TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Audios";
294
+ relevantSourceFilesGlobSelectors;
294
295
  assetsProcessingCommonSettings;
295
296
  actualAssetsGroupsSettings;
296
297
  constructor(audiosManagementSettings, masterConfigRepresentative) {
297
298
  super(masterConfigRepresentative);
298
299
  this.assetsProcessingCommonSettings = audiosManagementSettings.common;
299
300
  this.actualAssetsGroupsSettings = audiosManagementSettings.assetsGroups;
301
+ this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
300
302
  }
301
303
  }
302
304
  exports["default"] = AudiosProcessingSettingsRepresentative;
@@ -497,13 +499,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
497
499
  Object.defineProperty(exports, "__esModule", ({ value: true }));
498
500
  const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/AssetsProcessingSettingsRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/AssetsProcessingSettingsRepresentative.ts"));
499
501
  class FontsProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
502
+ TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Font";
500
503
  TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Fonts";
504
+ relevantSourceFilesGlobSelectors;
501
505
  assetsProcessingCommonSettings;
502
506
  actualAssetsGroupsSettings;
503
507
  constructor(imagesManagementSettings, masterConfigRepresentative) {
504
508
  super(masterConfigRepresentative);
505
509
  this.assetsProcessingCommonSettings = imagesManagementSettings.common;
506
510
  this.actualAssetsGroupsSettings = imagesManagementSettings.assetsGroups;
511
+ this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
507
512
  }
508
513
  }
509
514
  exports["default"] = FontsProcessingSettingsRepresentative;
@@ -705,12 +710,14 @@ const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_requi
705
710
  class ImagesProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
706
711
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Image";
707
712
  TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Images";
713
+ relevantSourceFilesGlobSelectors;
708
714
  assetsProcessingCommonSettings;
709
715
  actualAssetsGroupsSettings;
710
716
  constructor(imagesManagementSettings, masterConfigRepresentative) {
711
717
  super(masterConfigRepresentative);
712
718
  this.assetsProcessingCommonSettings = imagesManagementSettings.common;
713
719
  this.actualAssetsGroupsSettings = imagesManagementSettings.assetsGroups;
720
+ this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
714
721
  }
715
722
  }
716
723
  exports["default"] = ImagesProcessingSettingsRepresentative;
@@ -803,7 +810,7 @@ class ImagesProcessor extends GulpStreamsBasedAssetsProcessor_1.default {
803
810
  pipe(super.printProcessedFilesPathsAndQuantity()).
804
811
  pipe(super.handleErrorIfItWillOccur()).
805
812
  pipe((0, gulp_intercept_1.default)(this.addActualSourceCodeProcessingSettingsToVinylFile.bind(this))).
806
- pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isProductionBuildingMode, (0, gulp_imagemin_1.default)([
813
+ pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isStagingBuildingMode || this.masterConfigRepresentative.isProductionBuildingMode, (0, gulp_imagemin_1.default)([
807
814
  gulp_imagemin_1.default.mozjpeg({ progressive: true }),
808
815
  gulp_imagemin_1.default.gifsicle({ interlaced: true }),
809
816
  gulp_imagemin_1.default.svgo({}),
@@ -921,12 +928,14 @@ const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_requi
921
928
  class VideosProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
922
929
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Video";
923
930
  TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Videos";
931
+ relevantSourceFilesGlobSelectors;
924
932
  assetsProcessingCommonSettings;
925
933
  actualAssetsGroupsSettings;
926
934
  constructor(videosManagementSettings, masterConfigRepresentative) {
927
935
  super(masterConfigRepresentative);
928
936
  this.assetsProcessingCommonSettings = videosManagementSettings.common;
929
937
  this.actualAssetsGroupsSettings = videosManagementSettings.assetsGroups;
938
+ this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
930
939
  }
931
940
  }
932
941
  exports["default"] = VideosProcessingSettingsRepresentative;
@@ -1078,6 +1087,7 @@ class BrowserLiveReloader {
1078
1087
  baseDir: browserLiveReloadingConfigRepresentative.targetFilesRootDirectoryAbsolutePath,
1079
1088
  index: browserLiveReloadingConfigRepresentative.startingFilenameWithExtension
1080
1089
  },
1090
+ browser: "chrome",
1081
1091
  ...(0, es_extensions_1.isNotNull)(browserLiveReloadingConfigRepresentative.customMainPort) ? {
1082
1092
  port: browserLiveReloadingConfigRepresentative.customMainPort
1083
1093
  } : {},
@@ -1349,7 +1359,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1349
1359
  const ConsumingProjectPreDefinedBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Defaults/ConsumingProjectPreDefinedBuildingModes */ "./ProjectBuilding/Common/Defaults/ConsumingProjectPreDefinedBuildingModes.ts"));
1350
1360
  exports["default"] = {
1351
1361
  revisioning: {
1352
- mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.development,
1362
+ mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview &&
1363
+ projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.development,
1353
1364
  contentHashPostfixSeparator: "--"
1354
1365
  }
1355
1366
  };
@@ -1381,6 +1392,7 @@ exports["default"] = CONFIG_FILE_DEFAULT_NAME_WITH_EXTENSION;
1381
1392
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1382
1393
  var ConsumingProjectPreDefinedBuildingModes;
1383
1394
  (function (ConsumingProjectPreDefinedBuildingModes) {
1395
+ ConsumingProjectPreDefinedBuildingModes["staticPreview"] = "STATIC_PREVIEW";
1384
1396
  ConsumingProjectPreDefinedBuildingModes["development"] = "DEVELOPMENT";
1385
1397
  ConsumingProjectPreDefinedBuildingModes["testing"] = "TESTING";
1386
1398
  ConsumingProjectPreDefinedBuildingModes["staging"] = "STAGING";
@@ -1491,11 +1503,9 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
1491
1503
  newName: "buildingModeDependent",
1492
1504
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
1493
1505
  required: true,
1494
- oneOfKeysIsRequired: [
1495
- consumingProjectLocalizedPreDefinedBuildingModes.development,
1496
- consumingProjectLocalizedPreDefinedBuildingModes.production
1497
- ],
1506
+ minimalEntriesCount: 1,
1498
1507
  keysRenamings: {
1508
+ [consumingProjectLocalizedPreDefinedBuildingModes.staticPreview]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
1499
1509
  [consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
1500
1510
  [consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
1501
1511
  [consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
@@ -1932,7 +1942,7 @@ class SourceCodeProcessingRawSettingsNormalizer {
1932
1942
  }
1933
1943
  createNormalizedEntryPointsGroupsSettings(entryPointsGroupsSettings__rawValid, completeEntryPointsGroupNormalizedSettingsGeneralPropertiesUntilSpecificEntryPointsGroupNormalizedSettings) {
1934
1944
  const entryPointsGroupsSettings__normalized = new Map();
1935
- /* [ Approach ] This case could be both valid (e. g. if inside the project styles are being declared only inside
1945
+ /* [ Approach ] This case could be both valid (e.g. if inside the project markup is being declared only inside
1936
1946
  Vue components) or invalid. */
1937
1947
  if ((0, es_extensions_1.isUndefined)(entryPointsGroupsSettings__rawValid)) {
1938
1948
  return entryPointsGroupsSettings__normalized;
@@ -2323,7 +2333,6 @@ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "
2323
2333
  class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.default {
2324
2334
  static WAITING_FOR_OTHER_FILES_WILL_BE_SAVED_PERIOD__SECONDS = 1;
2325
2335
  associatedAssetsProcessingConfigRepresentative;
2326
- sourceFilesThoseAlwaysWillBeWatchedGlobSelectors = [];
2327
2336
  filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing = new Set();
2328
2337
  waitingForOtherFilesWillBeSavedDuration = null;
2329
2338
  constructor(masterConfigRepresentative, certainAssetsManagementConfigRepresentative) {
@@ -2331,7 +2340,7 @@ class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.def
2331
2340
  this.associatedAssetsProcessingConfigRepresentative = certainAssetsManagementConfigRepresentative;
2332
2341
  }
2333
2342
  initializeOrUpdateSourceFilesWatcher() {
2334
- gulp_1.default.watch(this.sourceFilesThoseAlwaysWillBeWatchedGlobSelectors).
2343
+ gulp_1.default.watch(this.associatedAssetsProcessingConfigRepresentative.relevantSourceFilesGlobSelectors).
2335
2344
  on("all", (eventName, fileOrDirectoryPath) => {
2336
2345
  es_extensions_1.Logger.logInfo({
2337
2346
  title: `${this.SOURCE_FILES_TYPE_LABEL_FOR_LOGGING} files watcher`,
@@ -2353,7 +2362,7 @@ class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.def
2353
2362
  this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing.add(fileOrDirectoryPath);
2354
2363
  this.waitingForOtherFilesWillBeSavedDuration = setTimeout(() => {
2355
2364
  if (this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing.size > 0) {
2356
- this.processAssets(Array.from(this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing));
2365
+ this.processAssets(Array.from(this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing))();
2357
2366
  }
2358
2367
  this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing.clear();
2359
2368
  }, (0, es_extensions_1.secondsToMilliseconds)(GulpStreamsBasedAssetsProcessor.WAITING_FOR_OTHER_FILES_WILL_BE_SAVED_PERIOD__SECONDS));
@@ -2900,6 +2909,7 @@ const ProjectBuildingConfigFromFileDefaultLocalization = {
2900
2909
  browserLiveReloading: "browserLiveReloading"
2901
2910
  },
2902
2911
  consumingProjectPreDefinedBuildingModes: {
2912
+ staticPreview: "STATIC_PREVIEW",
2903
2913
  development: "DEVELOPMENT",
2904
2914
  testing: "TESTING",
2905
2915
  staging: "STAGING",
@@ -3405,6 +3415,9 @@ class ProjectBuildingMasterConfigRepresentative {
3405
3415
  }
3406
3416
  /* --- Project building mode -------------------------------------------------------------------------------------- */
3407
3417
  get consumingProjectBuildingMode() { return this.commonSettings.projectBuildingMode; }
3418
+ get isStaticPreviewBuildingMode() {
3419
+ return this.commonSettings.projectBuildingMode === ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview;
3420
+ }
3408
3421
  get isDevelopmentBuildingMode() {
3409
3422
  return this.commonSettings.projectBuildingMode === ConsumingProjectPreDefinedBuildingModes_1.default.development;
3410
3423
  }
@@ -3445,7 +3458,8 @@ class ProjectBuildingMasterConfigRepresentative {
3445
3458
  return (0, es_extensions_1.isNotUndefined)(this.videosProcessingSettingsRepresentative);
3446
3459
  }
3447
3460
  get mustProvideBrowserLiveReloading() {
3448
- return (0, es_extensions_1.isNotUndefined)(this.browserLiveReloadingSettingsRepresentative) && this.isDevelopmentBuildingMode;
3461
+ return (0, es_extensions_1.isNotUndefined)(this.browserLiveReloadingSettingsRepresentative) &&
3462
+ (this.isStaticPreviewBuildingMode || this.isDevelopmentBuildingMode);
3449
3463
  }
3450
3464
  /* --- Debugging -------------------------------------------------------------------------------------------------- */
3451
3465
  get mustDebugEntryPointsAndPartialFiles() {
@@ -3715,7 +3729,8 @@ exports["default"] = {
3715
3729
  mustExecute(namedParameters) {
3716
3730
  if (namedParameters.targetRuntimeType === SupportedECMA_ScriptRuntimesTypes.browser ||
3717
3731
  namedParameters.targetRuntimeType === SupportedECMA_ScriptRuntimesTypes.webWorker) {
3718
- return namedParameters.consumingProjectBuildingMode !== ConsumingProjectPreDefinedBuildingModes_1.default.development;
3732
+ return namedParameters.consumingProjectBuildingMode !== ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview &&
3733
+ namedParameters.consumingProjectBuildingMode !== ConsumingProjectPreDefinedBuildingModes_1.default.development;
3719
3734
  }
3720
3735
  return false;
3721
3736
  },
@@ -3914,11 +3929,9 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
3914
3929
  newName: "buildingModeDependent",
3915
3930
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
3916
3931
  required: true,
3917
- oneOfKeysIsRequired: [
3918
- consumingProjectLocalizedPreDefinedBuildingModes.development,
3919
- consumingProjectLocalizedPreDefinedBuildingModes.production
3920
- ],
3932
+ minimalEntriesCount: 1,
3921
3933
  keysRenamings: {
3934
+ [consumingProjectLocalizedPreDefinedBuildingModes.staticPreview]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
3922
3935
  [consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
3923
3936
  [consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
3924
3937
  [consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
@@ -4025,7 +4038,8 @@ class ECMA_ScriptLogicProcessor extends TaskExecutor_1.default {
4025
4038
  });
4026
4039
  }
4027
4040
  /** 〔 納品版のみ理由 〕 開発版で同じ事をすれば、gulpが落ちる */
4028
- if (dataHoldingSelfInstance.masterConfigRepresentative.isProductionBuildingMode &&
4041
+ if ((dataHoldingSelfInstance.masterConfigRepresentative.isStagingBuildingMode ||
4042
+ dataHoldingSelfInstance.masterConfigRepresentative.isProductionBuildingMode) &&
4029
4043
  (0, es_extensions_1.isNotUndefined)(finalErrorMessageDynamicPart)) {
4030
4044
  es_extensions_1.Logger.logError({
4031
4045
  errorType: "ECMA_ScriptLogicProcessingError",
@@ -4271,9 +4285,14 @@ class WebpackConfigGenerator {
4271
4285
  ...willPugLibraryBeBuilt ? { globalObject: "globalThis" } : null
4272
4286
  },
4273
4287
  ...willBrowserJS_LibraryBeBuilt ? { experiments: { outputModule: true } } : null,
4274
- mode: this.masterConfigRepresentative.isDevelopmentBuildingMode ? "development" : "production",
4275
- watch: this.masterConfigRepresentative.isDevelopmentBuildingMode,
4276
- devtool: this.masterConfigRepresentative.isDevelopmentBuildingMode ? "eval" : false,
4288
+ mode: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
4289
+ this.masterConfigRepresentative.isDevelopmentBuildingMode ?
4290
+ "development" : "production",
4291
+ watch: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
4292
+ this.masterConfigRepresentative.isDevelopmentBuildingMode,
4293
+ devtool: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
4294
+ this.masterConfigRepresentative.isDevelopmentBuildingMode ?
4295
+ "eval" : false,
4277
4296
  ...entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.nodeJS ? {
4278
4297
  node: {
4279
4298
  __dirname: true,
@@ -4429,13 +4448,17 @@ class WebpackConfigGenerator {
4429
4448
  new vue_loader_1.VueLoaderPlugin(),
4430
4449
  new eslint_webpack_plugin_1.default({
4431
4450
  extensions: ["js", "ts", "vue"],
4432
- failOnError: this.masterConfigRepresentative.isProductionBuildingMode,
4433
- failOnWarning: this.masterConfigRepresentative.isProductionBuildingMode
4451
+ failOnError: this.masterConfigRepresentative.isStagingBuildingMode ||
4452
+ this.masterConfigRepresentative.isProductionBuildingMode,
4453
+ failOnWarning: this.masterConfigRepresentative.isStagingBuildingMode ||
4454
+ this.masterConfigRepresentative.isProductionBuildingMode
4434
4455
  })
4435
4456
  ],
4436
4457
  optimization: {
4437
- minimize: this.masterConfigRepresentative.isProductionBuildingMode,
4438
- emitOnErrors: this.masterConfigRepresentative.isDevelopmentBuildingMode
4458
+ minimize: this.masterConfigRepresentative.isStagingBuildingMode ||
4459
+ this.masterConfigRepresentative.isProductionBuildingMode,
4460
+ emitOnErrors: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
4461
+ this.masterConfigRepresentative.isDevelopmentBuildingMode
4439
4462
  }
4440
4463
  };
4441
4464
  }
@@ -4458,7 +4481,8 @@ class WebpackConfigGenerator {
4458
4481
  * [ path at search string of browser ] + publicPath + chunkFilename
4459
4482
  * */
4460
4483
  computePublicPathIfPossible(ECMA_ScriptLogicEntryPointsGroupSettings__normalized) {
4461
- if (!this.masterConfigRepresentative.isDevelopmentBuildingMode) {
4484
+ if (!this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
4485
+ !this.masterConfigRepresentative.isDevelopmentBuildingMode) {
4462
4486
  return "/";
4463
4487
  }
4464
4488
  return ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID.replace(ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID, "/");
@@ -4547,9 +4571,7 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
4547
4571
  lintingCommonSettings;
4548
4572
  static normalize({ markupProcessingSettings__fromFile__rawValid, commonSettings__normalized }) {
4549
4573
  const lintingCommonSettings = (0, es_extensions_1.isUndefined)(markupProcessingSettings__fromFile__rawValid.linting) ?
4550
- {
4551
- isCompletelyDisabled: !MarkupProcessingSettings__Default_1.default.linting.mustExecute
4552
- } :
4574
+ { isCompletelyDisabled: !MarkupProcessingSettings__Default_1.default.linting.mustExecute } :
4553
4575
  {
4554
4576
  isCompletelyDisabled: markupProcessingSettings__fromFile__rawValid.linting.disableCompletely === true ?
4555
4577
  true : !MarkupProcessingSettings__Default_1.default.linting.mustExecute,
@@ -4577,7 +4599,7 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
4577
4599
  MarkupProcessingSettings__Default_1.default.waitingForOtherFilesWillBeSavedPeriod__seconds
4578
4600
  },
4579
4601
  linting: lintingCommonSettings,
4580
- entryPointsGroupsActualForCurrentProjectBuildingMode: dataHoldingSelfInstance.createNormalizedEntryPointsGroupsSettings(markupProcessingSettings__fromFile__rawValid.entryPointsGroups, dataHoldingSelfInstance.
4602
+ relevantEntryPointsGroups: dataHoldingSelfInstance.createNormalizedEntryPointsGroupsSettings(markupProcessingSettings__fromFile__rawValid.entryPointsGroups, dataHoldingSelfInstance.
4581
4603
  completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings.
4582
4604
  bind(dataHoldingSelfInstance))
4583
4605
  };
@@ -4587,15 +4609,6 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
4587
4609
  this.lintingCommonSettings = namedParameters.lintingCommonSettings;
4588
4610
  }
4589
4611
  completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings(entryPointsGroupGenericSettings__normalized, entryPointsGroupSettings__rawValid) {
4590
- const entryPointsGroupSettings__buildingModeDependent__rawValid = entryPointsGroupSettings__rawValid.buildingModeDependent[this.consumingProjectBuildingMode];
4591
- if ((0, es_extensions_1.isUndefined)(entryPointsGroupSettings__buildingModeDependent__rawValid)) {
4592
- es_extensions_1.Logger.throwErrorAndLog({
4593
- errorInstance: new es_extensions_1.AlgorithmMismatchError(`プロジェクト構成モード:「${this.consumingProjectBuildingMode}」に該当する生入点設定が発見されず。`),
4594
- occurrenceLocation: "MarkupProcessingRawSettingsNormalizer" +
4595
- "completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings",
4596
- title: es_extensions_1.AlgorithmMismatchError.localization.defaultTitle
4597
- });
4598
- }
4599
4612
  return {
4600
4613
  ...entryPointsGroupGenericSettings__normalized,
4601
4614
  HTML_Validation: {
@@ -4666,12 +4679,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4666
4679
  };
4667
4680
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4668
4681
  const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative.ts"));
4669
- /* --- Utils -------------------------------------------------------------------------------------------------------- */
4670
- const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
4671
4682
  class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodeProcessingConfigRepresentative_1.default {
4672
- TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
4673
4683
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots;
4684
+ TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
4685
+ TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Markup";
4686
+ prefixOfEntryPointsGroupReference = "@";
4674
4687
  waitingForTheOtherFilesWillBeSavedPeriod__seconds;
4688
+ entryPointsGroupsNormalizedSettingsMappedByReferences;
4675
4689
  sourceCodeLintingCommonSettings;
4676
4690
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap = new Map();
4677
4691
  relevantEntryPointsGroupsSettings;
@@ -4680,21 +4694,15 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
4680
4694
  super(projectBuildingMasterConfigRepresentative);
4681
4695
  this.sourceCodeProcessingCommonSettings = normalizedMarkupProcessingSettings.common;
4682
4696
  this.sourceCodeLintingCommonSettings = normalizedMarkupProcessingSettings.linting;
4683
- this.relevantEntryPointsGroupsSettings = normalizedMarkupProcessingSettings.
4684
- entryPointsGroupsActualForCurrentProjectBuildingMode;
4685
- if (this.relevantEntryPointsGroupsSettings.size === 0) {
4686
- es_extensions_1.Logger.logWarning({
4687
- title: "Styles processing idle",
4688
- description: "Styles processing idle",
4689
- occurrenceLocation: "No markup processing settings has been specified for project building mode " +
4690
- `'${this.masterConfigRepresentative.consumingProjectBuildingMode}' and/or current ` +
4691
- "selective execution."
4692
- });
4693
- }
4697
+ this.relevantEntryPointsGroupsSettings = normalizedMarkupProcessingSettings.relevantEntryPointsGroups;
4694
4698
  this.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots = normalizedMarkupProcessingSettings.common.
4695
4699
  supportedSourceFileNameExtensionsWithoutLeadingDots;
4696
4700
  this.waitingForTheOtherFilesWillBeSavedPeriod__seconds = normalizedMarkupProcessingSettings.common.
4697
4701
  waitingForSubsequentFilesWillBeSavedPeriod__seconds;
4702
+ this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
4703
+ `${this.prefixOfEntryPointsGroupReference}${entryPointsGroupSettings.ID}`,
4704
+ entryPointsGroupSettings
4705
+ ]));
4698
4706
  super.initializeOrUpdatePartialFilesAndEntryPointsRelationsMap();
4699
4707
  }
4700
4708
  }
@@ -4715,7 +4723,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4715
4723
  };
4716
4724
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4717
4725
  const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingRestrictions */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingRestrictions.ts"));
4718
- exports["default"] = {
4726
+ const MarkupProcessingSettings__Default = {
4719
4727
  waitingForOtherFilesWillBeSavedPeriod__seconds: 1,
4720
4728
  linting: {
4721
4729
  mustExecute: true,
@@ -4729,6 +4737,7 @@ exports["default"] = {
4729
4737
  standard: MarkupProcessingRestrictions_1.default.SupportedAccessibilityStandards.WCAG2AAA
4730
4738
  }
4731
4739
  };
4740
+ exports["default"] = MarkupProcessingSettings__Default;
4732
4741
 
4733
4742
 
4734
4743
  /***/ }),
@@ -4783,6 +4792,7 @@ var MarkupProcessingSettings__FromFile__RawValid;
4783
4792
  newName: "entryPointsGroups",
4784
4793
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4785
4794
  required: true,
4795
+ minimalEntriesCount: 1,
4786
4796
  value: {
4787
4797
  type: Object,
4788
4798
  properties: {
@@ -4836,11 +4846,9 @@ var MarkupProcessingSettings__FromFile__RawValid;
4836
4846
  newName: "buildingModeDependent",
4837
4847
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4838
4848
  required: true,
4839
- oneOfKeysIsRequired: [
4840
- consumingProjectLocalizedPreDefinedBuildingModes.development,
4841
- consumingProjectLocalizedPreDefinedBuildingModes.production
4842
- ],
4849
+ minimalEntriesCount: 1,
4843
4850
  keysRenamings: {
4851
+ [consumingProjectLocalizedPreDefinedBuildingModes.staticPreview]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
4844
4852
  [consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
4845
4853
  [consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
4846
4854
  [consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
@@ -4889,7 +4897,7 @@ const gulp_pug_1 = __importDefault(__webpack_require__(/*! gulp-pug */ "gulp-pug
4889
4897
  const gulp_intercept_1 = __importDefault(__webpack_require__(/*! gulp-intercept */ "gulp-intercept"));
4890
4898
  const gulp_html_prettify_1 = __importDefault(__webpack_require__(/*! gulp-html-prettify */ "gulp-html-prettify"));
4891
4899
  /* --- Applied utils ------------------------------------------------------------------------------------------------ */
4892
- const ResourceFilesPathsAliasesResolverForHTML_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/AssetsPathsAliasesResolverForHTML/ResourceFilesPathsAliasesResolverForHTML */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AssetsPathsAliasesResolverForHTML/ResourceFilesPathsAliasesResolverForHTML.ts"));
4900
+ const ResourcesReferencesResolverForHTML_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts"));
4893
4901
  const HTML_Validator_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/HTML_Validator/HTML_Validator */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts"));
4894
4902
  const AccessibilityInspector_1 = __importDefault(__webpack_require__(/*! ./Plugins/AccessibilityInspector/AccessibilityInspector */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AccessibilityInspector/AccessibilityInspector.ts"));
4895
4903
  const removeExtraSpacesFromJapaneseText_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/removeExtraSpacesFromJapaneseText */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/removeExtraSpacesFromJapaneseText.ts"));
@@ -4906,7 +4914,8 @@ class MarkupProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
4906
4914
  return () => new stream_1.PassThrough().end();
4907
4915
  }
4908
4916
  const dataHoldingSelfInstance = new MarkupProcessor(masterConfigRepresentative, markupProcessingSettingsRepresentative);
4909
- if (masterConfigRepresentative.isDevelopmentBuildingMode) {
4917
+ if (masterConfigRepresentative.isStaticPreviewBuildingMode ||
4918
+ masterConfigRepresentative.isDevelopmentBuildingMode) {
4910
4919
  dataHoldingSelfInstance.initializeSourceFilesDirectoriesWhichAlwaysWillBeBeingWatchedGlobSelectors();
4911
4920
  dataHoldingSelfInstance.initializeOrUpdateWatchedSourceFilesGlobSelectors();
4912
4921
  dataHoldingSelfInstance.initializeOrUpdateSourceFilesWatcher();
@@ -4930,6 +4939,7 @@ class MarkupProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
4930
4939
  pipe((0, gulp_intercept_1.default)(this.addActualSourceCodeProcessingSettingsToVinylFile.bind(this))).
4931
4940
  pipe((0, gulp_pug_1.default)({
4932
4941
  locals: {
4942
+ __IS_STATIC_PREVIEW_BUILDING_MODE__: this.masterConfigRepresentative.isStaticPreviewBuildingMode,
4933
4943
  __IS_DEVELOPMENT_BUILDING_MODE__: this.masterConfigRepresentative.isDevelopmentBuildingMode,
4934
4944
  __IS_TESTING_BUILDING_MODE__: this.masterConfigRepresentative.isTestingBuildingMode,
4935
4945
  __IS_STAGING_BUILDING_MODE__: this.masterConfigRepresentative.isStagingBuildingMode,
@@ -4954,11 +4964,14 @@ class MarkupProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
4954
4964
  }
4955
4965
  onRawOutputCode(_compiledHTML_File) {
4956
4966
  const compiledHTML_File = _compiledHTML_File;
4957
- compiledHTML_File.contents = Buffer.from(ResourceFilesPathsAliasesResolverForHTML_1.default.resolvePathAliases(compiledHTML_File, this.masterConfigRepresentative));
4967
+ compiledHTML_File.contents = Buffer.from(ResourcesReferencesResolverForHTML_1.default.resolve(compiledHTML_File, this.masterConfigRepresentative));
4958
4968
  return compiledHTML_File;
4959
4969
  }
4960
4970
  onPostProcessedCode(_compiledHTML_File) {
4961
4971
  const compiledHTML_File = _compiledHTML_File;
4972
+ this.markupProcessingConfigRepresentative.
4973
+ sourceAndOutputFilesAbsolutePathsCorrespondenceMap.
4974
+ set(ImprovedPath_1.default.replacePathSeparatorsToForwardSlashes(compiledHTML_File.sourceAbsolutePath), ImprovedPath_1.default.joinPathSegments(compiledHTML_File.outputDirectoryAbsolutePath, compiledHTML_File.basename));
4962
4975
  if (compiledHTML_File.processingSettings.HTML_Validation.mustExecute) {
4963
4976
  HTML_Validator_1.default.validateHTML(compiledHTML_File, this.masterConfigRepresentative);
4964
4977
  }
@@ -4992,7 +5005,6 @@ const access_sniff_1 = __importDefault(__webpack_require__(/*! access-sniff */ "
4992
5005
  const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
4993
5006
  const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
4994
5007
  const isCompiledHTML_ContentEmpty_1 = __importDefault(__webpack_require__(/*! @Utils/isCompiledHTML_ContentEmpty */ "./Utils/isCompiledHTML_ContentEmpty.ts"));
4995
- /* --- General utils ------------------------------------------------------------------------------------------------ */
4996
5008
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
4997
5009
  const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
4998
5010
  const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
@@ -5045,7 +5057,7 @@ class AccessibilityInspector {
5045
5057
  }
5046
5058
  es_extensions_1.Logger.logErrorLikeMessage(AccessibilityInspector.localization.generateIssuesFoundErrorLog({
5047
5059
  targetFileRelativePath,
5048
- formattedErrors: formattedErrors.join("\n\n")
5060
+ formattedErrorsAndWarnings: formattedErrors.join("\n\n")
5049
5061
  }));
5050
5062
  });
5051
5063
  }
@@ -5063,85 +5075,259 @@ exports["default"] = AccessibilityInspector;
5063
5075
 
5064
5076
 
5065
5077
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5066
- const AccessibilityInspectorLocalization__English = {
5078
+ const accessibilityInspectorLocalization__english = {
5067
5079
  generateFileIsEmptyWarningLog: (namedParameters) => ({
5068
- title: "Accessibility inspection terminated",
5069
- description: `File '${namedParameters.targetFileRelativePath}' is empty, no HTML to inspect.`
5080
+ title: "HTML code accessibility inspection terminated",
5081
+ description: `File '${namedParameters.targetFileRelativePath}' is empty, nothing to inspect.`
5070
5082
  }),
5071
5083
  generateInspectionStartedInfoLog: (namedParameters) => ({
5072
- title: "Accessibility inspection started",
5073
- description: `Begin the inspection of file '${namedParameters.targetFileRelativePath}' ...`
5084
+ title: "HTML code accessibility inspection started",
5085
+ description: `Begin the accessibility inspection of HTML code in the file '${namedParameters.targetFileRelativePath}' ...`
5074
5086
  }),
5075
5087
  generateInspectionFinishedWithNoIssuesFoundSuccessLog: (namedParameters) => ({
5076
- title: "Accessibility inspection finished",
5077
- description: `File '${namedParameters.targetFileRelativePath}' is has not the accessibility issues.\n` +
5088
+ title: "HTML code accessibility inspection finished",
5089
+ description: `The HTML code in file '${namedParameters.targetFileRelativePath}' has not the accessibility issues.\n` +
5078
5090
  `${namedParameters.secondsElapsed} seconds elapsed.`
5079
5091
  }),
5080
5092
  issuesFoundNotification: {
5081
- title: "Accessibility validation, issue(s) found",
5082
- message: "Accessibility issues detected. Check the console for the details."
5093
+ title: "HTML code accessibility inspection, issue(s) found",
5094
+ message: "Accessibility issues detected in one or more HTML files. Please check the console for the details."
5083
5095
  },
5084
5096
  generateIssueOccurrenceLocationIndication: (namedParameters) => `Line ${namedParameters.lineNumber}, column ${namedParameters.columnNumber}`,
5085
5097
  generateIssuesFoundErrorLog: (namedParameters) => ({
5086
- customBadgeText: "Accessibility inspection not passed",
5087
- title: "Accessibility inspections, issue(s) found",
5088
- description: `File '${namedParameters.targetFileRelativePath}' is including the following accessibility issue:\n\n` +
5089
- `${namedParameters.formattedErrors}\n\n`
5098
+ customBadgeText: "HTML code accessibility inspection not passed",
5099
+ title: "HTML code accessibility inspection, issue(s) found",
5100
+ description: `HTML file '${namedParameters.targetFileRelativePath}' is including the following accessibility issues:\n\n` +
5101
+ `${namedParameters.formattedErrorsAndWarnings}\n\n`
5090
5102
  }),
5091
5103
  formattedError: {
5092
5104
  violatedGuidelineItem: "Violated rule",
5093
5105
  keyAndValueSeparator: ":"
5094
5106
  }
5095
5107
  };
5096
- exports["default"] = AccessibilityInspectorLocalization__English;
5108
+ exports["default"] = accessibilityInspectorLocalization__english;
5097
5109
 
5098
5110
 
5099
5111
  /***/ }),
5100
5112
 
5101
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AssetsPathsAliasesResolverForHTML/AssetsPathsAliasesResolverForHTML_Localization.english.ts":
5102
- /*!*********************************************************************************************************************************************************!*\
5103
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AssetsPathsAliasesResolverForHTML/AssetsPathsAliasesResolverForHTML_Localization.english.ts ***!
5104
- \*********************************************************************************************************************************************************/
5113
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts":
5114
+ /*!**********************************************************************************************!*\
5115
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts ***!
5116
+ \**********************************************************************************************/
5117
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5118
+
5119
+
5120
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5121
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5122
+ };
5123
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
5124
+ /* --- Assets ------------------------------------------------------------------------------------------------------- */
5125
+ const HTML_ValidatorLocalization_english_1 = __importDefault(__webpack_require__(/*! ./HTML_ValidatorLocalization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts"));
5126
+ /* --- Applied utils ------------------------------------------------------------------------------------------------ */
5127
+ const html_validator_1 = __importDefault(__webpack_require__(/*! html-validator */ "html-validator"));
5128
+ const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
5129
+ const isCompiledHTML_ContentEmpty_1 = __importDefault(__webpack_require__(/*! @Utils/isCompiledHTML_ContentEmpty */ "./Utils/isCompiledHTML_ContentEmpty.ts"));
5130
+ const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
5131
+ /* --- General utils ------------------------------------------------------------------------------------------------ */
5132
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
5133
+ const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
5134
+ const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
5135
+ class HTML_Validator {
5136
+ static localization = HTML_ValidatorLocalization_english_1.default;
5137
+ static validateHTML(compiledHTML_File, masterConfigRepresentative) {
5138
+ const extractedHTML_Code = (0, getExpectedToBeNonNullStringifiedContentOfVinylFile_1.default)(compiledHTML_File);
5139
+ const targetFileRelativePath = ImprovedPath_1.default.computeRelativePath({
5140
+ basePath: masterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
5141
+ comparedPath: compiledHTML_File.path
5142
+ });
5143
+ if ((0, isCompiledHTML_ContentEmpty_1.default)(extractedHTML_Code)) {
5144
+ es_extensions_1.Logger.logWarning(HTML_Validator.localization.generateFileIsEmptyWarningLog({ targetFileRelativePath }));
5145
+ return;
5146
+ }
5147
+ const validationTimeMeasuringStopwatch = new Stopwatch_1.default().startOrRestart();
5148
+ es_extensions_1.Logger.logInfo(HTML_Validator.localization.generateValidationStartedInfoLog({ targetFileRelativePath }));
5149
+ (0, html_validator_1.default)({
5150
+ /* eslint-disable-next-line id-denylist --
5151
+ * From the viewpoint of TypeScript, the property name does not conflict with imported names.
5152
+ * ESLint community has declined to fix this.
5153
+ * https://github.com/eslint/eslint/issues/15504 */
5154
+ data: extractedHTML_Code,
5155
+ format: "json"
5156
+ }).
5157
+ then((validationResults) => {
5158
+ const validationPeriod__seconds = validationTimeMeasuringStopwatch.stop().seconds;
5159
+ const filteredIssues = (0, es_extensions_1.removeArrayElementsByPredicates)({
5160
+ targetArray: validationResults.messages,
5161
+ predicates: HTML_Validator.getPredicatesForHTML_ValidationIssuesFiltering(),
5162
+ mutably: false
5163
+ }).updatedArray;
5164
+ if (filteredIssues.length === 0) {
5165
+ es_extensions_1.Logger.logSuccess(HTML_Validator.localization.generateValidationFinishedWithNoIssuesFoundSuccessLog({
5166
+ targetFileRelativePath,
5167
+ secondsElapsed: validationPeriod__seconds
5168
+ }));
5169
+ return;
5170
+ }
5171
+ node_notifier_1.default.notify(HTML_Validator.localization.issuesFoundNotification);
5172
+ const formattedErrors = [];
5173
+ for (const issue of filteredIssues) {
5174
+ let accumulatingFormattedError = "";
5175
+ if (HTML_Validator.isValidationMessageLocationObject(issue)) {
5176
+ const codeFragmentPartWhichMustBeHighlighted = issue.extract.substring(issue.hiliteStart, issue.hiliteStart + issue.hiliteLength);
5177
+ accumulatingFormattedError = `${issue.extract.replace(codeFragmentPartWhichMustBeHighlighted, es_extensions_1.Logger.highlightText(codeFragmentPartWhichMustBeHighlighted))}\n${HTML_Validator.localization.generateIssueOccurrenceLocationIndication({
5178
+ lineNumber: issue.lastLine, startingColumnNumber: issue.firstColumn, lastColumnNumber: issue.lastColumn
5179
+ })}\n`;
5180
+ }
5181
+ switch (issue.type) {
5182
+ case "error": {
5183
+ accumulatingFormattedError = `${accumulatingFormattedError}` +
5184
+ `${HTML_Validator.localization.issuesTypesTitles.grossViolation}` +
5185
+ `${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
5186
+ break;
5187
+ }
5188
+ case "info": {
5189
+ accumulatingFormattedError =
5190
+ `${accumulatingFormattedError}` +
5191
+ `${HTML_Validator.localization.issuesTypesTitles.recommendationDisregard}` +
5192
+ `${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
5193
+ break;
5194
+ }
5195
+ default: {
5196
+ accumulatingFormattedError = `${accumulatingFormattedError}` +
5197
+ `${HTML_Validator.localization.issuesTypesTitles.other}` +
5198
+ `${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
5199
+ break;
5200
+ }
5201
+ }
5202
+ accumulatingFormattedError = `${accumulatingFormattedError}${issue.message}`;
5203
+ formattedErrors.push(accumulatingFormattedError);
5204
+ }
5205
+ es_extensions_1.Logger.logErrorLikeMessage(HTML_Validator.localization.generateIssuesFoundErrorLog({
5206
+ targetFileRelativePath,
5207
+ formattedErrorsAndWarnings: formattedErrors.join("\n\n")
5208
+ }));
5209
+ }).
5210
+ catch((error) => {
5211
+ es_extensions_1.Logger.logError({
5212
+ errorType: es_extensions_1.DataRetrievingFailedError.localization.defaultTitle,
5213
+ ...HTML_Validator.localization.validationFailedErrorLog,
5214
+ occurrenceLocation: "HTML_Validator.validateHTML(...parameters)",
5215
+ caughtError: error
5216
+ });
5217
+ });
5218
+ }
5219
+ static getPredicatesForHTML_ValidationIssuesFiltering() {
5220
+ return [
5221
+ (HTML_ValidationIssue) => HTML_ValidationIssue.message === "Attribute “webkitdirectory” not allowed on element “input” at this point."
5222
+ ];
5223
+ }
5224
+ static isValidationMessageLocationObject(violation) {
5225
+ return (0, es_extensions_1.isArbitraryObject)(violation) &&
5226
+ (0, es_extensions_1.isNotUndefined)(violation.extract) &&
5227
+ (0, es_extensions_1.isNotUndefined)(violation.lastLine) &&
5228
+ (0, es_extensions_1.isNotUndefined)(violation.firstColumn) &&
5229
+ (0, es_extensions_1.isNotUndefined)(violation.lastColumn);
5230
+ }
5231
+ }
5232
+ exports["default"] = HTML_Validator;
5233
+
5234
+
5235
+ /***/ }),
5236
+
5237
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts":
5238
+ /*!******************************************************************************************************************!*\
5239
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts ***!
5240
+ \******************************************************************************************************************/
5241
+ /***/ ((__unused_webpack_module, exports) => {
5242
+
5243
+
5244
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
5245
+ const HTML_ValidatorLocalization__english = {
5246
+ generateFileIsEmptyWarningLog: (namedParameters) => ({
5247
+ title: "HTML code validation terminated",
5248
+ description: `File '${namedParameters.targetFileRelativePath}' is empty, no HTML to validate.`
5249
+ }),
5250
+ generateValidationStartedInfoLog: (namedParameters) => ({
5251
+ title: "HTML code validation started",
5252
+ description: `Begin the validation of HTML code in the file '${namedParameters.targetFileRelativePath}' ...`
5253
+ }),
5254
+ generateValidationFinishedWithNoIssuesFoundSuccessLog: (namedParameters) => ({
5255
+ title: "HTML validation finished",
5256
+ description: `File '${namedParameters.targetFileRelativePath}' is fully obeying to W3C rules and recommendations.\n` +
5257
+ `${namedParameters.secondsElapsed} seconds elapsed.`
5258
+ }),
5259
+ issuesFoundNotification: {
5260
+ title: "HTML validation, issue(s) found",
5261
+ message: "W3C rules violations and / or recommendations neglect detected. Check the console for the details."
5262
+ },
5263
+ generateIssueOccurrenceLocationIndication: (namedParameters) => `Line ${namedParameters.lineNumber}, ` +
5264
+ `columns ${namedParameters.startingColumnNumber}-${namedParameters.lastColumnNumber}`,
5265
+ issuesTypesTitles: {
5266
+ grossViolation: "Gross violation",
5267
+ recommendationDisregard: "Recommendation disregard",
5268
+ other: "Other issue",
5269
+ keyAndValueSeparator: ": "
5270
+ },
5271
+ generateIssuesFoundErrorLog: (namedParameters) => ({
5272
+ customBadgeText: "HTML validation not passed",
5273
+ title: "HTML validation, issue(s) found",
5274
+ description: `File '${namedParameters.targetFileRelativePath}' is including the following HTML validity issues:\n\n` +
5275
+ `${namedParameters.formattedErrorsAndWarnings}\n\n`
5276
+ }),
5277
+ validationFailedErrorLog: {
5278
+ title: "HTML validation failed",
5279
+ description: "The error occurred during HTML validation"
5280
+ }
5281
+ };
5282
+ exports["default"] = HTML_ValidatorLocalization__english;
5283
+
5284
+
5285
+ /***/ }),
5286
+
5287
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts":
5288
+ /*!**********************************************************************************************************************************************!*\
5289
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts ***!
5290
+ \**********************************************************************************************************************************************/
5105
5291
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5106
5292
 
5107
5293
 
5108
5294
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5109
5295
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
5110
- const assetsPathsAliasesResolverForHTML_Localization__english = {
5111
- generateUnableToResolveShortenedAbsolutePathWarning: (namedParameters) => ({
5296
+ const resourcesReferencesResolverForHTML_Localization__english = {
5297
+ generateUnableToResolveShortenedAbsolutePathWarningLog: (namedParameters) => ({
5112
5298
  title: `${(0, es_extensions_1.capitalizeFirstCharacter)(namedParameters.filesType__singularForm)} file, unable to resolve the absolute path`,
5113
5299
  description: `Unable to resolve the shortened absolute path for the ${namedParameters.filesType__singularForm} file ` +
5114
5300
  `because no public path has been specified for '${namedParameters.projectBuildingMode}' project building mode. ` +
5115
5301
  "Relative path will be used instead."
5116
5302
  }),
5117
- generateUnknownSourceFileTopDirectoryAliasWarning: (namedParameters) => ({
5118
- title: `${namedParameters.fileType__singularForm} file, unknown directory path alias`,
5119
- description: `The alias '${namedParameters.firstPathSegment}' in path ` +
5120
- `'${namedParameters.pickedPathOfTargetResourceFile}' has not been specified neither explicitly nor implicitly ` +
5121
- "(via resources group name). Below directories paths' aliases are available for usage: \n" +
5303
+ generateUnknownResourceGroupReferenceWarningLog: (namedParameters) => ({
5304
+ title: `Unknown reference to ${namedParameters.fileType__pluralForm} files group`,
5305
+ description: `The reference '${namedParameters.firstPathSegment}' in path ` +
5306
+ `'${namedParameters.pickedPathOfTargetResourceFile}' refers to unknown resources group. ` +
5307
+ `Below references are available for ${namedParameters.fileType__pluralForm} files: \n` +
5122
5308
  `${namedParameters.formattedSourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap}`
5123
5309
  }),
5124
- generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarning: (namedParameters) => ({
5310
+ generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarningLog: (namedParameters) => ({
5125
5311
  title: `Unknown path to ${namedParameters.fileType__singularForm} file`,
5126
5312
  description: `The aliased path '${namedParameters.pickedPathOfTargetResourceFile}' without filename extension ` +
5127
- "refers to unknown file. Tried to search with all supported filename extensions: " +
5313
+ "refers to unknown file. Tried to search at path with all supported filename extensions: " +
5128
5314
  `${namedParameters.checkedAbsolutePaths__formatted}.`
5129
5315
  }),
5130
- generateNoOutputFileExistingForSpecifiedSourceFilePath: (namedParameters) => ({
5316
+ generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog: (namedParameters) => ({
5131
5317
  title: `Unknown path to ${namedParameters.fileType__singularForm} file`,
5132
- description: `No ${namedParameters.fileType__singularForm} output file has been found for specified aliased source ` +
5133
- `file path '${namedParameters.pickedPathOfTargetResourceFile}'.`
5318
+ description: `No ${namedParameters.fileType__singularForm} output file has been found for specified source ` +
5319
+ `file path '${namedParameters.pickedPathOfTargetResourceFile}' including reference.`
5134
5320
  })
5135
5321
  };
5136
- exports["default"] = assetsPathsAliasesResolverForHTML_Localization__english;
5322
+ exports["default"] = resourcesReferencesResolverForHTML_Localization__english;
5137
5323
 
5138
5324
 
5139
5325
  /***/ }),
5140
5326
 
5141
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AssetsPathsAliasesResolverForHTML/ResourceFilesPathsAliasesResolverForHTML.ts":
5142
- /*!*******************************************************************************************************************************************!*\
5143
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AssetsPathsAliasesResolverForHTML/ResourceFilesPathsAliasesResolverForHTML.ts ***!
5144
- \*******************************************************************************************************************************************/
5327
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts":
5328
+ /*!**************************************************************************************************************************************!*\
5329
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts ***!
5330
+ \**************************************************************************************************************************************/
5145
5331
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5146
5332
 
5147
5333
 
@@ -5150,27 +5336,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5150
5336
  };
5151
5337
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5152
5338
  /* --- Assets ------------------------------------------------------------------------------------------------------- */
5153
- const AssetsPathsAliasesResolverForHTML_Localization_english_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/AssetsPathsAliasesResolverForHTML/AssetsPathsAliasesResolverForHTML_Localization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AssetsPathsAliasesResolverForHTML/AssetsPathsAliasesResolverForHTML_Localization.english.ts"));
5339
+ const ResourcesReferencesResolverForHTML_english_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts"));
5154
5340
  /* --- Applied auxiliaries ------------------------------------------------------------------------------------------ */
5155
5341
  const cheerio_1 = __importDefault(__webpack_require__(/*! cheerio */ "cheerio"));
5156
5342
  const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
5157
5343
  /* --- General auxiliaries ------------------------------------------------------------------------------------------ */
5158
5344
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
5159
5345
  const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
5160
- class ResourceFilesPathsAliasesResolverForHTML {
5161
- static localization = AssetsPathsAliasesResolverForHTML_Localization_english_1.default;
5346
+ class ResourcesReferencesResolverForHTML {
5347
+ static localization = ResourcesReferencesResolverForHTML_english_1.default;
5162
5348
  compiledHTML_File;
5163
5349
  HTML_FileContentCheerioCapturing;
5164
5350
  masterConfigRepresentative;
5165
- static resolvePathAliases(compiledHTML_File, masterConfigRepresentative) {
5166
- return new ResourceFilesPathsAliasesResolverForHTML(compiledHTML_File, masterConfigRepresentative).
5351
+ static resolve(compiledHTML_File, masterConfigRepresentative) {
5352
+ return new ResourcesReferencesResolverForHTML(compiledHTML_File, masterConfigRepresentative).
5353
+ resolveInternalLinks().
5167
5354
  resolveStylesheetsPathsAliases().
5168
5355
  resoleScriptsPathsAliases().
5169
5356
  resolveImagesPathsAliases().
5170
5357
  resolveVideosPathsAliases().
5171
5358
  resolveAudiosPathsAliases().
5172
5359
  /* [ Theory ] Without '{ decodeEntities: false }' all ideographic characters will be converted to entities
5173
- * like '文' what could cause some troubles during HTML code post-processing. */
5360
+ * like '文' what could cause some troubles during post-processing of HTML code. */
5174
5361
  HTML_FileContentCheerioCapturing.
5175
5362
  html({ decodeEntities: false });
5176
5363
  }
@@ -5179,14 +5366,50 @@ class ResourceFilesPathsAliasesResolverForHTML {
5179
5366
  this.HTML_FileContentCheerioCapturing = cheerio_1.default.load((0, getExpectedToBeNonNullStringifiedContentOfVinylFile_1.default)(compiledHTML_File));
5180
5367
  this.masterConfigRepresentative = masterConfigRepresentative;
5181
5368
  }
5369
+ resolveInternalLinks() {
5370
+ if ((0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.markupProcessingSettingsRepresentative)) {
5371
+ return this;
5372
+ }
5373
+ const markupProcessingSettingsRepresentative = this.masterConfigRepresentative.markupProcessingSettingsRepresentative;
5374
+ for (const anchorElement of Array.from(this.HTML_FileContentCheerioCapturing("a"))) {
5375
+ const anchorCheerioElement = this.HTML_FileContentCheerioCapturing(anchorElement);
5376
+ const hrefAttributeValue = anchorCheerioElement.attr("href");
5377
+ if (!(0, es_extensions_1.isNonEmptyString)(hrefAttributeValue)) {
5378
+ continue;
5379
+ }
5380
+ const resolvedURI = this.resolveOutputResourceFileAbsolutePathIfPossible({
5381
+ pickedPathOfTargetResourceFile: hrefAttributeValue,
5382
+ prefixOfAliasOfTopDirectoryOfResourcesGroup: markupProcessingSettingsRepresentative.prefixOfEntryPointsGroupReference,
5383
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: (0, es_extensions_1.createMapBasedOnOtherMap)(markupProcessingSettingsRepresentative.entryPointsGroupsNormalizedSettingsMappedByReferences, (pathAlias, markupEntryPointsGroupNormalizedSettings) => [
5384
+ pathAlias,
5385
+ markupEntryPointsGroupNormalizedSettings.isSingeEntryPointGroup ?
5386
+ markupEntryPointsGroupNormalizedSettings.sourceFilesGlobSelectors[0] :
5387
+ markupEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
5388
+ ]),
5389
+ supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: markupProcessingSettingsRepresentative.
5390
+ supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
5391
+ sourceAndOutputFilesAbsolutePathsCorrespondenceMap: markupProcessingSettingsRepresentative.sourceAndOutputFilesAbsolutePathsCorrespondenceMap,
5392
+ fileTypeForLogging__singularForm: markupProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM,
5393
+ fileTypeForLogging__pluralForm: markupProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM
5394
+ });
5395
+ if ((0, es_extensions_1.isNull)(resolvedURI)) {
5396
+ continue;
5397
+ }
5398
+ anchorCheerioElement.attr("href", this.buildResourceFileFinalPath({
5399
+ resolvedOutputAbsolutePathOfResourceFile: resolvedURI,
5400
+ resourceFileType__singularForm: markupProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
5401
+ }));
5402
+ }
5403
+ return this;
5404
+ }
5182
5405
  resolveStylesheetsPathsAliases() {
5183
5406
  if ((0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.stylesProcessingSettingsRepresentative)) {
5184
5407
  return this;
5185
5408
  }
5186
5409
  const stylesProcessingSettingsRepresentative = this.masterConfigRepresentative.stylesProcessingSettingsRepresentative;
5187
5410
  for (const linkElement of Array.from(this.HTML_FileContentCheerioCapturing("link[rel='stylesheet']"))) {
5188
- const $linkElement = this.HTML_FileContentCheerioCapturing(linkElement);
5189
- const hrefAttributeValue = $linkElement.attr("href");
5411
+ const linkCheerioElement = this.HTML_FileContentCheerioCapturing(linkElement);
5412
+ const hrefAttributeValue = linkCheerioElement.attr("href");
5190
5413
  if (!(0, es_extensions_1.isNonEmptyString)(hrefAttributeValue)) {
5191
5414
  continue;
5192
5415
  }
@@ -5209,7 +5432,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
5209
5432
  if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfStylesheet)) {
5210
5433
  continue;
5211
5434
  }
5212
- $linkElement.attr("href", this.buildResourceFileFinalPath({
5435
+ linkCheerioElement.attr("href", this.buildResourceFileFinalPath({
5213
5436
  resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfStylesheet,
5214
5437
  resourceFileType__singularForm: stylesProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM
5215
5438
  }));
@@ -5222,8 +5445,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
5222
5445
  }
5223
5446
  const ECMA_ScriptLogicProcessingConfigRepresentative = this.masterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative;
5224
5447
  for (const scriptElement of Array.from(this.HTML_FileContentCheerioCapturing("script"))) {
5225
- const $scriptElement = this.HTML_FileContentCheerioCapturing(scriptElement);
5226
- const srcAttributeValue = $scriptElement.attr("src");
5448
+ const scriptCheerioElement = this.HTML_FileContentCheerioCapturing(scriptElement);
5449
+ const srcAttributeValue = scriptCheerioElement.attr("src");
5227
5450
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
5228
5451
  continue;
5229
5452
  }
@@ -5247,7 +5470,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
5247
5470
  if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfScript)) {
5248
5471
  continue;
5249
5472
  }
5250
- $scriptElement.attr("src", this.buildResourceFileFinalPath({
5473
+ scriptCheerioElement.attr("src", this.buildResourceFileFinalPath({
5251
5474
  resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfScript,
5252
5475
  resourceFileType__singularForm: ECMA_ScriptLogicProcessingConfigRepresentative.
5253
5476
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
@@ -5261,8 +5484,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
5261
5484
  }
5262
5485
  const imagesProcessingConfigRepresentative = this.masterConfigRepresentative.imagesProcessingSettingsRepresentative;
5263
5486
  for (const imageElement of Array.from(this.HTML_FileContentCheerioCapturing("img"))) {
5264
- const $imageElement = this.HTML_FileContentCheerioCapturing(imageElement);
5265
- const srcAttributeValue = $imageElement.attr("src");
5487
+ const imageCheerioElement = this.HTML_FileContentCheerioCapturing(imageElement);
5488
+ const srcAttributeValue = imageCheerioElement.attr("src");
5266
5489
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
5267
5490
  continue;
5268
5491
  }
@@ -5279,14 +5502,14 @@ class ResourceFilesPathsAliasesResolverForHTML {
5279
5502
  if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfImage)) {
5280
5503
  continue;
5281
5504
  }
5282
- $imageElement.attr("src", this.buildResourceFileFinalPath({
5505
+ imageCheerioElement.attr("src", this.buildResourceFileFinalPath({
5283
5506
  resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfImage,
5284
5507
  resourceFileType__singularForm: imagesProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM
5285
5508
  }));
5286
5509
  }
5287
5510
  for (const linkElement of Array.from(this.HTML_FileContentCheerioCapturing("link[type='image/x-icon']"))) {
5288
- const $linkElement = this.HTML_FileContentCheerioCapturing(linkElement);
5289
- const hrefAttributeValue = $linkElement.attr("href");
5511
+ const linkCheerioElement = this.HTML_FileContentCheerioCapturing(linkElement);
5512
+ const hrefAttributeValue = linkCheerioElement.attr("href");
5290
5513
  if ((0, es_extensions_1.isUndefined)(hrefAttributeValue)) {
5291
5514
  continue;
5292
5515
  }
@@ -5305,7 +5528,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
5305
5528
  if ((0, es_extensions_1.isNull)(imageResolvedOutputAbsolutePath)) {
5306
5529
  continue;
5307
5530
  }
5308
- $linkElement.attr("href", this.buildResourceFileFinalPath({
5531
+ linkCheerioElement.attr("href", this.buildResourceFileFinalPath({
5309
5532
  resolvedOutputAbsolutePathOfResourceFile: imageResolvedOutputAbsolutePath,
5310
5533
  resourceFileType__singularForm: imagesProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
5311
5534
  }));
@@ -5318,8 +5541,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
5318
5541
  }
5319
5542
  const videosProcessingConfigRepresentative = this.masterConfigRepresentative.videosProcessingSettingsRepresentative;
5320
5543
  for (const sourceElement of Array.from(this.HTML_FileContentCheerioCapturing("video > source"))) {
5321
- const $sourceElement = this.HTML_FileContentCheerioCapturing(sourceElement);
5322
- const srcAttributeValue = $sourceElement.attr("src");
5544
+ const sourceCheerioElement = this.HTML_FileContentCheerioCapturing(sourceElement);
5545
+ const srcAttributeValue = sourceCheerioElement.attr("src");
5323
5546
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
5324
5547
  continue;
5325
5548
  }
@@ -5336,7 +5559,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
5336
5559
  if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfVideo)) {
5337
5560
  continue;
5338
5561
  }
5339
- $sourceElement.attr("src", this.buildResourceFileFinalPath({
5562
+ sourceCheerioElement.attr("src", this.buildResourceFileFinalPath({
5340
5563
  resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfVideo,
5341
5564
  resourceFileType__singularForm: videosProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
5342
5565
  }));
@@ -5349,8 +5572,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
5349
5572
  }
5350
5573
  const audiosProcessingConfigRepresentative = this.masterConfigRepresentative.audiosProcessingSettingsRepresentative;
5351
5574
  for (const sourceElement of Array.from(this.HTML_FileContentCheerioCapturing("audio > source"))) {
5352
- const $sourceElement = this.HTML_FileContentCheerioCapturing(sourceElement);
5353
- const srcAttributeValue = $sourceElement.attr("src");
5575
+ const sourceCheerioElement = this.HTML_FileContentCheerioCapturing(sourceElement);
5576
+ const srcAttributeValue = sourceCheerioElement.attr("src");
5354
5577
  if ((0, es_extensions_1.isUndefined)(srcAttributeValue)) {
5355
5578
  continue;
5356
5579
  }
@@ -5367,7 +5590,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
5367
5590
  if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfVideo)) {
5368
5591
  continue;
5369
5592
  }
5370
- $sourceElement.attr("src", this.buildResourceFileFinalPath({
5593
+ sourceCheerioElement.attr("src", this.buildResourceFileFinalPath({
5371
5594
  resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfVideo,
5372
5595
  resourceFileType__singularForm: audiosProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
5373
5596
  }));
@@ -5386,8 +5609,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
5386
5609
  }
5387
5610
  const sourceFilesTopDirectoryAbsolutePathOfCurrentAlias = sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.get(firstSegmentOfPickedPath);
5388
5611
  if ((0, es_extensions_1.isUndefined)(sourceFilesTopDirectoryAbsolutePathOfCurrentAlias)) {
5389
- es_extensions_1.Logger.logWarning(ResourceFilesPathsAliasesResolverForHTML.localization.generateUnknownSourceFileTopDirectoryAliasWarning({
5390
- fileType__singularForm: fileTypeForLogging__pluralForm,
5612
+ es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateUnknownResourceGroupReferenceWarningLog({
5613
+ fileType__pluralForm: fileTypeForLogging__pluralForm,
5391
5614
  firstPathSegment: firstSegmentOfPickedPath,
5392
5615
  pickedPathOfTargetResourceFile,
5393
5616
  formattedSourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(Array.from(sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.entries()))
@@ -5402,8 +5625,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
5402
5625
  `${supportedStylesheetFileNameExtensionWithoutLeadingDot}`);
5403
5626
  const searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap = (0, es_extensions_1.filterMap)(sourceAndOutputFilesAbsolutePathsCorrespondenceMap, (sourceFileAbsolutePath) => possibleAbsolutePathsOfTargetSourceFile.includes(sourceFileAbsolutePath));
5404
5627
  if (searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap.size === 0) {
5405
- es_extensions_1.Logger.logWarning(ResourceFilesPathsAliasesResolverForHTML.localization.
5406
- generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarning({
5628
+ es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.
5629
+ generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarningLog({
5407
5630
  pickedPathOfTargetResourceFile,
5408
5631
  fileType__singularForm: fileTypeForLogging__pluralForm,
5409
5632
  checkedAbsolutePaths__formatted: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(possibleAbsolutePathsOfTargetSourceFile)
@@ -5415,7 +5638,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
5415
5638
  const resolvedFileOutputAbsolutePath = sourceAndOutputFilesAbsolutePathsCorrespondenceMap.
5416
5639
  get(sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension);
5417
5640
  if ((0, es_extensions_1.isUndefined)(resolvedFileOutputAbsolutePath)) {
5418
- es_extensions_1.Logger.logWarning(ResourceFilesPathsAliasesResolverForHTML.localization.generateNoOutputFileExistingForSpecifiedSourceFilePath({
5641
+ es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog({
5419
5642
  pickedPathOfTargetResourceFile,
5420
5643
  fileType__singularForm: fileTypeForLogging__pluralForm
5421
5644
  }));
@@ -5424,12 +5647,13 @@ class ResourceFilesPathsAliasesResolverForHTML {
5424
5647
  return resolvedFileOutputAbsolutePath;
5425
5648
  }
5426
5649
  buildResourceFileFinalPath({ resolvedOutputAbsolutePathOfResourceFile, resourceFileType__singularForm }) {
5427
- if (this.masterConfigRepresentative.isDevelopmentBuildingMode ||
5650
+ if (this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
5428
5651
  (0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.actualPublicDirectoryAbsolutePath)) {
5429
- if (!this.masterConfigRepresentative.isDevelopmentBuildingMode &&
5652
+ if (!this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
5430
5653
  (0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.actualPublicDirectoryAbsolutePath)) {
5431
- es_extensions_1.Logger.logWarning(ResourceFilesPathsAliasesResolverForHTML.localization.generateUnableToResolveShortenedAbsolutePathWarning({
5654
+ es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateUnableToResolveShortenedAbsolutePathWarningLog({
5432
5655
  projectBuildingMode: this.masterConfigRepresentative.consumingProjectBuildingMode,
5656
+ targetFileAbsolutePath: resolvedOutputAbsolutePathOfResourceFile,
5433
5657
  filesType__singularForm: resourceFileType__singularForm
5434
5658
  }));
5435
5659
  }
@@ -5444,181 +5668,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
5444
5668
  })}`;
5445
5669
  }
5446
5670
  }
5447
- exports["default"] = ResourceFilesPathsAliasesResolverForHTML;
5448
-
5449
-
5450
- /***/ }),
5451
-
5452
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts":
5453
- /*!**********************************************************************************************!*\
5454
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts ***!
5455
- \**********************************************************************************************/
5456
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5457
-
5458
-
5459
- var __importDefault = (this && this.__importDefault) || function (mod) {
5460
- return (mod && mod.__esModule) ? mod : { "default": mod };
5461
- };
5462
- Object.defineProperty(exports, "__esModule", ({ value: true }));
5463
- /* --- Assets ------------------------------------------------------------------------------------------------------- */
5464
- const HTML_ValidatorLocalization_english_1 = __importDefault(__webpack_require__(/*! ./HTML_ValidatorLocalization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts"));
5465
- /* --- Applied utils ------------------------------------------------------------------------------------------------ */
5466
- const html_validator_1 = __importDefault(__webpack_require__(/*! html-validator */ "html-validator"));
5467
- const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
5468
- const isCompiledHTML_ContentEmpty_1 = __importDefault(__webpack_require__(/*! @Utils/isCompiledHTML_ContentEmpty */ "./Utils/isCompiledHTML_ContentEmpty.ts"));
5469
- const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
5470
- /* --- General utils ------------------------------------------------------------------------------------------------ */
5471
- const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
5472
- const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
5473
- const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
5474
- class HTML_Validator {
5475
- static localization = HTML_ValidatorLocalization_english_1.default;
5476
- static validateHTML(compiledHTML_File, masterConfigRepresentative) {
5477
- const extractedHTML_Code = (0, getExpectedToBeNonNullStringifiedContentOfVinylFile_1.default)(compiledHTML_File);
5478
- const targetFileRelativePath = ImprovedPath_1.default.computeRelativePath({
5479
- basePath: masterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
5480
- comparedPath: compiledHTML_File.path
5481
- });
5482
- if ((0, isCompiledHTML_ContentEmpty_1.default)(extractedHTML_Code)) {
5483
- es_extensions_1.Logger.logWarning(HTML_Validator.localization.generateFileIsEmptyWarningLog({ targetFileRelativePath }));
5484
- return;
5485
- }
5486
- const validationTimeMeasuringStopwatch = new Stopwatch_1.default().startOrRestart();
5487
- es_extensions_1.Logger.logInfo(HTML_Validator.localization.generateValidationStartedInfoLog({ targetFileRelativePath }));
5488
- (0, html_validator_1.default)({
5489
- /* eslint-disable-next-line id-denylist --
5490
- * From the viewpoint of TypeScript, the property name does not conflict with imported names.
5491
- * ESLint community has declined to fix this.
5492
- * https://github.com/eslint/eslint/issues/15504 */
5493
- data: extractedHTML_Code,
5494
- format: "json"
5495
- }).
5496
- then((validationResults) => {
5497
- const validationPeriod__seconds = validationTimeMeasuringStopwatch.stop().seconds;
5498
- const filteredIssues = (0, es_extensions_1.removeArrayElementsByPredicates)({
5499
- targetArray: validationResults.messages,
5500
- predicates: HTML_Validator.getPredicatesForHTML_ValidationIssuesFiltering(),
5501
- mutably: false
5502
- }).updatedArray;
5503
- if (filteredIssues.length === 0) {
5504
- es_extensions_1.Logger.logSuccess(HTML_Validator.localization.generateValidationFinishedWithNoIssuesFoundSuccessLog({
5505
- targetFileRelativePath,
5506
- secondsElapsed: validationPeriod__seconds
5507
- }));
5508
- return;
5509
- }
5510
- node_notifier_1.default.notify(HTML_Validator.localization.issuesFoundNotification);
5511
- const formattedErrors = [];
5512
- for (const issue of filteredIssues) {
5513
- let accumulatingFormattedError = "";
5514
- if (HTML_Validator.isValidationMessageLocationObject(issue)) {
5515
- const codeFragmentPartWhichMustBeHighlighted = issue.extract.substring(issue.hiliteStart, issue.hiliteStart + issue.hiliteLength);
5516
- accumulatingFormattedError = `${issue.extract.replace(codeFragmentPartWhichMustBeHighlighted, es_extensions_1.Logger.highlightText(codeFragmentPartWhichMustBeHighlighted))}\n${HTML_Validator.localization.generateIssueOccurrenceLocationIndication({
5517
- lineNumber: issue.lastLine, startingColumnNumber: issue.firstColumn, lastColumnNumber: issue.lastColumn
5518
- })}\n`;
5519
- }
5520
- switch (issue.type) {
5521
- case "error": {
5522
- accumulatingFormattedError = `${accumulatingFormattedError}` +
5523
- `${HTML_Validator.localization.issuesTypesTitles.grossViolation}` +
5524
- `${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
5525
- break;
5526
- }
5527
- case "info": {
5528
- accumulatingFormattedError =
5529
- `${accumulatingFormattedError}` +
5530
- `${HTML_Validator.localization.issuesTypesTitles.recommendationDisregard}` +
5531
- `${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
5532
- break;
5533
- }
5534
- default: {
5535
- accumulatingFormattedError = `${accumulatingFormattedError}` +
5536
- `${HTML_Validator.localization.issuesTypesTitles.other}` +
5537
- `${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
5538
- break;
5539
- }
5540
- }
5541
- accumulatingFormattedError = `${accumulatingFormattedError}${issue.message}`;
5542
- formattedErrors.push(accumulatingFormattedError);
5543
- }
5544
- es_extensions_1.Logger.logErrorLikeMessage(HTML_Validator.localization.generateIssuesFoundErrorLog({
5545
- targetFileRelativePath,
5546
- formattedErrors: formattedErrors.join("\n\n")
5547
- }));
5548
- }).
5549
- catch((error) => {
5550
- es_extensions_1.Logger.logError({
5551
- errorType: es_extensions_1.DataRetrievingFailedError.localization.defaultTitle,
5552
- ...HTML_Validator.localization.validationFailedErrorLog,
5553
- occurrenceLocation: "HTML_Validator.validateHTML(...parameters)",
5554
- caughtError: error
5555
- });
5556
- });
5557
- }
5558
- static getPredicatesForHTML_ValidationIssuesFiltering() {
5559
- return [
5560
- (HTML_ValidationIssue) => HTML_ValidationIssue.message === "Attribute “webkitdirectory” not allowed on element “input” at this point."
5561
- ];
5562
- }
5563
- static isValidationMessageLocationObject(violation) {
5564
- return (0, es_extensions_1.isArbitraryObject)(violation) &&
5565
- (0, es_extensions_1.isNotUndefined)(violation.extract) &&
5566
- (0, es_extensions_1.isNotUndefined)(violation.lastLine) &&
5567
- (0, es_extensions_1.isNotUndefined)(violation.firstColumn) &&
5568
- (0, es_extensions_1.isNotUndefined)(violation.lastColumn);
5569
- }
5570
- }
5571
- exports["default"] = HTML_Validator;
5572
-
5573
-
5574
- /***/ }),
5575
-
5576
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts":
5577
- /*!******************************************************************************************************************!*\
5578
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts ***!
5579
- \******************************************************************************************************************/
5580
- /***/ ((__unused_webpack_module, exports) => {
5581
-
5582
-
5583
- Object.defineProperty(exports, "__esModule", ({ value: true }));
5584
- const HTML_ValidatorLocalization__English = {
5585
- generateFileIsEmptyWarningLog: (namedParameters) => ({
5586
- title: "HTML validation terminated",
5587
- description: `File '${namedParameters.targetFileRelativePath}' is empty, no HTML to inspect.`
5588
- }),
5589
- generateValidationStartedInfoLog: (namedParameters) => ({
5590
- title: "HTML validation started",
5591
- description: `Begin the inspection of file '${namedParameters.targetFileRelativePath}' ...`
5592
- }),
5593
- generateValidationFinishedWithNoIssuesFoundSuccessLog: (namedParameters) => ({
5594
- title: "HTML validation finished",
5595
- description: `File '${namedParameters.targetFileRelativePath}' is fully obeying to W3C rules and recommendations.\n` +
5596
- `${namedParameters.secondsElapsed} seconds elapsed.`
5597
- }),
5598
- issuesFoundNotification: {
5599
- title: "HTML validation, issue(s) found",
5600
- message: "W3C rules violations and / or recommendations neglect detected. Check the console for the details."
5601
- },
5602
- generateIssueOccurrenceLocationIndication: (namedParameters) => `Line ${namedParameters.lineNumber}, ` +
5603
- `columns ${namedParameters.startingColumnNumber}-${namedParameters.lastColumnNumber}`,
5604
- issuesTypesTitles: {
5605
- grossViolation: "Gross violation",
5606
- recommendationDisregard: "Recommendation disregard",
5607
- other: "Other issue",
5608
- keyAndValueSeparator: ": "
5609
- },
5610
- generateIssuesFoundErrorLog: (namedParameters) => ({
5611
- customBadgeText: "HTML validation not passed",
5612
- title: "HTML validation, issue(s) found",
5613
- description: `File '${namedParameters.targetFileRelativePath}' is including following HTML validity issues:\n\n` +
5614
- `${namedParameters.formattedErrors}\n\n`
5615
- }),
5616
- validationFailedErrorLog: {
5617
- title: "HTML validation failed",
5618
- description: "The error occurred during HTML validation"
5619
- }
5620
- };
5621
- exports["default"] = HTML_ValidatorLocalization__English;
5671
+ exports["default"] = ResourcesReferencesResolverForHTML;
5622
5672
 
5623
5673
 
5624
5674
  /***/ }),
@@ -5901,7 +5951,8 @@ exports["default"] = {
5901
5951
  waitingForSubsequentFilesWillBeSavedPeriod__seconds: 1,
5902
5952
  filePathAliasNotation: "@",
5903
5953
  revisioning: {
5904
- mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.development,
5954
+ mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview &&
5955
+ projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.development,
5905
5956
  contentHashPostfixSeparator: "--"
5906
5957
  },
5907
5958
  linting: {
@@ -5990,11 +6041,9 @@ var StylesProcessingSettings__FromFile__RawValid;
5990
6041
  preValidationModifications: es_extensions_1.nullToUndefined,
5991
6042
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5992
6043
  required: true,
5993
- oneOfKeysIsRequired: [
5994
- consumingProjectLocalizedPreDefinedBuildingModes.development,
5995
- consumingProjectLocalizedPreDefinedBuildingModes.production
5996
- ],
6044
+ minimalEntriesCount: 1,
5997
6045
  keysRenamings: {
6046
+ [consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
5998
6047
  [consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
5999
6048
  [consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
6000
6049
  [consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
@@ -6067,7 +6116,7 @@ class StylesProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
6067
6116
  return () => new stream_1.PassThrough().end();
6068
6117
  }
6069
6118
  const dataHoldingSelfInstance = new StylesProcessor(masterConfigRepresentative, stylesProcessingSettingsRepresentative);
6070
- if (masterConfigRepresentative.isDevelopmentBuildingMode) {
6119
+ if (masterConfigRepresentative.isStaticPreviewBuildingMode || masterConfigRepresentative.isDevelopmentBuildingMode) {
6071
6120
  dataHoldingSelfInstance.initializeSourceFilesDirectoriesWhichAlwaysWillBeBeingWatchedGlobSelectors();
6072
6121
  dataHoldingSelfInstance.initializeOrUpdateWatchedSourceFilesGlobSelectors();
6073
6122
  dataHoldingSelfInstance.initializeOrUpdateSourceFilesWatcher();
@@ -6089,7 +6138,8 @@ class StylesProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
6089
6138
  pipe(super.printProcessedFilesPathsAndQuantity()).
6090
6139
  pipe(super.handleErrorIfItWillOccur()).
6091
6140
  pipe((0, gulp_intercept_1.default)(this.addActualSourceCodeProcessingSettingsToVinylFile.bind(this))).
6092
- pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isDevelopmentBuildingMode, gulp_sourcemaps_1.default.init())).
6141
+ pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
6142
+ this.masterConfigRepresentative.isDevelopmentBuildingMode, gulp_sourcemaps_1.default.init())).
6093
6143
  pipe((0, gulp_if_1.default)((file) => file.mustBeProcessedByStylus, (0, gulp_stylus_1.default)({
6094
6144
  /* [ Theory ] Allows to "@include XXX.css" which is critical for third-party libraries usage. */
6095
6145
  "include css": true
@@ -6101,14 +6151,17 @@ class StylesProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
6101
6151
  preset: [
6102
6152
  "default",
6103
6153
  {
6104
- normalizeWhitespace: !this.masterConfigRepresentative.isDevelopmentBuildingMode,
6105
- discardComments: !this.masterConfigRepresentative.isDevelopmentBuildingMode
6154
+ normalizeWhitespace: !this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
6155
+ !this.masterConfigRepresentative.isDevelopmentBuildingMode,
6156
+ discardComments: !this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
6157
+ !this.masterConfigRepresentative.isDevelopmentBuildingMode
6106
6158
  }
6107
6159
  ]
6108
6160
  })
6109
6161
  ]
6110
6162
  }))).
6111
- pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isDevelopmentBuildingMode, gulp_sourcemaps_1.default.write())).
6163
+ pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
6164
+ this.masterConfigRepresentative.isDevelopmentBuildingMode, gulp_sourcemaps_1.default.write())).
6112
6165
  pipe((0, gulp_intercept_1.default)(this.onPostProcessedCode.bind(this))).
6113
6166
  pipe(gulp_1.default.dest((targetFileInFinalState) => targetFileInFinalState.outputDirectoryAbsolutePath));
6114
6167
  }