@yamato-daiwa/automation 0.5.0 → 0.6.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 (3) hide show
  1. package/EntryPoint.js +1686 -734
  2. package/README.md +11 -182
  3. package/package.json +27 -26
package/EntryPoint.js CHANGED
@@ -2,6 +2,191 @@
2
2
  /******/ "use strict";
3
3
  /******/ var __webpack_modules__ = ({
4
4
 
5
+ /***/ "../node_modules/rev-hash/index.js":
6
+ /*!*****************************************!*\
7
+ !*** ../node_modules/rev-hash/index.js ***!
8
+ \*****************************************/
9
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
10
+
11
+ __webpack_require__.r(__webpack_exports__);
12
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13
+ /* harmony export */ "default": () => (/* binding */ revisionHash)
14
+ /* harmony export */ });
15
+ /* harmony import */ var node_crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:crypto */ "node:crypto");
16
+ /* harmony import */ var node_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! node:util */ "node:util");
17
+
18
+
19
+
20
+ function revisionHash(data) {
21
+ if (typeof data !== 'string' && !node_util__WEBPACK_IMPORTED_MODULE_1__.types.isUint8Array(data)) {
22
+ throw new TypeError('Expected a Uint8Array or string');
23
+ }
24
+
25
+ return node_crypto__WEBPACK_IMPORTED_MODULE_0__.createHash('md5').update(data).digest('hex').slice(0, 10);
26
+ }
27
+
28
+
29
+ /***/ }),
30
+
31
+ /***/ "../node_modules/w3c-html-validator/dist/w3c-html-validator.js":
32
+ /*!*********************************************************************!*\
33
+ !*** ../node_modules/w3c-html-validator/dist/w3c-html-validator.js ***!
34
+ \*********************************************************************/
35
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
36
+
37
+ __webpack_require__.r(__webpack_exports__);
38
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39
+ /* harmony export */ w3cHtmlValidator: () => (/* binding */ w3cHtmlValidator)
40
+ /* harmony export */ });
41
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! chalk */ "chalk");
42
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fs */ "fs");
43
+ /* harmony import */ var fancy_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! fancy-log */ "fancy-log");
44
+ /* harmony import */ var superagent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! superagent */ "superagent");
45
+ /* harmony import */ var slash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! slash */ "slash");
46
+ //! w3c-html-validator v1.8.2 ~~ https://github.com/center-key/w3c-html-validator ~~ MIT License
47
+
48
+
49
+
50
+
51
+
52
+
53
+ const w3cHtmlValidator = {
54
+ version: '1.8.2',
55
+ validate(options) {
56
+ const defaults = {
57
+ checkUrl: 'https://validator.w3.org/nu/',
58
+ dryRun: false,
59
+ ignoreLevel: null,
60
+ ignoreMessages: [],
61
+ output: 'json',
62
+ };
63
+ const settings = { ...defaults, ...options };
64
+ if (!settings.html && !settings.filename && !settings.website)
65
+ throw new Error('[w3c-html-validator] Must specify the "html", "filename", or "website" option.');
66
+ if (![null, 'info', 'warning'].includes(settings.ignoreLevel))
67
+ throw new Error(`[w3c-html-validator] Invalid ignoreLevel option: ${settings.ignoreLevel}`);
68
+ if (settings.output !== 'json' && settings.output !== 'html')
69
+ throw new Error('[w3c-html-validator] Option "output" must be "json" or "html".');
70
+ const filename = settings.filename ? slash__WEBPACK_IMPORTED_MODULE_4__(settings.filename) : null;
71
+ const mode = settings.html ? 'html' : filename ? 'filename' : 'website';
72
+ const readFile = (filename) => fs__WEBPACK_IMPORTED_MODULE_1__.readFileSync(filename, 'utf-8').replace(/\r/g, '');
73
+ const inputHtml = settings.html ?? (filename ? readFile(filename) : null);
74
+ const makePostRequest = () => superagent__WEBPACK_IMPORTED_MODULE_3__.post(settings.checkUrl)
75
+ .set('Content-Type', 'text/html; encoding=utf-8')
76
+ .send(inputHtml);
77
+ const makeGetRequest = () => superagent__WEBPACK_IMPORTED_MODULE_3__.get(settings.checkUrl)
78
+ .query({ doc: settings.website });
79
+ const w3cRequest = inputHtml ? makePostRequest() : makeGetRequest();
80
+ w3cRequest.set('User-Agent', 'W3C HTML Validator ~ github.com/center-key/w3c-html-validator');
81
+ w3cRequest.query({ out: settings.output });
82
+ const json = settings.output === 'json';
83
+ const success = '<p class="success">';
84
+ const titleLookup = {
85
+ html: `HTML String (characters: ${inputHtml?.length})`,
86
+ filename: filename,
87
+ website: settings.website,
88
+ };
89
+ const filterMessages = (response) => {
90
+ const aboveInfo = (subType) => settings.ignoreLevel === 'info' && !!subType;
91
+ const aboveIgnoreLevel = (message) => !settings.ignoreLevel || message.type !== 'info' || aboveInfo(message.subType);
92
+ const matchesSkipPattern = (title) => settings.ignoreMessages.some(pattern => typeof pattern === 'string' ? title.includes(pattern) : pattern.test(title));
93
+ const isImportant = (message) => aboveIgnoreLevel(message) && !matchesSkipPattern(message.message);
94
+ if (json)
95
+ response.body.messages = response.body.messages?.filter(isImportant) ?? [];
96
+ return response;
97
+ };
98
+ const toValidatorResults = (response) => ({
99
+ validates: json ? !response.body.messages.length : !!response.text?.includes(success),
100
+ mode: mode,
101
+ title: titleLookup[mode],
102
+ html: inputHtml,
103
+ filename: filename,
104
+ website: settings.website || null,
105
+ output: settings.output,
106
+ status: response.statusCode || -1,
107
+ messages: json ? response.body.messages : null,
108
+ display: json ? null : response.text,
109
+ dryRun: settings.dryRun,
110
+ });
111
+ const handleError = (reason) => {
112
+ const errRes = reason.response ?? {};
113
+ const getMsg = () => [errRes.status, errRes.res.statusMessage, errRes.request.url];
114
+ const message = reason.response ? getMsg() : [reason.errno, reason.message];
115
+ errRes.body = { messages: [{ type: 'network-error', message: message.join(' ') }] };
116
+ return toValidatorResults(errRes);
117
+ };
118
+ const pseudoResponse = {
119
+ statusCode: 200,
120
+ body: { messages: [] },
121
+ text: 'Validation bypassed.',
122
+ };
123
+ const pseudoRequest = () => new Promise(resolve => resolve(pseudoResponse));
124
+ const validation = settings.dryRun ? pseudoRequest() : w3cRequest;
125
+ return validation.then(filterMessages).then(toValidatorResults).catch(handleError);
126
+ },
127
+ dryRunNotice() {
128
+ fancy_log__WEBPACK_IMPORTED_MODULE_2__(chalk__WEBPACK_IMPORTED_MODULE_0__.gray('w3c-html-validator'), chalk__WEBPACK_IMPORTED_MODULE_0__.yellowBright('dry run mode:'), chalk__WEBPACK_IMPORTED_MODULE_0__.whiteBright('validation being bypassed'));
129
+ },
130
+ summary(numFiles) {
131
+ fancy_log__WEBPACK_IMPORTED_MODULE_2__(chalk__WEBPACK_IMPORTED_MODULE_0__.gray('w3c-html-validator'), chalk__WEBPACK_IMPORTED_MODULE_0__.magenta('files: ' + String(numFiles)));
132
+ },
133
+ reporter(results, options) {
134
+ const defaults = {
135
+ continueOnFail: false,
136
+ maxMessageLen: null,
137
+ quiet: false,
138
+ title: null,
139
+ };
140
+ const settings = { ...defaults, ...options };
141
+ if (typeof results?.validates !== 'boolean')
142
+ throw new Error('[w3c-html-validator] Invalid results for reporter(): ' + String(results));
143
+ const messages = results.messages ?? [];
144
+ const title = settings.title ?? results.title;
145
+ const status = results.validates ? chalk__WEBPACK_IMPORTED_MODULE_0__.green.bold('✔ pass') : chalk__WEBPACK_IMPORTED_MODULE_0__.red.bold('✘ fail');
146
+ const count = results.validates ? '' : `(messages: ${messages.length})`;
147
+ if (!results.validates || !settings.quiet)
148
+ fancy_log__WEBPACK_IMPORTED_MODULE_2__(chalk__WEBPACK_IMPORTED_MODULE_0__.gray('w3c-html-validator'), status, chalk__WEBPACK_IMPORTED_MODULE_0__.blue.bold(title), chalk__WEBPACK_IMPORTED_MODULE_0__.white(count));
149
+ const typeColorMap = {
150
+ error: chalk__WEBPACK_IMPORTED_MODULE_0__.red.bold,
151
+ warning: chalk__WEBPACK_IMPORTED_MODULE_0__.yellow.bold,
152
+ info: chalk__WEBPACK_IMPORTED_MODULE_0__.white.bold,
153
+ };
154
+ const logMessage = (message) => {
155
+ const type = message.subType ?? message.type;
156
+ const typeColor = typeColorMap[type] ?? chalk__WEBPACK_IMPORTED_MODULE_0__.redBright.bold;
157
+ const location = `line ${message.lastLine}, column ${message.firstColumn}:`;
158
+ const lineText = message.extract?.replace(/\n/g, '\\n');
159
+ const maxLen = settings.maxMessageLen ?? undefined;
160
+ fancy_log__WEBPACK_IMPORTED_MODULE_2__(typeColor('HTML ' + type + ':'), message.message.substring(0, maxLen));
161
+ if (message.lastLine)
162
+ fancy_log__WEBPACK_IMPORTED_MODULE_2__(chalk__WEBPACK_IMPORTED_MODULE_0__.white(location), chalk__WEBPACK_IMPORTED_MODULE_0__.magenta(lineText));
163
+ };
164
+ messages.forEach(logMessage);
165
+ const failDetails = () => {
166
+ const toString = (message) => `${message.subType ?? message.type} line ${message.lastLine} column ${message.firstColumn}`;
167
+ const fileDetails = () => `${results.filename} -- ${results.messages.map(toString).join(', ')}`;
168
+ return !results.filename ? results.messages[0].message : fileDetails();
169
+ };
170
+ if (!settings.continueOnFail && !results.validates)
171
+ throw new Error('[w3c-html-validator] Failed: ' + failDetails());
172
+ return results;
173
+ },
174
+ };
175
+
176
+
177
+
178
+ /***/ }),
179
+
180
+ /***/ "../package.json":
181
+ /*!***********************!*\
182
+ !*** ../package.json ***!
183
+ \***********************/
184
+ /***/ ((module) => {
185
+
186
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"1.0.0-alpha.0","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.0.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@eslint-community/eslint-plugin-eslint-comments":"4.4.1","@stylistic/eslint-plugin":"3.1.0","@typescript-eslint/eslint-plugin":"8.25.0","@typescript-eslint/parser":"8.25.0","@vue/compiler-sfc":"3.5.13","@webdiscus/pug-loader":"2.11.1","@yamato-daiwa/es-extensions":"1.8.0-alpha.9","@yamato-daiwa/es-extensions-nodejs":"1.8.0-alpha.9","@yamato-daiwa/style_guides":"0.6.4","autoprefixer":"10.4.20","browser-sync":"3.0.3","css-loader":"7.1.2","cssnano":"7.0.6","dotenv":"16.4.7","eslint":"9.21.0","eslint-plugin-import":"2.31.0","eslint-plugin-n":"17.15.1","eslint-plugin-react":"7.37.4","eslint-plugin-vue":"9.32.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-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","js-beautify":"1.15.4","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","pug-lint":"2.7.0","pug3-ast-loader":"0.0.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.1","ts-loader":"9.5.2","vinyl":"2.2.1","vue-loader":"17.4.2","vue-style-loader":"4.1.3","w3c-html-validator":"1.8.2","webpack":"5.98.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-if":"3.0.4","@types/gulp-imagemin":"7.0.3","@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/js-beautify":"1.14.3","@types/node":"22.13.7","@types/node-notifier":"8.0.5","@types/pa11y":"5.3.7","@types/probe-image-size":"7.2.5","@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.7.3","webpack-cli":"6.0.1"},"scripts":{"Incremental Development Building":"webpack --mode development","Production Building":"webpack --mode production","Linting":"eslint Source"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation.git"},"homepage":"https://automation.yamato-daiwa.com/","bugs":{"url":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation/issues","email":"tokugawa.takesi@gmail.com"}}');
187
+
188
+ /***/ }),
189
+
5
190
  /***/ "./ApplicationConsoleLineInterface.ts":
6
191
  /*!********************************************!*\
7
192
  !*** ./ApplicationConsoleLineInterface.ts ***!
@@ -182,12 +367,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
182
367
  return (mod && mod.__esModule) ? mod : { "default": mod };
183
368
  };
184
369
  Object.defineProperty(exports, "__esModule", ({ value: true }));
185
- /* --- Raw valid config --------------------------------------------------------------------------------------------- */
370
+ /* ─── Raw Valid Config ───────────────────────────────────────────────────────────────────────────────────────────── */
186
371
  const ProjectBuildingConfig__FromFile__RawValid_1 = __importDefault(__webpack_require__(/*! ./ProjectBuilding/ProjectBuildingConfig__FromFile__RawValid */ "./ProjectBuilding/ProjectBuildingConfig__FromFile__RawValid.ts"));
187
372
  const ProjectBuildingConfigFromFileDefaultLocalization_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/ProjectBuildingConfigFromFileDefaultLocalization */ "./ProjectBuilding/ProjectBuildingConfigFromFileDefaultLocalization.ts"));
188
373
  const ProjectBuilderRawConfigNormalizer_1 = __importDefault(__webpack_require__(/*! ./ProjectBuilding/ProjectBuilderRawConfigNormalizer */ "./ProjectBuilding/ProjectBuilderRawConfigNormalizer.ts"));
189
374
  const ProjectBuildingMasterConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/ProjectBuildingMasterConfigRepresentative */ "./ProjectBuilding/ProjectBuildingMasterConfigRepresentative.ts"));
190
- /* --- Actuators ---------------------------------------------------------------------------------------------------- */
375
+ /* ─── Tasks Runners ──────────────────────────────────────────────────────────────────────────────────────────────── */
191
376
  const MarkupProcessor_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessor */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessor.ts"));
192
377
  const MarkupSourceCodeLinter_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/Linting/MarkupSourceCodeLinter */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/Linting/MarkupSourceCodeLinter.ts"));
193
378
  const CompiledTypeScriptImporterForPug_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/CompiledTypeScriptImporterForPug */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/CompiledTypeScriptImporterForPug.ts"));
@@ -202,10 +387,10 @@ const PlainCopier_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/P
202
387
  const LocalDevelopmentServerOrchestrator_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/Subtasks/LocalDevelopmentServerOrchestration/LocalDevelopmentServerOrchestrator */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Subtasks/LocalDevelopmentServerOrchestration/LocalDevelopmentServerOrchestrator.ts"));
203
388
  const BrowserLiveReloader_1 = __importDefault(__webpack_require__(/*! @BrowserLiveReloading/BrowserLiveReloader */ "./ProjectBuilding/BrowserLiveReloading/BrowserLiveReloader.ts"));
204
389
  const OutputPackageJSON_Generator_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/OutputPackageJSON_Generating/OutputPackageJSON_Generator */ "./ProjectBuilding/OutputPackageJSON_Generating/OutputPackageJSON_Generator.ts"));
205
- /* --- Applied utils ------------------------------------------------------------------------------------------------ */
390
+ /* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
206
391
  const gulp_1 = __importDefault(__webpack_require__(/*! gulp */ "gulp"));
207
392
  const FilesMasterWatcher_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/FilesWatching/Watchers/FilesMasterWatcher */ "./ProjectBuilding/FilesWatching/Watchers/FilesMasterWatcher.ts"));
208
- /* --- General utils ------------------------------------------------------------------------------------------------ */
393
+ /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
209
394
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
210
395
  class ProjectBuilder {
211
396
  static buildProject({ consumingProjectRootDirectoryAbsolutePath, projectBuildingConfig__fromConsole, rawConfigFromFile }) {
@@ -235,15 +420,17 @@ class ProjectBuilder {
235
420
  gulp_1.default.series([
236
421
  gulp_1.default.parallel([
237
422
  CompiledTypeScriptImporterForPug_1.default.provideTypeScriptImportsForMarkupIfMust(masterConfigRepresentative),
238
- StylesProcessor_1.default.provideStylesProcessingIfMust(masterConfigRepresentative),
239
423
  ECMA_ScriptLogicProcessor_1.default.provideLogicProcessingIfMust(masterConfigRepresentative),
240
424
  PlainCopier_1.default.providePlainCopierIfMust(masterConfigRepresentative)
241
425
  ]),
242
- /* 理論 何方でも重たいので、"Gulp.parallel"に結合しない方が良い。 */
426
+ /* [ Theory ] The following 4 tasks are heavy thus it is better to not run them at parallel. */
243
427
  ImagesProcessor_1.default.provideImagesProcessingIfMust(masterConfigRepresentative),
244
428
  FontsProcessor_1.default.provideFontsProcessingIfMust(masterConfigRepresentative),
245
429
  AudiosProcessor_1.default.provideAudiosProcessingIfMust(masterConfigRepresentative),
246
430
  VideosProcessor_1.default.provideVideosProcessingIfMust(masterConfigRepresentative),
431
+ /* [ Theory ] The styles needs the images and fonts be processed. */
432
+ StylesProcessor_1.default.provideStylesProcessingIfMust(masterConfigRepresentative),
433
+ /* [ Theory ] The markup needs all previously mentioned resources be processed. */
247
434
  MarkupProcessor_1.default.provideMarkupProcessingIfMust(masterConfigRepresentative),
248
435
  BrowserLiveReloader_1.default.provideBrowserLiveReloadingIfMust(masterConfigRepresentative),
249
436
  OutputPackageJSON_Generator_1.default.generateIfMust(masterConfigRepresentative),
@@ -256,10 +443,10 @@ class ProjectBuilder {
256
443
  gulp_1.default.task(GULP_TASK_NAME)?.((error) => {
257
444
  if ((0, es_extensions_1.isNeitherUndefinedNorNull)(error)) {
258
445
  es_extensions_1.Logger.logError({
259
- errorType: "UnhandledGulpPipelinesError",
260
- title: "Unhandled Gulp pipelines error",
261
- description: "Unhandled in Gulp pipelines error occurred",
262
- occurrenceLocation: "ProjectBuilder.buildProject(namedParameters)",
446
+ errorType: es_extensions_1.UnexpectedEventError.NAME,
447
+ title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
448
+ description: "The following unexpected error has crashed the Gulp pipeline:",
449
+ occurrenceLocation: "ProjectBuilder.buildProject(compoundParameter)",
263
450
  caughtError: error
264
451
  });
265
452
  }
@@ -1017,8 +1204,8 @@ class ImagesProcessingSettingsRepresentative extends AssetsProcessingSettingsRep
1017
1204
  relevantSourceFilesGlobSelectors;
1018
1205
  assetsProcessingCommonSettings;
1019
1206
  relevantAssetsGroupsSettingsMappedByGroupID;
1020
- TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Image";
1021
- TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Images";
1207
+ TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "image";
1208
+ TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "images";
1022
1209
  constructor(imagesManagementSettings, projectBuildingMasterConfigRepresentative) {
1023
1210
  super({
1024
1211
  assetsProcessingCommonSettings: imagesManagementSettings.common,
@@ -2273,7 +2460,7 @@ class ProjectBuildingCommonSettingsNormalizer {
2273
2460
  }
2274
2461
  } : null,
2275
2462
  browserLiveReloadingSetupID: actualSelectiveExecution?.browserLiveReloadingSetupID,
2276
- mustGenerateOutputPackageJSON: actualSelectiveExecution?.outputPackageJSON_Generating === true,
2463
+ mustGenerateOutputPackageJSON: actualSelectiveExecution?.distributablePackageJSON_Generating === true,
2277
2464
  actualPublicDirectoryAbsolutePath
2278
2465
  };
2279
2466
  }
@@ -2281,6 +2468,257 @@ class ProjectBuildingCommonSettingsNormalizer {
2281
2468
  exports["default"] = ProjectBuildingCommonSettingsNormalizer;
2282
2469
 
2283
2470
 
2471
+ /***/ }),
2472
+
2473
+ /***/ "./ProjectBuilding/Common/Plugins/ResourcesPointersResolver.ts":
2474
+ /*!*********************************************************************!*\
2475
+ !*** ./ProjectBuilding/Common/Plugins/ResourcesPointersResolver.ts ***!
2476
+ \*********************************************************************/
2477
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2478
+
2479
+
2480
+ var __importDefault = (this && this.__importDefault) || function (mod) {
2481
+ return (mod && mod.__esModule) ? mod : { "default": mod };
2482
+ };
2483
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2484
+ /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
2485
+ const PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts"));
2486
+ /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
2487
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
2488
+ const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
2489
+ /* ─── Localization ───────────────────────────────────────────────────────────────────────────────────────────────── */
2490
+ const ResourcesPointersResolverLocalization_english_1 = __importDefault(__webpack_require__(/*! ./ResourcesPointersResolverLocalization.english */ "./ProjectBuilding/Common/Plugins/ResourcesPointersResolverLocalization.english.ts"));
2491
+ class ResourcesPointersResolver {
2492
+ static localization = ResourcesPointersResolverLocalization_english_1.default;
2493
+ static resolveOutputResourceFileAbsolutePathIfPossible({ pickedPathOfTargetResourceFile, sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap, supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots, sourceAndOutputFilesAbsolutePathsCorrespondenceMap, logging: { parentFileAbsolutePath, fileTypeForLogging__singularForm, fileTypeForLogging__pluralForm } }) {
2494
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(pickedPathOfTargetResourceFile);
2495
+ const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
2496
+ if ((0, es_extensions_1.isUndefined)(firstSegmentOfPickedPath)) {
2497
+ return null;
2498
+ }
2499
+ if (firstSegmentOfPickedPath.startsWith(PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default)) {
2500
+ const sourceFilesTopDirectoryAbsolutePathOfCurrentAlias = sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.get(firstSegmentOfPickedPath);
2501
+ if ((0, es_extensions_1.isUndefined)(sourceFilesTopDirectoryAbsolutePathOfCurrentAlias)) {
2502
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolver.localization.generateUnknownResourcesGroupAliasWarningLog({
2503
+ resourcesGroupAlias: firstSegmentOfPickedPath,
2504
+ resourceFileType__singularForm: fileTypeForLogging__singularForm,
2505
+ resourcePointer: pickedPathOfTargetResourceFile,
2506
+ resourceFileType__pluralForm: fileTypeForLogging__pluralForm,
2507
+ parentFileAbsolutePath,
2508
+ formattedResourcesGroupsAliasesAndCorrespondingAbsolutePathsMap: Array.
2509
+ from(sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.entries()).
2510
+ map(([sourceFilesTopDirectoriesAlias, sourceFilesTopDirectoryAbsolutePath]) => ` ● ${sourceFilesTopDirectoriesAlias}: ${sourceFilesTopDirectoryAbsolutePath}`).
2511
+ join("\n")
2512
+ }));
2513
+ return null;
2514
+ }
2515
+ const sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([sourceFilesTopDirectoryAbsolutePathOfCurrentAlias, ...segmentsOfPickedPath.slice(1)], { alwaysForwardSlashSeparators: true });
2516
+ const explicitlySpecifiedLastFileNameExtensionWithoutDotOfSourceFile = (0, es_extensions_1.extractLastExtensionOfFileName)({
2517
+ targetPath: sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension,
2518
+ withLeadingDot: false
2519
+ });
2520
+ if ((0, es_extensions_1.isNull)(explicitlySpecifiedLastFileNameExtensionWithoutDotOfSourceFile) ||
2521
+ !supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots.
2522
+ includes(explicitlySpecifiedLastFileNameExtensionWithoutDotOfSourceFile)) {
2523
+ const possibleAbsolutePathsOfTargetSourceFileWithoutFragment = supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots.map((supportedStylesheetFileNameExtensionWithoutLeadingDot) => (0, es_extensions_1.getURI_PartWithoutFragment)((0, es_extensions_1.appendLastFileNameExtension)({
2524
+ targetPath: sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension,
2525
+ targetFileNameExtensionWithOrWithoutLeadingDot: supportedStylesheetFileNameExtensionWithoutLeadingDot,
2526
+ mustAppendDuplicateEvenIfTargetLastFileNameExtensionAlreadyPresentsAtSpecifiedPath: false
2527
+ })));
2528
+ const searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap = (0, es_extensions_1.filterMap)(sourceAndOutputFilesAbsolutePathsCorrespondenceMap, (sourceFileAbsolutePath) => possibleAbsolutePathsOfTargetSourceFileWithoutFragment.includes(sourceFileAbsolutePath));
2529
+ if (searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap.size === 0) {
2530
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolver.localization.
2531
+ generateNoMatchesForResourceReferenceWihtoutExplicitSupportedFileNameExtensionWarningLog({
2532
+ resourcePointer: pickedPathOfTargetResourceFile,
2533
+ formattedListOfCheckedAbsolutePathsOfTargetFiles: possibleAbsolutePathsOfTargetSourceFileWithoutFragment.map((possibleAbsolutePathOfTargetSourceFileWithoutFragment) => ` ● ${possibleAbsolutePathOfTargetSourceFileWithoutFragment}`).join("\n"),
2534
+ resourceFileType__singularForm: fileTypeForLogging__singularForm
2535
+ }));
2536
+ return null;
2537
+ }
2538
+ return (0, es_extensions_1.appendFragmentToURI)({
2539
+ targetURI: Array.from(searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap.values())[0],
2540
+ targetFragmentWithOrWithoutLeadingHash: (0, es_extensions_1.getURI_Fragment)({
2541
+ targetURI: sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension,
2542
+ withLeadingHash: false
2543
+ }),
2544
+ mustReplaceFragmentIfThereIsOneAlready: false
2545
+ });
2546
+ }
2547
+ const resolvedFileOutputAbsolutePath = sourceAndOutputFilesAbsolutePathsCorrespondenceMap.
2548
+ get(sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension);
2549
+ if ((0, es_extensions_1.isUndefined)(resolvedFileOutputAbsolutePath)) {
2550
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolver.localization.generateFileNotFoundForResolvedResourceReferenceWarningLog({
2551
+ resourcePointer: pickedPathOfTargetResourceFile,
2552
+ resourceFileType__singularForm: fileTypeForLogging__singularForm,
2553
+ resolvedFileAbsolutePath: sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension
2554
+ }));
2555
+ return null;
2556
+ }
2557
+ return resolvedFileOutputAbsolutePath;
2558
+ }
2559
+ return null;
2560
+ }
2561
+ }
2562
+ exports["default"] = ResourcesPointersResolver;
2563
+
2564
+
2565
+ /***/ }),
2566
+
2567
+ /***/ "./ProjectBuilding/Common/Plugins/ResourcesPointersResolverForCSS.ts":
2568
+ /*!***************************************************************************!*\
2569
+ !*** ./ProjectBuilding/Common/Plugins/ResourcesPointersResolverForCSS.ts ***!
2570
+ \***************************************************************************/
2571
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2572
+
2573
+
2574
+ var __importDefault = (this && this.__importDefault) || function (mod) {
2575
+ return (mod && mod.__esModule) ? mod : { "default": mod };
2576
+ };
2577
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2578
+ /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
2579
+ const PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX.ts"));
2580
+ /* ─── Superclass ─────────────────────────────────────────────────────────────────────────────────────────────────── */
2581
+ const ResourcesPointersResolver_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Plugins/ResourcesPointersResolver */ "./ProjectBuilding/Common/Plugins/ResourcesPointersResolver.ts"));
2582
+ /* ─── Shared State ───────────────────────────────────────────────────────────────────────────────────────────────── */
2583
+ const ImagesProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @ImagesProcessing/ImagesProcessingSharedState */ "./ProjectBuilding/AssetsProcessing/Images/ImagesProcessingSharedState.ts"));
2584
+ /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
2585
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
2586
+ const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
2587
+ class ResourcesPointersResolverForCSS extends ResourcesPointersResolver_1.default {
2588
+ static aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap = new Map();
2589
+ static imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap = new Map();
2590
+ /* [ Theory ]
2591
+ * This class designed not only for CSS files but also for the CSS inside HTML fields.
2592
+ * That is
2593
+ * */
2594
+ static resolve({ CSS_Code, absolutePathOfOutputDirectoryForParentFile, projectBuildingMasterConfigRepresentative, logging: { parentFileAbsolutePath } }) {
2595
+ const publicDirectoryAbsolutePath = projectBuildingMasterConfigRepresentative.
2596
+ actualPublicDirectoryAbsolutePath;
2597
+ const plainCopyingSettingsRepresentative = projectBuildingMasterConfigRepresentative.plainCopyingSettingsRepresentative;
2598
+ const imagesProcessingSettingsRepresentative = projectBuildingMasterConfigRepresentative.imagesProcessingSettingsRepresentative;
2599
+ if (ResourcesPointersResolverForCSS.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
2600
+ ResourcesPointersResolverForCSS.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
2601
+ (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.imagesProcessingSettingsRepresentative?.
2602
+ relevantAssetsGroupsSettingsMappedBySourceFilesTopDirectoryAliasName ?? new Map(), (pathAlias, imagesGroupNormalizedSettings) => [pathAlias, imagesGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath]);
2603
+ }
2604
+ return (0, es_extensions_1.replaceMatchesWithRegularExpressionToDynamicValue)({
2605
+ targetString: CSS_Code,
2606
+ regularExpressionWithCapturingGroups: /url\(["']?(?<possiblyAliasedPath>.+?)["']?\);?/gu,
2607
+ replacer: (matching) => {
2608
+ const possiblyAliasedPath = matching.namedCapturingGroups.possiblyAliasedPath;
2609
+ let resolvedAbsolutePath = ResourcesPointersResolverForCSS.
2610
+ aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
2611
+ get(possiblyAliasedPath) ??
2612
+ null;
2613
+ if ((0, es_extensions_1.isNotNull)(resolvedAbsolutePath)) {
2614
+ return `url("${this.buildResourceFileFinalPath({
2615
+ resolvedOutputAbsolutePathOfResourceFile: resolvedAbsolutePath,
2616
+ absolutePathOfOutputDirectoryForParentFile,
2617
+ publicDirectoryAbsolutePath
2618
+ })}");`;
2619
+ }
2620
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(possiblyAliasedPath);
2621
+ const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
2622
+ if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
2623
+ return null;
2624
+ }
2625
+ if ((0, es_extensions_1.isNotUndefined)(plainCopyingSettingsRepresentative) &&
2626
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
2627
+ resolvedAbsolutePath = plainCopyingSettingsRepresentative.
2628
+ getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
2629
+ if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
2630
+ return null;
2631
+ }
2632
+ ResourcesPointersResolverForCSS.
2633
+ aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
2634
+ set(possiblyAliasedPath, resolvedAbsolutePath);
2635
+ return `url("${this.buildResourceFileFinalPath({
2636
+ resolvedOutputAbsolutePathOfResourceFile: resolvedAbsolutePath,
2637
+ absolutePathOfOutputDirectoryForParentFile,
2638
+ publicDirectoryAbsolutePath
2639
+ })}");`;
2640
+ }
2641
+ if ((0, es_extensions_1.isUndefined)(imagesProcessingSettingsRepresentative)) {
2642
+ return null;
2643
+ }
2644
+ resolvedAbsolutePath = ResourcesPointersResolverForCSS.resolveOutputResourceFileAbsolutePathIfPossible({
2645
+ pickedPathOfTargetResourceFile: possiblyAliasedPath,
2646
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForCSS.
2647
+ imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
2648
+ supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: imagesProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
2649
+ sourceAndOutputFilesAbsolutePathsCorrespondenceMap: ImagesProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
2650
+ logging: {
2651
+ fileTypeForLogging__singularForm: imagesProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM,
2652
+ fileTypeForLogging__pluralForm: imagesProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM,
2653
+ parentFileAbsolutePath
2654
+ }
2655
+ });
2656
+ if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
2657
+ return null;
2658
+ }
2659
+ ResourcesPointersResolverForCSS.
2660
+ aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
2661
+ set(possiblyAliasedPath, resolvedAbsolutePath);
2662
+ return `url("${this.buildResourceFileFinalPath({
2663
+ resolvedOutputAbsolutePathOfResourceFile: resolvedAbsolutePath,
2664
+ absolutePathOfOutputDirectoryForParentFile,
2665
+ publicDirectoryAbsolutePath
2666
+ })}");`;
2667
+ }
2668
+ });
2669
+ }
2670
+ static buildResourceFileFinalPath({ publicDirectoryAbsolutePath, resolvedOutputAbsolutePathOfResourceFile, absolutePathOfOutputDirectoryForParentFile }) {
2671
+ return (0, es_extensions_1.isNotUndefined)(publicDirectoryAbsolutePath) ?
2672
+ `/${es_extensions_nodejs_1.ImprovedPath.computeRelativePath({
2673
+ basePath: publicDirectoryAbsolutePath,
2674
+ comparedPath: resolvedOutputAbsolutePathOfResourceFile,
2675
+ alwaysForwardSlashSeparators: true
2676
+ })}` :
2677
+ es_extensions_nodejs_1.ImprovedPath.computeRelativePath({
2678
+ basePath: absolutePathOfOutputDirectoryForParentFile,
2679
+ comparedPath: resolvedOutputAbsolutePathOfResourceFile,
2680
+ alwaysForwardSlashSeparators: true
2681
+ });
2682
+ }
2683
+ }
2684
+ exports["default"] = ResourcesPointersResolverForCSS;
2685
+
2686
+
2687
+ /***/ }),
2688
+
2689
+ /***/ "./ProjectBuilding/Common/Plugins/ResourcesPointersResolverLocalization.english.ts":
2690
+ /*!*****************************************************************************************!*\
2691
+ !*** ./ProjectBuilding/Common/Plugins/ResourcesPointersResolverLocalization.english.ts ***!
2692
+ \*****************************************************************************************/
2693
+ /***/ ((__unused_webpack_module, exports) => {
2694
+
2695
+
2696
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2697
+ const resourcesReferencesResolverForHTML_Localization__english = {
2698
+ generateUnknownResourcesGroupAliasWarningLog: ({ resourceFileType__pluralForm, resourcesGroupAlias, resourceFileType__singularForm, resourcePointer, parentFileAbsolutePath, formattedResourcesGroupsAliasesAndCorrespondingAbsolutePathsMap }) => ({
2699
+ title: "Unknown Resources Group Alias in Resource Pointer",
2700
+ description: `Unknown ${resourceFileType__pluralForm} resources group alias "${resourcesGroupAlias}" found in ` +
2701
+ `${resourceFileType__singularForm} resource pointer "${resourcePointer}" at the file ` +
2702
+ `"${parentFileAbsolutePath}". ` +
2703
+ `The ${resourceFileType__pluralForm} resources group alias be the one of the following declared ones: \n` +
2704
+ formattedResourcesGroupsAliasesAndCorrespondingAbsolutePathsMap
2705
+ }),
2706
+ generateNoMatchesForResourceReferenceWihtoutExplicitSupportedFileNameExtensionWarningLog: ({ resourceFileType__singularForm, resourcePointer, formattedListOfCheckedAbsolutePathsOfTargetFiles }) => ({
2707
+ title: "Unknown Resource Pointer",
2708
+ description: `No file found for ${resourceFileType__singularForm} resource pointer "${resourcePointer}" which has ` +
2709
+ "no explicit last file name extension among the supported ones. " +
2710
+ "Tried to search the file at paths with all supported files names extensions:\n" +
2711
+ formattedListOfCheckedAbsolutePathsOfTargetFiles
2712
+ }),
2713
+ generateFileNotFoundForResolvedResourceReferenceWarningLog: ({ resourceFileType__singularForm, resourcePointer, resolvedFileAbsolutePath }) => ({
2714
+ title: "Unknown Resource Pointer",
2715
+ description: `The ${resourceFileType__singularForm} resource pointer "${resourcePointer}" has been resolved to ` +
2716
+ `absolute path "${resolvedFileAbsolutePath}", but no corresponding output file has been found for this path.`
2717
+ })
2718
+ };
2719
+ exports["default"] = resourcesReferencesResolverForHTML_Localization__english;
2720
+
2721
+
2284
2722
  /***/ }),
2285
2723
 
2286
2724
  /***/ "./ProjectBuilding/Common/RawConfig/AssetsProcessingSettingsGenericProperties__FromFile__RawValid.ts":
@@ -2438,73 +2876,92 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
2438
2876
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2439
2877
  /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
2440
2878
  const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes */ "./ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes.ts"));
2879
+ /* ─── Raw Valid Configuration ────────────────────────────────────────────────────────────────────────────────────── */
2441
2880
  const ProjectBuildingTasksIDsForConfigFile_1 = __webpack_require__(/*! @ProjectBuilding:Common/RawConfig/Enumerations/ProjectBuildingTasksIDsForConfigFile */ "./ProjectBuilding/Common/RawConfig/Enumerations/ProjectBuildingTasksIDsForConfigFile.ts");
2442
2881
  /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
2443
2882
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
2444
2883
  var ProjectBuildingCommonSettings__FromFile__RawValid;
2445
2884
  (function (ProjectBuildingCommonSettings__FromFile__RawValid) {
2446
- function getLocalizedPropertiesSpecification({ projectBuildingCommonSettingsLocalization, tasksLocalizedIDs }) {
2447
- return {
2448
- [projectBuildingCommonSettingsLocalization.selectiveExecutions.KEY]: {
2449
- newName: "selectiveExecutions",
2450
- preValidationModifications: es_extensions_1.nullToUndefined,
2451
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2452
- required: false,
2453
- value: {
2454
- type: Object,
2455
- properties: {
2456
- [projectBuildingCommonSettingsLocalization.selectiveExecutions.tasksAndSourceFilesSelection.KEY]: {
2457
- newName: "tasksAndSourceFilesSelection",
2458
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2459
- required: true,
2460
- allowedKeys: Object.values(tasksLocalizedIDs),
2461
- keysRenamings: {
2462
- [tasksLocalizedIDs.markupProcessing]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.markupProcessing,
2463
- [tasksLocalizedIDs.stylesProcessing]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.stylesProcessing,
2464
- [tasksLocalizedIDs.ECMA_ScriptLogicProcessing]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.
2465
- ECMA_ScriptLogicProcessing,
2466
- [tasksLocalizedIDs.imagesProcessing]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.imagesProcessing,
2467
- [tasksLocalizedIDs.fontsProcessing]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.fontsProcessing,
2468
- [tasksLocalizedIDs.audiosProcessing]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.audiosProcessing,
2469
- [tasksLocalizedIDs.videosProcessing]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.videosProcessing,
2470
- [tasksLocalizedIDs.plainCopying]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.plainCopying,
2471
- [tasksLocalizedIDs.browserLiveReloading]: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.browserLiveReloading
2472
- },
2473
- value: {
2474
- type: Array,
2475
- minimalElementsCount: 1,
2476
- element: {
2477
- type: String,
2478
- minimalCharactersCount: 1
2479
- }
2480
- }
2481
- },
2482
- [projectBuildingCommonSettingsLocalization.selectiveExecutions.browserLiveReloadingSetupID.KEY]: {
2483
- newName: "browserLiveReloadingSetupID",
2484
- type: String,
2485
- required: false
2885
+ ProjectBuildingCommonSettings__FromFile__RawValid.propertiesSpecification = {
2886
+ $selectiveExecutions: {
2887
+ newName: "selectiveExecutions",
2888
+ preValidationModifications: es_extensions_1.nullToUndefined,
2889
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2890
+ required: false,
2891
+ minimalEntriesCount: 1,
2892
+ value: {
2893
+ type: Object,
2894
+ properties: {
2895
+ $tasksAndSourceFilesSelection: {
2896
+ newName: "tasksAndSourceFilesSelection",
2897
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2898
+ required: true,
2899
+ allowedKeys: [
2900
+ "$markupProcessing",
2901
+ "$stylesProcessing",
2902
+ "$ECMA_ScriptLogicProcessing",
2903
+ "$imagesProcessing",
2904
+ "$fontsProcessing",
2905
+ "$audiosProcessing",
2906
+ "$videosProcessing",
2907
+ "$plainCopying",
2908
+ "$browserLiveReloading"
2909
+ ],
2910
+ keysRenamings: {
2911
+ $markupProcessing: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.markupProcessing,
2912
+ $stylesProcessing: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.stylesProcessing,
2913
+ $ECMA_ScriptLogicProcessing: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.ECMA_ScriptLogicProcessing,
2914
+ $imagesProcessing: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.imagesProcessing,
2915
+ $fontsProcessing: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.fontsProcessing,
2916
+ $audiosProcessing: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.audiosProcessing,
2917
+ $videosProcessing: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.videosProcessing,
2918
+ $plainCopying: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.plainCopying,
2919
+ $browserLiveReloading: ProjectBuildingTasksIDsForConfigFile_1.ProjectBuildingTasksIDsForConfigFile.browserLiveReloading
2486
2920
  },
2487
- [projectBuildingCommonSettingsLocalization.selectiveExecutions.outputPackageJSON_Generating.KEY]: {
2488
- newName: "outputPackageJSON_Generating",
2489
- type: Boolean,
2490
- required: false
2921
+ value: {
2922
+ type: Array,
2923
+ minimalElementsCount: 1,
2924
+ element: {
2925
+ type: String,
2926
+ minimalCharactersCount: 1
2927
+ }
2491
2928
  }
2929
+ },
2930
+ $browserLiveReloadingSetupID: {
2931
+ newName: "browserLiveReloadingSetupID",
2932
+ type: String,
2933
+ required: false
2934
+ },
2935
+ $distributablePackageJSON_Generating: {
2936
+ newName: "distributablePackageJSON_Generating",
2937
+ type: Boolean,
2938
+ required: false
2492
2939
  }
2493
2940
  }
2941
+ }
2942
+ },
2943
+ $publicDirectoriesRelativePaths: {
2944
+ newName: "publicDirectoriesRelativePaths",
2945
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2946
+ required: false,
2947
+ allowedKeys: [
2948
+ "$localDevelopment",
2949
+ "$testing",
2950
+ "$staging",
2951
+ "$production"
2952
+ ],
2953
+ keysRenamings: {
2954
+ $localDevelopment: ConsumingProjectBuildingModes_1.default.localDevelopment,
2955
+ $testing: ConsumingProjectBuildingModes_1.default.testing,
2956
+ $staging: ConsumingProjectBuildingModes_1.default.staging,
2957
+ $production: ConsumingProjectBuildingModes_1.default.production
2494
2958
  },
2495
- [projectBuildingCommonSettingsLocalization.publicDirectoriesRelativePaths.KEY]: {
2496
- newName: "publicDirectoriesRelativePaths",
2497
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2498
- required: false,
2499
- allowedKeys: Object.values(ConsumingProjectBuildingModes_1.default),
2500
- value: {
2501
- type: String,
2502
- minimalCharactersCount: 1
2503
- }
2959
+ value: {
2960
+ type: String,
2961
+ minimalCharactersCount: 1
2504
2962
  }
2505
- };
2506
- }
2507
- ProjectBuildingCommonSettings__FromFile__RawValid.getLocalizedPropertiesSpecification = getLocalizedPropertiesSpecification;
2963
+ }
2964
+ };
2508
2965
  })(ProjectBuildingCommonSettings__FromFile__RawValid || (ProjectBuildingCommonSettings__FromFile__RawValid = {}));
2509
2966
  exports["default"] = ProjectBuildingCommonSettings__FromFile__RawValid;
2510
2967
 
@@ -2829,7 +3286,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
2829
3286
  return (mod && mod.__esModule) ? mod : { "default": mod };
2830
3287
  };
2831
3288
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2832
- const PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX.ts"));
3289
+ const PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts"));
2833
3290
  /* ─── Default Settings ───────────────────────────────────────────────────────────────────────────────────────────── */
2834
3291
  const AssetsProcessingGenericSettings__Default_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Defaults/AssetsProcessingGenericSettings__Default */ "./ProjectBuilding/Common/Defaults/AssetsProcessingGenericSettings__Default.ts"));
2835
3292
  /* ─── Settings normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
@@ -2872,7 +3329,7 @@ class AssetsProcessingRawSettingsNormalizer {
2872
3329
  },
2873
3330
  alwaysForwardSlashSeparators: true
2874
3331
  });
2875
- const aliasForPathsResolution = PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default +
3332
+ const aliasForPathsResolution = PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default +
2876
3333
  (assetsGroupSettings__rawValid.referenceCustomAliasName ?? groupID);
2877
3334
  const outputFilesBaseDirectoryAbsolutePathActualForCurrentProjectBuildingMode = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
2878
3335
  this.consumingProjectRootDirectoryAbsolutePath,
@@ -3176,30 +3633,30 @@ exports["default"] = ConsumingProjectBuildingModes;
3176
3633
 
3177
3634
  /***/ }),
3178
3635
 
3179
- /***/ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_ALIAS_PREFIX.ts":
3180
- /*!****************************************************************************************************!*\
3181
- !*** ./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_ALIAS_PREFIX.ts ***!
3182
- \****************************************************************************************************/
3636
+ /***/ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX.ts":
3637
+ /*!************************************************************************************************************!*\
3638
+ !*** ./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX.ts ***!
3639
+ \************************************************************************************************************/
3183
3640
  /***/ ((__unused_webpack_module, exports) => {
3184
3641
 
3185
3642
 
3186
3643
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3187
- const PLAIN_COPIED_FILES_ALIAS_PREFIX = "$";
3188
- exports["default"] = PLAIN_COPIED_FILES_ALIAS_PREFIX;
3644
+ const PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX = "$";
3645
+ exports["default"] = PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX;
3189
3646
 
3190
3647
 
3191
3648
  /***/ }),
3192
3649
 
3193
- /***/ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX.ts":
3194
- /*!************************************************************************************************************!*\
3195
- !*** ./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX.ts ***!
3196
- \************************************************************************************************************/
3650
+ /***/ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts":
3651
+ /*!***********************************************************************************************************!*\
3652
+ !*** ./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts ***!
3653
+ \***********************************************************************************************************/
3197
3654
  /***/ ((__unused_webpack_module, exports) => {
3198
3655
 
3199
3656
 
3200
3657
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3201
- const PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX = "@";
3202
- exports["default"] = PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX;
3658
+ const PROCESSABLE_FILES_POINTER_ALIAS_PREFIX = "@";
3659
+ exports["default"] = PROCESSABLE_FILES_POINTER_ALIAS_PREFIX;
3203
3660
 
3204
3661
 
3205
3662
  /***/ }),
@@ -3538,76 +3995,6 @@ class SourceCodeProcessingConfigRepresentative {
3538
3995
  exports["default"] = SourceCodeProcessingConfigRepresentative;
3539
3996
 
3540
3997
 
3541
- /***/ }),
3542
-
3543
- /***/ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBasedAssetsProcessor.ts":
3544
- /*!**********************************************************************************!*\
3545
- !*** ./ProjectBuilding/Common/TasksExecutors/GulpStreamsBasedAssetsProcessor.ts ***!
3546
- \**********************************************************************************/
3547
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3548
-
3549
-
3550
- var __importDefault = (this && this.__importDefault) || function (mod) {
3551
- return (mod && mod.__esModule) ? mod : { "default": mod };
3552
- };
3553
- Object.defineProperty(exports, "__esModule", ({ value: true }));
3554
- /* ─── Task Executors ─────────────────────────────────────────────────────────────────────────────────────────────── */
3555
- const GulpStreamsBasedTaskExecutor_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/GulpStreamsBasedTaskExecutor */ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/GulpStreamsBasedTaskExecutor.ts"));
3556
- const AssetVinylFile_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/VinylFiles/AssetVinylFile */ "./ProjectBuilding/Common/VinylFiles/AssetVinylFile.ts"));
3557
- const GulpStreamModifier_1 = __importDefault(__webpack_require__(/*! @Utils/GulpStreamModifier */ "./Utils/GulpStreamModifier.ts"));
3558
- const FileNameRevisionPostfixer_1 = __importDefault(__webpack_require__(/*! @Utils/FileNameRevisionPostfixer */ "./Utils/FileNameRevisionPostfixer.ts"));
3559
- /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
3560
- const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
3561
- class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.default {
3562
- absolutePathOfFilesWaitingForReProcessing = new Set();
3563
- WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS;
3564
- associatedAssetsProcessingSettingsRepresentative;
3565
- subsequentFilesStateChangeTimeout = null;
3566
- logging;
3567
- constructor(constructorParameter) {
3568
- super(constructorParameter);
3569
- this.associatedAssetsProcessingSettingsRepresentative = constructorParameter.
3570
- associatedAssetsProcessingSettingsRepresentative;
3571
- this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = constructorParameter.
3572
- waitingForSubsequentFilesWillSavedPeriod__seconds;
3573
- this.logging = {
3574
- pathsOfFilesWillBeProcessed: this.associatedAssetsProcessingSettingsRepresentative.loggingSettings.filesPaths,
3575
- quantityOfFilesWillBeProcessed: this.associatedAssetsProcessingSettingsRepresentative.loggingSettings.filesCount
3576
- };
3577
- }
3578
- /* ━━━ Pipeline methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
3579
- async replacePlainVinylFileWithAssetVinylFile(plainVinylFile, addNewFileToStream) {
3580
- addNewFileToStream(new AssetVinylFile_1.default({
3581
- initialPlainVinylFile: plainVinylFile,
3582
- actualAssetsGroupSettings: this.associatedAssetsProcessingSettingsRepresentative.
3583
- getAssetsNormalizedSettingsActualForTargetSourceFile(plainVinylFile.path)
3584
- }));
3585
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
3586
- }
3587
- static async addContentHashPostfixToFileNameIfMust(processedAssetFile) {
3588
- if (processedAssetFile.actualAssetsGroupSettings.revisioning.mustExecute) {
3589
- FileNameRevisionPostfixer_1.default.appendPostfixIfPossible(processedAssetFile, { contentHashPostfixSeparator: processedAssetFile.actualAssetsGroupSettings.revisioning.contentHashPostfixSeparator });
3590
- }
3591
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
3592
- }
3593
- /* ━━━ Rebuilding ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
3594
- /* eslint-disable-next-line @typescript-eslint/member-ordering --
3595
- * `addContentHashPostfixToFileNameIfMust`を静的にすると、`@typescript-eslint/class-methods-use-this`が発生するが、メソッドが論理的な
3596
- * 順番通り整理してある。 */
3597
- onSourceFilesWatcherEmittedFileAddingOrUpdatingEvent(targetFileAbsolutePath) {
3598
- this.absolutePathOfFilesWaitingForReProcessing.add(targetFileAbsolutePath);
3599
- if ((0, es_extensions_1.isNotNull)(this.subsequentFilesStateChangeTimeout)) {
3600
- clearTimeout(this.subsequentFilesStateChangeTimeout);
3601
- }
3602
- this.subsequentFilesStateChangeTimeout = setTimeout(() => {
3603
- this.processAssets(Array.from(this.absolutePathOfFilesWaitingForReProcessing))();
3604
- this.absolutePathOfFilesWaitingForReProcessing.clear();
3605
- }, (0, es_extensions_1.secondsToMilliseconds)(this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS));
3606
- }
3607
- }
3608
- exports["default"] = GulpStreamsBasedAssetsProcessor;
3609
-
3610
-
3611
3998
  /***/ }),
3612
3999
 
3613
4000
  /***/ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/GulpStreamsBasedTaskExecutor.ts":
@@ -3627,7 +4014,7 @@ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "
3627
4014
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
3628
4015
  const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
3629
4016
  class GulpStreamsBasedTaskExecutor {
3630
- static SUBSEQUENT_ERROR_TOAST_NOTIFICATION_PROHIBITION_PERIOD__SECONDS = 5;
4017
+ static SUBSEQUENT_ERROR_TOAST_NOTIFICATION_PROHIBITION_PERIOD__SECONDS = 3;
3631
4018
  projectBuildingMasterConfigRepresentative;
3632
4019
  TASK_TITLE_FOR_LOGGING;
3633
4020
  processedFilesCountDuringCurrentRun = 0;
@@ -3640,7 +4027,7 @@ class GulpStreamsBasedTaskExecutor {
3640
4027
  handleErrorIfItWillOccur() {
3641
4028
  return (0, gulp_plumber_1.default)({
3642
4029
  errorHandler: (error) => {
3643
- const ERROR_MESSAGE_TITLE = `Task "${this.TASK_TITLE_FOR_LOGGING}", error occurred`;
4030
+ const ERROR_MESSAGE_TITLE = `Task "${this.TASK_TITLE_FOR_LOGGING}", Error Occurred`;
3644
4031
  es_extensions_1.Logger.logErrorLikeMessage({
3645
4032
  title: ERROR_MESSAGE_TITLE,
3646
4033
  description: error.message
@@ -3651,6 +4038,7 @@ class GulpStreamsBasedTaskExecutor {
3651
4038
  title: ERROR_MESSAGE_TITLE,
3652
4039
  message: "Please check your terminal for the details."
3653
4040
  });
4041
+ this.isErrorToastNotificationPermitted = false;
3654
4042
  }
3655
4043
  this.waitingForErrorToastNotificationsWillBePermittedAgain = setTimeout(() => { this.isErrorToastNotificationPermitted = true; }, (0, es_extensions_1.secondsToMilliseconds)(GulpStreamsBasedTaskExecutor.SUBSEQUENT_ERROR_TOAST_NOTIFICATION_PROHIBITION_PERIOD__SECONDS));
3656
4044
  }
@@ -3973,6 +4361,76 @@ class LinterLikeTaskExecutor extends GulpStreamsBasedTaskExecutor_1.default {
3973
4361
  exports["default"] = LinterLikeTaskExecutor;
3974
4362
 
3975
4363
 
4364
+ /***/ }),
4365
+
4366
+ /***/ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBasedAssetsProcessor.ts":
4367
+ /*!**********************************************************************************!*\
4368
+ !*** ./ProjectBuilding/Common/TasksExecutors/GulpStreamsBasedAssetsProcessor.ts ***!
4369
+ \**********************************************************************************/
4370
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4371
+
4372
+
4373
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4374
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4375
+ };
4376
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
4377
+ /* ─── Task Executors ─────────────────────────────────────────────────────────────────────────────────────────────── */
4378
+ const GulpStreamsBasedTaskExecutor_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/GulpStreamsBasedTaskExecutor */ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/GulpStreamsBasedTaskExecutor.ts"));
4379
+ const AssetVinylFile_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/VinylFiles/AssetVinylFile */ "./ProjectBuilding/Common/VinylFiles/AssetVinylFile.ts"));
4380
+ const GulpStreamModifier_1 = __importDefault(__webpack_require__(/*! @Utils/GulpStreamModifier */ "./Utils/GulpStreamModifier.ts"));
4381
+ const FileNameRevisionPostfixer_1 = __importDefault(__webpack_require__(/*! @Utils/FileNameRevisionPostfixer */ "./Utils/FileNameRevisionPostfixer.ts"));
4382
+ /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
4383
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
4384
+ class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.default {
4385
+ absolutePathOfFilesWaitingForReProcessing = new Set();
4386
+ WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS;
4387
+ associatedAssetsProcessingSettingsRepresentative;
4388
+ subsequentFilesStateChangeTimeout = null;
4389
+ logging;
4390
+ constructor(constructorParameter) {
4391
+ super(constructorParameter);
4392
+ this.associatedAssetsProcessingSettingsRepresentative = constructorParameter.
4393
+ associatedAssetsProcessingSettingsRepresentative;
4394
+ this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = constructorParameter.
4395
+ waitingForSubsequentFilesWillSavedPeriod__seconds;
4396
+ this.logging = {
4397
+ pathsOfFilesWillBeProcessed: this.associatedAssetsProcessingSettingsRepresentative.loggingSettings.filesPaths,
4398
+ quantityOfFilesWillBeProcessed: this.associatedAssetsProcessingSettingsRepresentative.loggingSettings.filesCount
4399
+ };
4400
+ }
4401
+ /* ━━━ Pipeline methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
4402
+ async replacePlainVinylFileWithAssetVinylFile(plainVinylFile, addNewFileToStream) {
4403
+ addNewFileToStream(new AssetVinylFile_1.default({
4404
+ initialPlainVinylFile: plainVinylFile,
4405
+ actualAssetsGroupSettings: this.associatedAssetsProcessingSettingsRepresentative.
4406
+ getAssetsNormalizedSettingsActualForTargetSourceFile(plainVinylFile.path)
4407
+ }));
4408
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
4409
+ }
4410
+ static async addContentHashPostfixToFileNameIfMust(processedAssetFile) {
4411
+ if (processedAssetFile.actualAssetsGroupSettings.revisioning.mustExecute) {
4412
+ FileNameRevisionPostfixer_1.default.appendPostfixIfPossible(processedAssetFile, { contentHashPostfixSeparator: processedAssetFile.actualAssetsGroupSettings.revisioning.contentHashPostfixSeparator });
4413
+ }
4414
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
4415
+ }
4416
+ /* ━━━ Rebuilding ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
4417
+ /* eslint-disable-next-line @typescript-eslint/member-ordering --
4418
+ * `addContentHashPostfixToFileNameIfMust`を静的にすると、`@typescript-eslint/class-methods-use-this`が発生するが、メソッドが論理的な
4419
+ * 順番通り整理してある。 */
4420
+ onSourceFilesWatcherEmittedFileAddingOrUpdatingEvent(targetFileAbsolutePath) {
4421
+ this.absolutePathOfFilesWaitingForReProcessing.add(targetFileAbsolutePath);
4422
+ if ((0, es_extensions_1.isNotNull)(this.subsequentFilesStateChangeTimeout)) {
4423
+ clearTimeout(this.subsequentFilesStateChangeTimeout);
4424
+ }
4425
+ this.subsequentFilesStateChangeTimeout = setTimeout(() => {
4426
+ this.processAssets(Array.from(this.absolutePathOfFilesWaitingForReProcessing))();
4427
+ this.absolutePathOfFilesWaitingForReProcessing.clear();
4428
+ }, (0, es_extensions_1.secondsToMilliseconds)(this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS));
4429
+ }
4430
+ }
4431
+ exports["default"] = GulpStreamsBasedAssetsProcessor;
4432
+
4433
+
3976
4434
  /***/ }),
3977
4435
 
3978
4436
  /***/ "./ProjectBuilding/Common/VinylFiles/AssetVinylFile.ts":
@@ -5677,18 +6135,6 @@ const ProjectBuildingConfigFromFileDefaultLocalization = {
5677
6135
  }
5678
6136
  }
5679
6137
  },
5680
- commonSettings: {
5681
- KEY: "commonSettings",
5682
- properties: {
5683
- selectiveExecutions: {
5684
- KEY: "selectiveExecutions",
5685
- tasksAndSourceFilesSelection: { KEY: "tasksAndSourceFilesSelection" },
5686
- browserLiveReloadingSetupID: { KEY: "browserLiveReloadingSetupID" },
5687
- outputPackageJSON_Generating: { KEY: "outputPackageJSON_Generating" }
5688
- },
5689
- publicDirectoriesRelativePaths: { KEY: "publicDirectoriesRelativePaths" }
5690
- }
5691
- },
5692
6138
  tasks: {
5693
6139
  markupProcessing: {
5694
6140
  common: {
@@ -6105,23 +6551,20 @@ var ProjectBuildingConfig__FromFile__RawValid;
6105
6551
  nameForLogging: "ProjectBuildingConfig__FromFile__RawValid",
6106
6552
  subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
6107
6553
  properties: {
6108
- [localization.KEY]: {
6554
+ $projectBuilding: {
6109
6555
  newName: "projectBuilding",
6110
6556
  preValidationModifications: es_extensions_1.nullToUndefined,
6111
6557
  type: Object,
6112
6558
  required: true,
6113
6559
  properties: {
6114
- [localization.commonSettings.KEY]: {
6560
+ $commonSettings: {
6115
6561
  newName: "commonSettings",
6116
6562
  preValidationModifications: es_extensions_1.nullToUndefined,
6117
6563
  type: Object,
6118
6564
  required: false,
6119
- properties: ProjectBuildingCommonSettings__FromFile__RawValid_1.default.getLocalizedPropertiesSpecification({
6120
- projectBuildingCommonSettingsLocalization: localization.commonSettings.properties,
6121
- tasksLocalizedIDs: localization.enumerations.tasksIDs
6122
- })
6565
+ properties: ProjectBuildingCommonSettings__FromFile__RawValid_1.default.propertiesSpecification
6123
6566
  },
6124
- [localization.enumerations.tasksIDs.markupProcessing]: {
6567
+ $markupProcessing: {
6125
6568
  newName: "markupProcessing",
6126
6569
  preValidationModifications: es_extensions_1.nullToUndefined,
6127
6570
  type: Object,
@@ -6135,7 +6578,7 @@ var ProjectBuildingConfig__FromFile__RawValid;
6135
6578
  entryPointsGroupBuildingModeDependentOutputGenericSettingsLocalizedPropertiesSpecification
6136
6579
  })
6137
6580
  },
6138
- [localization.enumerations.tasksIDs.stylesProcessing]: {
6581
+ $stylesProcessing: {
6139
6582
  newName: "stylesProcessing",
6140
6583
  preValidationModifications: es_extensions_1.nullToUndefined,
6141
6584
  type: Object,
@@ -6450,6 +6893,8 @@ const SourceCodeProcessingRawSettingsNormalizer_1 = __importDefault(__webpack_re
6450
6893
  const RevisioningSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/RawSettingsNormalizers/Reusables/RevisioningSettingsNormalizer */ "./ProjectBuilding/Common/RawSettingsNormalizers/Reusables/RevisioningSettingsNormalizer.ts"));
6451
6894
  /* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
6452
6895
  const TypeScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/TypeScriptSpecialist */ "./ThirdPartySolutionsSpecialists/TypeScriptSpecialist.ts"));
6896
+ const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
6897
+ const dotenv_1 = __importDefault(__webpack_require__(/*! dotenv */ "dotenv"));
6453
6898
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
6454
6899
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
6455
6900
  class ECMA_ScriptLogicProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSettingsNormalizer_1.default {
@@ -6595,11 +7040,21 @@ class ECMA_ScriptLogicProcessingRawSettingsNormalizer extends SourceCodeProcessi
6595
7040
  if ((0, es_extensions_1.isUndefined)(targetEntryPointsGroup) || !targetEntryPointsGroup.isSingeEntryPointGroup) {
6596
7041
  return null;
6597
7042
  }
7043
+ let environmentVariablesFromFile = {};
7044
+ if ((0, es_extensions_1.isNotUndefined)(localDevelopmentServerOrchestrationSettings__rawValid.environmentVariablesFileRelativePath)) {
7045
+ environmentVariablesFromFile = dotenv_1.default.parse(fs_1.default.readFileSync(es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
7046
+ this.consumingProjectRootDirectoryAbsolutePath,
7047
+ localDevelopmentServerOrchestrationSettings__rawValid.environmentVariablesFileRelativePath
7048
+ ]), "utf-8"));
7049
+ }
6598
7050
  return {
6599
7051
  localDevelopmentServerOrchestration: {
6600
7052
  targetSourceFileAbsolutePath: targetEntryPointsGroup.sourceFilesGlobSelectors[0],
6601
7053
  arguments: localDevelopmentServerOrchestrationSettings__rawValid.arguments ?? [],
6602
- environmentVariables: localDevelopmentServerOrchestrationSettings__rawValid.environmentVariables ?? {}
7054
+ environmentVariables: {
7055
+ ...localDevelopmentServerOrchestrationSettings__rawValid.environmentVariables ?? null,
7056
+ ...environmentVariablesFromFile
7057
+ }
6603
7058
  }
6604
7059
  };
6605
7060
  }
@@ -6673,7 +7128,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6673
7128
  };
6674
7129
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6675
7130
  /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
6676
- const PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX.ts"));
7131
+ const PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts"));
6677
7132
  const SourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/SourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/SourceCodeProcessingConfigRepresentative.ts"));
6678
7133
  class ECMA_ScriptLogicProcessingSettingsRepresentative extends SourceCodeProcessingConfigRepresentative_1.default {
6679
7134
  /* [ Theory ] Below two fields could be even or not. */
@@ -6699,7 +7154,7 @@ class ECMA_ScriptLogicProcessingSettingsRepresentative extends SourceCodeProcess
6699
7154
  this.actualFileNameExtensionsWithoutLeadingDots = normalizedECMA_ScriptLogicProcessingSettings.common.
6700
7155
  supportedSourceFileNameExtensionsWithoutLeadingDots;
6701
7156
  this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
6702
- `${PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
7157
+ `${PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
6703
7158
  entryPointsGroupSettings
6704
7159
  ]));
6705
7160
  }
@@ -6994,11 +7449,13 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6994
7449
  properties: {
6995
7450
  [ECMA_ScriptProcessingPropertiesLocalization.localDevelopmentServerOrchestration.
6996
7451
  targetSingularEntryPointsGroupID.KEY]: {
7452
+ newName: "targetSingularEntryPointsGroupID",
6997
7453
  type: String,
6998
7454
  required: true,
6999
7455
  minimalCharactersCount: 1
7000
7456
  },
7001
7457
  [ECMA_ScriptProcessingPropertiesLocalization.localDevelopmentServerOrchestration.arguments.KEY]: {
7458
+ newName: "arguments",
7002
7459
  type: Array,
7003
7460
  required: false,
7004
7461
  element: {
@@ -7007,12 +7464,19 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
7007
7464
  }
7008
7465
  },
7009
7466
  [ECMA_ScriptProcessingPropertiesLocalization.localDevelopmentServerOrchestration.environmentVariables.KEY]: {
7467
+ newName: "environmentVariables",
7010
7468
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
7011
7469
  required: false,
7012
7470
  value: {
7013
7471
  type: String,
7014
7472
  minimalCharactersCount: 1
7015
7473
  }
7474
+ },
7475
+ environmentVariablesFileRelativePath: {
7476
+ newName: "environmentVariablesFileRelativePath",
7477
+ type: String,
7478
+ required: false,
7479
+ minimalCharactersCount: 1
7016
7480
  }
7017
7481
  }
7018
7482
  }
@@ -7718,7 +8182,6 @@ const ECMA_ScriptLogicProcessingSharedState_1 = __importDefault(__webpack_requir
7718
8182
  const gulp_nodemon_1 = __importDefault(__webpack_require__(/*! gulp-nodemon */ "gulp-nodemon"));
7719
8183
  /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
7720
8184
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
7721
- const getExpectedToBeExistingMapValue_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Map/getExpectedToBeExistingMapValue */ "./UtilsIncubator/Map/getExpectedToBeExistingMapValue.ts"));
7722
8185
  class LocalDevelopmentServerOrchestrator {
7723
8186
  static orchestrateIfMust(projectBuildingMasterConfigRepresentative) {
7724
8187
  const ecmaScriptLogicProcessingSettingsRepresentative = projectBuildingMasterConfigRepresentative.
@@ -7729,7 +8192,7 @@ class LocalDevelopmentServerOrchestrator {
7729
8192
  }
7730
8193
  const localDevelopmentServerOrchestrationSettings = ecmaScriptLogicProcessingSettingsRepresentative.localDevelopmentServerOrchestrationSettings;
7731
8194
  return (callback) => {
7732
- const targetFile = (0, getExpectedToBeExistingMapValue_1.default)(ECMA_ScriptLogicProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap, localDevelopmentServerOrchestrationSettings.targetSourceFileAbsolutePath);
8195
+ const targetFile = (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(ECMA_ScriptLogicProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap, localDevelopmentServerOrchestrationSettings.targetSourceFileAbsolutePath);
7733
8196
  (0, gulp_nodemon_1.default)({
7734
8197
  script: targetFile,
7735
8198
  watch: [targetFile],
@@ -8229,47 +8692,119 @@ const vinyl_1 = __importDefault(__webpack_require__(/*! vinyl */ "vinyl"));
8229
8692
  const VinylFileClass_1 = __importDefault(__webpack_require__(/*! @Utils/VinylFileClass */ "./Utils/VinylFileClass.ts"));
8230
8693
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
8231
8694
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
8695
+ const addPenultimateFileNameExtension_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Strings/addPenultimateFileNameExtension */ "./UtilsIncubator/Strings/addPenultimateFileNameExtension.ts"));
8232
8696
  class MarkupEntryPointVinylFile extends VinylFileClass_1.default {
8233
8697
  sourceAbsolutePath;
8234
8698
  outputDirectoryAbsolutePath;
8235
8699
  actualEntryPointsGroupSettings;
8236
8700
  pageStateDependentVariationData;
8701
+ staticPreviewLocalizationData;
8702
+ markupProcessingSettingsRepresentative;
8237
8703
  pageStateDependentVariationsSpecification;
8238
- constructor({ initialPlainVinylFile, actualEntryPointsGroupSettings, pageStateDependentVariationsSpecification, pageStateDependentVariationData }) {
8704
+ constructor({ initialPlainVinylFile, markupProcessingSettingsRepresentative, pageStateDependentVariationData, staticPreviewLocalizationData }) {
8239
8705
  super({
8240
8706
  explicitlySpecifiedPathPart: initialPlainVinylFile.base,
8241
8707
  path: initialPlainVinylFile.path,
8242
8708
  contents: Buffer.isBuffer(initialPlainVinylFile.contents) ? initialPlainVinylFile.contents : Buffer.from("")
8243
8709
  });
8244
8710
  this.sourceAbsolutePath = es_extensions_nodejs_1.ImprovedPath.replacePathSeparatorsToForwardSlashes(initialPlainVinylFile.path);
8245
- this.actualEntryPointsGroupSettings = actualEntryPointsGroupSettings;
8711
+ this.markupProcessingSettingsRepresentative = markupProcessingSettingsRepresentative;
8712
+ this.actualEntryPointsGroupSettings = this.markupProcessingSettingsRepresentative.
8713
+ getExpectedToExistEntryPointsGroupSettingsRelevantForSpecifiedSourceFileAbsolutePath(initialPlainVinylFile.path);
8246
8714
  this.outputDirectoryAbsolutePath = MarkupProcessingSettingsRepresentative_1.default.
8247
8715
  computeRelevantOutputDirectoryAbsolutePathForTargetSourceFile(this.sourceAbsolutePath, this.actualEntryPointsGroupSettings);
8248
- if ((0, es_extensions_1.isNotUndefined)(pageStateDependentVariationsSpecification)) {
8249
- this.pageStateDependentVariationsSpecification = pageStateDependentVariationsSpecification;
8250
- this.pageStateDependentVariationData = { [pageStateDependentVariationsSpecification.stateVariableName]: {} };
8716
+ this.pageStateDependentVariationsSpecification = this.markupProcessingSettingsRepresentative.
8717
+ getStateDependentVariationsForEntryPointWithAbsolutePath(initialPlainVinylFile.path);
8718
+ if ((0, es_extensions_1.isNotUndefined)(this.pageStateDependentVariationsSpecification)) {
8719
+ this.pageStateDependentVariationData = { [this.pageStateDependentVariationsSpecification.stateVariableName]: {} };
8251
8720
  }
8252
8721
  else if ((0, es_extensions_1.isNotUndefined)(pageStateDependentVariationData)) {
8253
8722
  this.pageStateDependentVariationData = pageStateDependentVariationData;
8254
8723
  }
8255
- }
8256
- forkStaticPreviewStateDependentVariationsIfAny() {
8724
+ if ((0, es_extensions_1.isNotUndefined)(staticPreviewLocalizationData)) {
8725
+ this.staticPreviewLocalizationData = staticPreviewLocalizationData;
8726
+ }
8727
+ }
8728
+ manageVariationsForStaticPreviewIfAnyAndStaticPreviewBuildingMode() {
8729
+ /* [ Approach ] For all product building modes except static preview all following settings will be undefined. */
8730
+ const localeDependentPagesVariationsSettings = this.markupProcessingSettingsRepresentative.localeDependentPagesVariationsSettings;
8731
+ const localesData = localeDependentPagesVariationsSettings?.locales ?? new Map();
8732
+ const localizedStringResourcesConstantName = localeDependentPagesVariationsSettings?.localizedStringResourcesConstantName ?? "";
8733
+ const areLocaleDependentVariationsRequiredForCurrentFile = localesData.size > 0 &&
8734
+ localeDependentPagesVariationsSettings?.excludedFilesAbsolutePaths.includes(this.sourceAbsolutePath) === false;
8735
+ const pageVariations = [];
8736
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
8737
+ for (const localeData of localesData.values()) {
8738
+ pageVariations.push(new MarkupEntryPointVinylFile({
8739
+ initialPlainVinylFile: new vinyl_1.default({
8740
+ base: this.base,
8741
+ path: (0, addPenultimateFileNameExtension_1.default)({
8742
+ targetPath: this.sourceAbsolutePath,
8743
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
8744
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
8745
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
8746
+ }),
8747
+ contents: this.contents
8748
+ }),
8749
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
8750
+ staticPreviewLocalizationData: {
8751
+ [localizedStringResourcesConstantName]: localeData.stringResources
8752
+ },
8753
+ ...(0, es_extensions_1.isNotUndefined)(this.pageStateDependentVariationsSpecification) ?
8754
+ {
8755
+ pageStateDependentVariationData: {
8756
+ [this.pageStateDependentVariationsSpecification.stateVariableName]: {}
8757
+ }
8758
+ } :
8759
+ null
8760
+ }));
8761
+ }
8762
+ }
8257
8763
  if ((0, es_extensions_1.isUndefined)(this.pageStateDependentVariationsSpecification)) {
8258
- return [];
8764
+ return {
8765
+ newFiles: pageVariations,
8766
+ mustInitialFileBeDeleted: areLocaleDependentVariationsRequiredForCurrentFile
8767
+ };
8259
8768
  }
8260
- const pageStateDependentVariations = [];
8261
- for (const [derivedFileAbsolutePath, state] of Object.entries(this.pageStateDependentVariationsSpecification.derivedPagesAndStatesMap)) {
8262
- pageStateDependentVariations.push(new MarkupEntryPointVinylFile({
8769
+ for (const [derivedFileAbsolutePath, state] of this.pageStateDependentVariationsSpecification.derivedPagesAndStatesMap.entries()) {
8770
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
8771
+ for (const localeData of localesData.values()) {
8772
+ pageVariations.push(new MarkupEntryPointVinylFile({
8773
+ initialPlainVinylFile: new vinyl_1.default({
8774
+ base: this.base,
8775
+ path: (0, addPenultimateFileNameExtension_1.default)({
8776
+ targetPath: derivedFileAbsolutePath,
8777
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
8778
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
8779
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
8780
+ }),
8781
+ contents: this.contents
8782
+ }),
8783
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
8784
+ pageStateDependentVariationData: {
8785
+ [this.pageStateDependentVariationsSpecification.stateVariableName]: state
8786
+ },
8787
+ staticPreviewLocalizationData: {
8788
+ [localizedStringResourcesConstantName]: localeData.stringResources
8789
+ }
8790
+ }));
8791
+ }
8792
+ continue;
8793
+ }
8794
+ pageVariations.push(new MarkupEntryPointVinylFile({
8263
8795
  initialPlainVinylFile: new vinyl_1.default({
8264
8796
  base: this.base,
8265
8797
  path: derivedFileAbsolutePath,
8266
8798
  contents: this.contents
8267
8799
  }),
8268
- actualEntryPointsGroupSettings: this.actualEntryPointsGroupSettings,
8800
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
8269
8801
  pageStateDependentVariationData: { [this.pageStateDependentVariationsSpecification.stateVariableName]: state }
8270
8802
  }));
8271
8803
  }
8272
- return pageStateDependentVariations;
8804
+ return {
8805
+ newFiles: pageVariations,
8806
+ mustInitialFileBeDeleted: areLocaleDependentVariationsRequiredForCurrentFile
8807
+ };
8273
8808
  }
8274
8809
  }
8275
8810
  exports["default"] = MarkupEntryPointVinylFile;
@@ -8320,8 +8855,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8320
8855
  Object.defineProperty(exports, "__esModule", ({ value: true }));
8321
8856
  /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
8322
8857
  const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingRestrictions */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingRestrictions.ts"));
8323
- const PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX.ts"));
8324
- const PLAIN_COPIED_FILES_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_ALIAS_PREFIX.ts"));
8858
+ const PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts"));
8859
+ const PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX.ts"));
8325
8860
  const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative.ts"));
8326
8861
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
8327
8862
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
@@ -8332,7 +8867,7 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8332
8867
  TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
8333
8868
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Markup";
8334
8869
  TASK_NAME_FOR_LOGGING = "Markup processing";
8335
- PLAIN_COPIED_FILES_ALIAS_PREFIX = PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default;
8870
+ PLAIN_COPIED_FILES_ALIAS_PREFIX = PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default;
8336
8871
  WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS;
8337
8872
  entryPointsGroupsNormalizedSettingsMappedByReferences;
8338
8873
  sourceCodeLintingCommonSettings;
@@ -8358,9 +8893,9 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8358
8893
  this.actualFileNameExtensionsWithoutLeadingDots = normalizedMarkupProcessingSettings.common.
8359
8894
  supportedSourceFileNameExtensionsWithoutLeadingDots;
8360
8895
  this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = normalizedMarkupProcessingSettings.common.
8361
- periodBetweenFileUpdatingAndRebuildingStarting__seconds;
8896
+ secondsBetweenFileUpdatingAndStartingOfRebuilding;
8362
8897
  this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
8363
- `${PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
8898
+ `${PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
8364
8899
  entryPointsGroupSettings
8365
8900
  ]));
8366
8901
  this.mustValidateHTML = Array.from(this.relevantEntryPointsGroupsSettings.values()).some((entryPointsGroupSettings) => entryPointsGroupSettings.HTML_Validation.mustExecute);
@@ -8393,10 +8928,13 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8393
8928
  return (0, es_extensions_1.insertSubstringIf)(".", compoundParameter.mustPrependDotToFileNameExtension) +
8394
8929
  fileNameExtensionWithoutLeadingDot;
8395
8930
  }
8396
- /* ━━━ Static preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8931
+ /* ━━━ Static Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8397
8932
  getStateDependentVariationsForEntryPointWithAbsolutePath(targetFileAbsolutePath) {
8398
- return this.staticPreviewSettings.
8399
- stateDependentPagesVariationsSpecification[(0, es_extensions_1.replaceDoubleBackslashesWithForwardSlashes)(targetFileAbsolutePath)];
8933
+ return this.staticPreviewSettings.pagesVariations.stateDependent.
8934
+ get((0, es_extensions_1.replaceDoubleBackslashesWithForwardSlashes)(targetFileAbsolutePath));
8935
+ }
8936
+ get localeDependentPagesVariationsSettings() {
8937
+ return this.staticPreviewSettings.pagesVariations.localeDependent;
8400
8938
  }
8401
8939
  get staticDataForStaticPreview() {
8402
8940
  return this.staticPreviewSettings.importsFromStaticDataFiles;
@@ -8423,15 +8961,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8423
8961
  };
8424
8962
  Object.defineProperty(exports, "__esModule", ({ value: true }));
8425
8963
  const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingRestrictions */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingRestrictions.ts"));
8426
- const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes */ "./ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes.ts"));
8964
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
8427
8965
  const MarkupProcessingSettings__Default = {
8428
8966
  periodBetweenFileUpdatingAndRebuildingStarting__seconds: 1,
8429
8967
  staticPreview: {
8430
8968
  typeScriptConfigurationFileRelativePath: "tsconfig.json"
8431
8969
  },
8432
8970
  outputCodeFormatting: {
8433
- mustExecute: (consumingProjectBuildingMode) => consumingProjectBuildingMode === ConsumingProjectBuildingModes_1.default.staticPreview ||
8434
- consumingProjectBuildingMode === ConsumingProjectBuildingModes_1.default.localDevelopment
8971
+ mustExecute: ({ outputFormat }) => outputFormat === MarkupProcessingRestrictions_1.default.OutputFormats.razor,
8972
+ indentationString: " ",
8973
+ lineSeparators: es_extensions_1.LineSeparators.lineFeed,
8974
+ mustGuaranteeTrailingEmptyLine: true,
8975
+ mustIndentHeadAndBodyTags: true
8976
+ },
8977
+ outputCodeMinifying: {
8978
+ mustExecute: ({ outputFormat }) => outputFormat === MarkupProcessingRestrictions_1.default.OutputFormats.HTML ||
8979
+ outputFormat === MarkupProcessingRestrictions_1.default.OutputFormats.handlebars,
8980
+ attributesExtraWhitespacesCollapsing: true,
8981
+ attributesValuesDeduplication: true,
8982
+ commentsRemoving: true
8435
8983
  },
8436
8984
  linting: {
8437
8985
  mustExecute: true
@@ -8490,37 +9038,41 @@ var MarkupProcessingSettings__FromFile__RawValid;
8490
9038
  (function (MarkupProcessingSettings__FromFile__RawValid) {
8491
9039
  function getLocalizedPropertiesSpecification({ markupProcessingPropertiesLocalization, localizedConsumingProjectLocalizedPreDefinedBuildingModes, lintingSettingsLocalizedPropertiesSpecification, sourceCodeProcessingSettingsGenericPropertiesLocalization, entryPointsGroupBuildingModeDependentOutputGenericSettingsLocalizedPropertiesSpecification }) {
8492
9040
  return {
8493
- [markupProcessingPropertiesLocalization.common.KEY]: {
9041
+ /* ━━━ Common ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9042
+ $common: {
8494
9043
  newName: "common",
8495
9044
  preValidationModifications: es_extensions_1.nullToUndefined,
8496
9045
  type: Object,
8497
9046
  required: false,
8498
9047
  properties: {
8499
- [markupProcessingPropertiesLocalization.common.periodBetweenFileUpdatingAndRebuildingStarting__seconds.KEY]: {
8500
- newName: "periodBetweenFileUpdatingAndRebuildingStarting__seconds",
8501
- type: Number,
8502
- required: false,
8503
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
8504
- },
8505
- [markupProcessingPropertiesLocalization.common.buildingModeDependent.KEY]: {
9048
+ $buildingModeDependent: {
8506
9049
  newName: "buildingModeDependent",
8507
9050
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8508
9051
  required: false,
8509
- allowedKeys: Object.values(ConsumingProjectBuildingModes_1.default),
8510
9052
  minimalEntriesCount: 1,
9053
+ allowedKeys: [
9054
+ "$localDevelopment",
9055
+ "$testing",
9056
+ "$staging",
9057
+ "$production"
9058
+ ],
8511
9059
  keysRenamings: {
8512
- [localizedConsumingProjectLocalizedPreDefinedBuildingModes.staticPreview]: ConsumingProjectBuildingModes_1.default.staticPreview,
8513
- [localizedConsumingProjectLocalizedPreDefinedBuildingModes.localDevelopment]: ConsumingProjectBuildingModes_1.default.localDevelopment,
8514
- [localizedConsumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectBuildingModes_1.default.testing,
8515
- [localizedConsumingProjectLocalizedPreDefinedBuildingModes.staging]: ConsumingProjectBuildingModes_1.default.staging,
8516
- [localizedConsumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectBuildingModes_1.default.production
9060
+ $localDevelopment: ConsumingProjectBuildingModes_1.default.localDevelopment,
9061
+ $testing: ConsumingProjectBuildingModes_1.default.testing,
9062
+ $staging: ConsumingProjectBuildingModes_1.default.staging,
9063
+ $production: ConsumingProjectBuildingModes_1.default.production
8517
9064
  },
8518
9065
  value: {
8519
9066
  type: Object,
8520
9067
  properties: {
8521
- [markupProcessingPropertiesLocalization.common.buildingModeDependent.
8522
- mustResolveResourceReferencesToRelativePaths.KEY]: {
8523
- newName: "mustResolveResourceReferencesToRelativePaths",
9068
+ $secondsBetweenFileUpdatingAndStartingOfRebuilding: {
9069
+ newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
9070
+ type: Number,
9071
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
9072
+ required: false
9073
+ },
9074
+ $mustResolveResourcesPointersToRelativePaths: {
9075
+ newName: "mustResolveResourcesPointersToRelativePaths",
8524
9076
  type: Boolean,
8525
9077
  required: false
8526
9078
  }
@@ -8529,60 +9081,89 @@ var MarkupProcessingSettings__FromFile__RawValid;
8529
9081
  }
8530
9082
  }
8531
9083
  },
8532
- [markupProcessingPropertiesLocalization.linting.KEY]: {
8533
- newName: "linting",
8534
- preValidationModifications: es_extensions_1.nullToUndefined,
8535
- type: Object,
8536
- required: false,
8537
- properties: lintingSettingsLocalizedPropertiesSpecification
8538
- },
8539
- [markupProcessingPropertiesLocalization.importingFromTypeScript.KEY]: {
8540
- newName: "importingFromTypeScript",
8541
- preValidationModifications: es_extensions_1.nullToUndefined,
8542
- type: Object,
8543
- required: false,
8544
- properties: {
8545
- [markupProcessingPropertiesLocalization.importingFromTypeScript.typeScriptConfigurationFileRelativePath.KEY]: {
8546
- newName: "typeScriptConfigurationFileRelativePath",
8547
- type: String,
8548
- required: false,
8549
- minimalCharactersCount: 1
8550
- },
8551
- [markupProcessingPropertiesLocalization.importingFromTypeScript.importedNamespace.KEY]: {
8552
- newName: "importedNamespace",
8553
- type: String,
8554
- required: true,
8555
- minimalCharactersCount: 1
8556
- },
8557
- [markupProcessingPropertiesLocalization.importingFromTypeScript.sourceFileRelativePath.KEY]: {
8558
- newName: "sourceFileRelativePath",
8559
- type: String,
8560
- required: true,
8561
- minimalCharactersCount: 1
8562
- },
8563
- [markupProcessingPropertiesLocalization.importingFromTypeScript.
8564
- nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected.KEY]: {
8565
- newName: "nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected",
8566
- type: String,
8567
- required: true,
8568
- minimalCharactersCount: 1
8569
- }
8570
- }
8571
- },
8572
- [markupProcessingPropertiesLocalization.staticPreview.KEY]: {
9084
+ /* ━━━ Static Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9085
+ $staticPreview: {
8573
9086
  newName: "staticPreview",
8574
9087
  preValidationModifications: es_extensions_1.nullToUndefined,
8575
9088
  type: Object,
8576
9089
  required: false,
8577
9090
  properties: {
8578
- [markupProcessingPropertiesLocalization.staticPreview.stateDependentPagesVariationsSpecificationFileRelativePath.KEY]: {
8579
- newName: "stateDependentPagesVariationsSpecificationFileRelativePath",
8580
- type: String,
9091
+ $pagesVariations: {
9092
+ newName: "pagesVariations",
9093
+ type: Object,
8581
9094
  required: false,
8582
- minimalCharactersCount: 1
8583
- },
8584
- [markupProcessingPropertiesLocalization.staticPreview.importsFromStaticDataFiles.KEY]: {
8585
- newName: "importsFromStaticDataFiles",
9095
+ preValidationModifications: es_extensions_1.nullToUndefined,
9096
+ properties: {
9097
+ $stateDependent: {
9098
+ newName: "stateDependent",
9099
+ type: Object,
9100
+ required: false,
9101
+ preValidationModifications: es_extensions_1.nullToUndefined,
9102
+ properties: {
9103
+ $specificationFileRelativePath: {
9104
+ newName: "specificationFileRelativePath",
9105
+ type: String,
9106
+ required: true,
9107
+ minimalCharactersCount: 1
9108
+ }
9109
+ }
9110
+ },
9111
+ $localeDependent: {
9112
+ newName: "localeDependent",
9113
+ type: Object,
9114
+ required: false,
9115
+ preValidationModifications: es_extensions_1.nullToUndefined,
9116
+ properties: {
9117
+ $stringResourcesFileRelativePath: {
9118
+ newName: "stringResourcesFileRelativePath",
9119
+ type: String,
9120
+ required: true,
9121
+ minimalCharactersCount: 1
9122
+ },
9123
+ $localizedStringResourcesConstantName: {
9124
+ newName: "localizedStringResourcesConstantName",
9125
+ type: String,
9126
+ required: true,
9127
+ minimalCharactersCount: 1
9128
+ },
9129
+ $locales: {
9130
+ newName: "locales",
9131
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
9132
+ required: true,
9133
+ minimalEntriesCount: 1,
9134
+ value: {
9135
+ type: Object,
9136
+ properties: {
9137
+ $keyInLocalizedStringResourcesObject: {
9138
+ newName: "keyInLocalizedStringResourcesObject",
9139
+ type: String,
9140
+ required: true,
9141
+ minimalCharactersCount: 1
9142
+ },
9143
+ $outputFileInterimNameExtensionWithoutDot: {
9144
+ newName: "outputFileInterimNameExtensionWithoutDot",
9145
+ type: String,
9146
+ required: true,
9147
+ minimalCharactersCount: 1
9148
+ }
9149
+ }
9150
+ }
9151
+ },
9152
+ $excludedFilesRelativePaths: {
9153
+ newName: "excludedFilesRelativePaths",
9154
+ type: Array,
9155
+ required: false,
9156
+ element: {
9157
+ type: String,
9158
+ minimalCharactersCount: 1
9159
+ }
9160
+ }
9161
+ }
9162
+ }
9163
+ }
9164
+ },
9165
+ [markupProcessingPropertiesLocalization.staticPreview.importsFromStaticDataFiles.KEY]: {
9166
+ newName: "importsFromStaticDataFiles",
8586
9167
  preValidationModifications: es_extensions_1.nullToUndefined,
8587
9168
  type: Array,
8588
9169
  required: false,
@@ -8606,6 +9187,47 @@ var MarkupProcessingSettings__FromFile__RawValid;
8606
9187
  }
8607
9188
  }
8608
9189
  },
9190
+ // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
9191
+ [markupProcessingPropertiesLocalization.linting.KEY]: {
9192
+ newName: "linting",
9193
+ preValidationModifications: es_extensions_1.nullToUndefined,
9194
+ type: Object,
9195
+ required: false,
9196
+ properties: lintingSettingsLocalizedPropertiesSpecification
9197
+ },
9198
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.KEY]: {
9199
+ newName: "importingFromTypeScript",
9200
+ preValidationModifications: es_extensions_1.nullToUndefined,
9201
+ type: Object,
9202
+ required: false,
9203
+ properties: {
9204
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.typeScriptConfigurationFileRelativePath.KEY]: {
9205
+ newName: "typeScriptConfigurationFileRelativePath",
9206
+ type: String,
9207
+ required: false,
9208
+ minimalCharactersCount: 1
9209
+ },
9210
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.importedNamespace.KEY]: {
9211
+ newName: "importedNamespace",
9212
+ type: String,
9213
+ required: true,
9214
+ minimalCharactersCount: 1
9215
+ },
9216
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.sourceFileRelativePath.KEY]: {
9217
+ newName: "sourceFileRelativePath",
9218
+ type: String,
9219
+ required: true,
9220
+ minimalCharactersCount: 1
9221
+ },
9222
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.
9223
+ nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected.KEY]: {
9224
+ newName: "nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected",
9225
+ type: String,
9226
+ required: true,
9227
+ minimalCharactersCount: 1
9228
+ }
9229
+ }
9230
+ },
8609
9231
  routing: {
8610
9232
  type: Object,
8611
9233
  required: false,
@@ -8732,14 +9354,64 @@ var MarkupProcessingSettings__FromFile__RawValid;
8732
9354
  },
8733
9355
  entryPointsGroupBuildingModeDependentOutputGenericSettingsLocalizedPropertiesSpecification,
8734
9356
  entryPointsGroupBuildingModeDependentSpecificSettingsLocalizedPropertiesSpecification: {
8735
- [markupProcessingPropertiesLocalization.entryPointsGroups.buildingModeDependent.outputCodeFormatting.KEY]: {
9357
+ $outputCodeFormatting: {
8736
9358
  newName: "outputCodeFormatting",
8737
9359
  type: Object,
8738
9360
  required: false,
8739
9361
  preValidationModifications: es_extensions_1.nullToUndefined,
8740
9362
  properties: {
8741
- disable: {
8742
- newName: "disable",
9363
+ $enable: {
9364
+ newName: "enable",
9365
+ type: Boolean,
9366
+ required: false
9367
+ },
9368
+ $indentationString: {
9369
+ newName: "indentationString",
9370
+ type: String,
9371
+ required: false,
9372
+ validValueRegularExpression: /^\s+$/u
9373
+ },
9374
+ $lineSeparators: {
9375
+ newName: "lineSeparators",
9376
+ type: String,
9377
+ required: false,
9378
+ allowedAlternatives: Object.values(es_extensions_1.LineSeparators)
9379
+ },
9380
+ $mustGuaranteeTrailingEmptyLine: {
9381
+ newName: "mustGuaranteeTrailingEmptyLine",
9382
+ type: Boolean,
9383
+ required: false
9384
+ },
9385
+ $mustIndentHeadAndBodyTags: {
9386
+ newName: "mustIndentHeadAndBodyTags",
9387
+ type: Boolean,
9388
+ required: false
9389
+ }
9390
+ }
9391
+ },
9392
+ $outputCodeMinifying: {
9393
+ newName: "outputCodeMinifying",
9394
+ type: Object,
9395
+ required: false,
9396
+ preValidationModifications: es_extensions_1.nullToUndefined,
9397
+ properties: {
9398
+ $enable: {
9399
+ newName: "enable",
9400
+ type: Boolean,
9401
+ required: false
9402
+ },
9403
+ $attributesExtraWhitespacesCollapsing: {
9404
+ newName: "attributesExtraWhitespacesCollapsing",
9405
+ type: Boolean,
9406
+ required: false
9407
+ },
9408
+ $attributesValuesDeduplication: {
9409
+ newName: "attributesValuesDeduplication",
9410
+ type: Boolean,
9411
+ required: false
9412
+ },
9413
+ $commentsRemoving: {
9414
+ newName: "commentsRemoving",
8743
9415
  type: Boolean,
8744
9416
  required: false
8745
9417
  }
@@ -8877,10 +9549,9 @@ const GulpStreamsBasedTaskExecutor_1 = __importDefault(__webpack_require__(/*! @
8877
9549
  const MarkupProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSharedState.ts"));
8878
9550
  /* ─── Gulp & Plugins ─────────────────────────────────────────────────────────────────────────────────────────────── */
8879
9551
  const gulp_1 = __importDefault(__webpack_require__(/*! gulp */ "gulp"));
8880
- const gulp_if_1 = __importDefault(__webpack_require__(/*! gulp-if */ "gulp-if"));
8881
9552
  const gulp_data_1 = __importDefault(__webpack_require__(/*! gulp-data */ "gulp-data"));
8882
9553
  const gulp_pug_1 = __importDefault(__webpack_require__(/*! gulp-pug */ "gulp-pug"));
8883
- const gulp_html_prettify_1 = __importDefault(__webpack_require__(/*! gulp-html-prettify */ "gulp-html-prettify"));
9554
+ const js_beautify_1 = __importDefault(__webpack_require__(/*! js-beautify */ "js-beautify"));
8884
9555
  /* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
8885
9556
  const PugPreProcessorSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist */ "./ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist.ts"));
8886
9557
  /* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -8891,7 +9562,7 @@ const SourceCodeSelectiveReprocessingHelper_1 = __importDefault(__webpack_requir
8891
9562
  const DotYDA_DirectoryManager_1 = __importDefault(__webpack_require__(/*! @Utils/DotYDA_DirectoryManager */ "./Utils/DotYDA_DirectoryManager.ts"));
8892
9563
  const rev_hash_1 = __importDefault(__webpack_require__(/*! rev-hash */ "../node_modules/rev-hash/index.js"));
8893
9564
  const HTML_Validator_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/HTML_Validator/HTML_Validator */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts"));
8894
- const ResourcesReferencesResolverForHTML_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts"));
9565
+ const ResourcesPointersResolverForHTML_1 = __importDefault(__webpack_require__(/*! ./Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML.ts"));
8895
9566
  const AccessibilityInspector_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/AccessibilityInspector/AccessibilityInspector */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AccessibilityInspector/AccessibilityInspector.ts"));
8896
9567
  const ImagesAspectRatioAffixer_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ImagesAspectRatioAffixer */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ImagesAspectRatioAffixer.ts"));
8897
9568
  const SpacesNormalizerForCJK_Text_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/SpacesNormalizerForCJK_Text */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/SpacesNormalizerForCJK_Text.ts"));
@@ -8899,6 +9570,7 @@ const CodeListingPugFilter_1 = __importDefault(__webpack_require__(/*! @MarkupPr
8899
9570
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
8900
9571
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
8901
9572
  const node_html_parser_1 = __webpack_require__(/*! node-html-parser */ "node-html-parser");
9573
+ const addPenultimateFileNameExtension_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Strings/addPenultimateFileNameExtension */ "./UtilsIncubator/Strings/addPenultimateFileNameExtension.ts"));
8902
9574
  class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
8903
9575
  static CACHED_HTML_VALIDATION_RESULTS_DIRECTORY_NAME = "HTML_Validation";
8904
9576
  static CACHED_ACCESSIBILITY_INSPECTION_RESULTS_DIRECTORY_NAME = "AccessibilityInspection";
@@ -9021,12 +9693,13 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9021
9693
  })).
9022
9694
  pipe(GulpStreamModifier_1.default.modify({
9023
9695
  onStreamStartedEventHandlersForSpecificFileTypes: new Map([
9024
- [MarkupEntryPointVinylFile_1.default, MarkupProcessor.createEntryPointsStateDependentVariations]
9696
+ [MarkupEntryPointVinylFile_1.default, MarkupProcessor.createEntryPointsVariationsIfStaticPreviewBuildingMode]
9025
9697
  ])
9026
9698
  })).
9027
9699
  pipe(this.logProcessedFilesIfMust()).
9028
9700
  pipe((0, gulp_data_1.default)((vinylFile) => ({
9029
9701
  ...vinylFile.pageStateDependentVariationData ?? null,
9702
+ ...vinylFile.staticPreviewLocalizationData ?? null,
9030
9703
  ...this.projectBuildingMasterConfigRepresentative.isStaticPreviewBuildingMode ?
9031
9704
  this.markupProcessingSettingsRepresentative.staticDataForStaticPreview : null
9032
9705
  }))).
@@ -9046,8 +9719,11 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9046
9719
  "code_listing--yda": CodeListingPugFilter_1.default.apply
9047
9720
  }
9048
9721
  })).
9049
- pipe((0, gulp_if_1.default)((markupFile) => markupFile instanceof MarkupEntryPointVinylFile_1.default &&
9050
- markupFile.actualEntryPointsGroupSettings.outputCodeFormatting.mustExecute, (0, gulp_html_prettify_1.default)({ indent_char: " ", indent_size: 2 }))).
9722
+ pipe(GulpStreamModifier_1.default.modify({
9723
+ onStreamStartedEventHandlersForSpecificFileTypes: new Map([
9724
+ [MarkupEntryPointVinylFile_1.default, MarkupProcessor.formatOrMinifyContentIfMust]
9725
+ ])
9726
+ })).
9051
9727
  pipe(GulpStreamModifier_1.default.modify({
9052
9728
  onStreamStartedEventHandlersForSpecificFileTypes: new Map([
9053
9729
  [MarkupEntryPointVinylFile_1.default, this.onOutputHTML_FileReady.bind(this)]
@@ -9056,14 +9732,11 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9056
9732
  pipe(gulp_1.default.dest((targetFile) => MarkupEntryPointVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFile))).
9057
9733
  on("end", this.onStreamEnded.bind(this));
9058
9734
  }
9059
- /* ━━━ Pipeline methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9735
+ /* ━━━ Pipeline Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9060
9736
  async replacePlainVinylFileWithMarkupEntryPointVinylFile(plainVinylFile, addNewFileToStream) {
9061
9737
  addNewFileToStream(new MarkupEntryPointVinylFile_1.default({
9062
9738
  initialPlainVinylFile: plainVinylFile,
9063
- actualEntryPointsGroupSettings: this.markupProcessingSettingsRepresentative.
9064
- getExpectedToExistEntryPointsGroupSettingsRelevantForSpecifiedSourceFileAbsolutePath(plainVinylFile.path),
9065
- pageStateDependentVariationsSpecification: this.markupProcessingSettingsRepresentative.
9066
- getStateDependentVariationsForEntryPointWithAbsolutePath(plainVinylFile.path)
9739
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative
9067
9740
  }));
9068
9741
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
9069
9742
  }
@@ -9136,9 +9809,12 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9136
9809
  }).join("\n"));
9137
9810
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9138
9811
  }
9139
- static async createEntryPointsStateDependentVariations(markupEntryPointVinylFile, addNewFilesToStream) {
9140
- addNewFilesToStream(markupEntryPointVinylFile.forkStaticPreviewStateDependentVariationsIfAny());
9141
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9812
+ static async createEntryPointsVariationsIfStaticPreviewBuildingMode(markupEntryPointVinylFile, addNewFilesToStream) {
9813
+ const { newFiles, mustInitialFileBeDeleted } = markupEntryPointVinylFile.manageVariationsForStaticPreviewIfAnyAndStaticPreviewBuildingMode();
9814
+ addNewFilesToStream(newFiles);
9815
+ return Promise.resolve(mustInitialFileBeDeleted ?
9816
+ GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM :
9817
+ GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9142
9818
  }
9143
9819
  /* [ Theory ] The ampersand must be escaped first, otherwise the ampersand from which HTML other entities begins
9144
9820
  * will be escaped too. */
@@ -9150,18 +9826,28 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9150
9826
  replace(/"/gu, "&quot;").
9151
9827
  replace(/'/gu, "&apos;");
9152
9828
  }
9829
+ static async formatOrMinifyContentIfMust(markupVinylFile) {
9830
+ if (markupVinylFile.actualEntryPointsGroupSettings.outputCodeFormatting.mustExecute) {
9831
+ /* [ Theory ]
9832
+ * + `indent_with_tabs` overrides `indent_size` and `indent_char` so not required.
9833
+ * */
9834
+ markupVinylFile.setContents(MarkupProcessor.formatHTML_Code(markupVinylFile));
9835
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9836
+ }
9837
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9838
+ }
9153
9839
  /* eslint-disable @typescript-eslint/member-ordering --
9154
- * Static and non-static methods are following by the usage order. */
9840
+ * From now, static and non-static methods are following by the usage order. */
9155
9841
  async onOutputHTML_FileReady(processedEntryPointVinylFile) {
9156
9842
  const entryPointFileContentRelativeToConsumingProjectRootDirectory = es_extensions_nodejs_1.ImprovedPath.computeRelativePath({
9157
9843
  basePath: this.projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
9158
9844
  comparedPath: processedEntryPointVinylFile.path,
9159
9845
  alwaysForwardSlashSeparators: true
9160
9846
  });
9161
- let entryPointFileContent = processedEntryPointVinylFile.stringifiedContents;
9162
- const entryPointFileContentMD5Checksum = (0, rev_hash_1.default)(entryPointFileContent);
9163
- let rootHTML_Element = (0, node_html_parser_1.parse)(entryPointFileContent);
9164
- rootHTML_Element = ResourcesReferencesResolverForHTML_1.default.resolve({
9847
+ let semiFinishedHTML_Code = processedEntryPointVinylFile.stringifiedContents;
9848
+ const semiFinishedHTML_CodeMD5_Checksum = (0, rev_hash_1.default)(semiFinishedHTML_Code);
9849
+ let rootHTML_Element = (0, node_html_parser_1.parse)(semiFinishedHTML_Code);
9850
+ rootHTML_Element = ResourcesPointersResolverForHTML_1.default.resolve({
9165
9851
  rootHTML_Element,
9166
9852
  projectBuildingMasterConfigRepresentative: this.projectBuildingMasterConfigRepresentative,
9167
9853
  markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
@@ -9175,32 +9861,40 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9175
9861
  absolutePathOfOutputDirectoryForTargetHTML_File: processedEntryPointVinylFile.outputDirectoryAbsolutePath
9176
9862
  });
9177
9863
  rootHTML_Element = SpacesNormalizerForCJK_Text_1.default.normalize(rootHTML_Element);
9178
- entryPointFileContent = rootHTML_Element.toString();
9864
+ semiFinishedHTML_Code = rootHTML_Element.toString();
9179
9865
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.outputFormat ===
9180
9866
  MarkupProcessingRestrictions_1.default.OutputFormats.handlebars &&
9181
9867
  !this.projectBuildingMasterConfigRepresentative.isStaticPreviewBuildingMode) {
9182
- processedEntryPointVinylFile.setContents(entryPointFileContent);
9868
+ processedEntryPointVinylFile.setContents(semiFinishedHTML_Code);
9183
9869
  processedEntryPointVinylFile.extname = ".hbs";
9184
9870
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9185
9871
  }
9186
9872
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.outputFormat ===
9187
9873
  MarkupProcessingRestrictions_1.default.OutputFormats.razor) {
9188
- processedEntryPointVinylFile.setContents(entryPointFileContent);
9874
+ processedEntryPointVinylFile.setContents(semiFinishedHTML_Code);
9189
9875
  processedEntryPointVinylFile.extname = ".razor";
9190
9876
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9191
9877
  }
9878
+ let formattedHTML_CodeForReports = processedEntryPointVinylFile.actualEntryPointsGroupSettings.outputCodeFormatting.mustExecute ?
9879
+ semiFinishedHTML_Code : null;
9192
9880
  if (this.projectBuildingMasterConfigRepresentative.mustProvideIncrementalBuilding) {
9193
9881
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.HTML_Validation.mustExecute) {
9882
+ formattedHTML_CodeForReports =
9883
+ formattedHTML_CodeForReports ??
9884
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9194
9885
  HTML_Validator_1.default.validateAtBackgroundAndReportImmideatlyWithoutThrowingOfErrors({
9195
- HTML_Code: entryPointFileContent,
9196
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9886
+ HTML_Code: formattedHTML_CodeForReports,
9887
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9197
9888
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9198
9889
  });
9199
9890
  }
9200
9891
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.mustExecute) {
9892
+ formattedHTML_CodeForReports =
9893
+ formattedHTML_CodeForReports ??
9894
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9201
9895
  AccessibilityInspector_1.default.inspectAtBackgroundAndReportImmideatlyWithoutThrowingOfErrors({
9202
- HTML_Code: entryPointFileContent,
9203
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9896
+ HTML_Code: formattedHTML_CodeForReports,
9897
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9204
9898
  accessibilityStandard: processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.standard,
9205
9899
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9206
9900
  });
@@ -9208,22 +9902,28 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9208
9902
  }
9209
9903
  else {
9210
9904
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.HTML_Validation.mustExecute) {
9905
+ formattedHTML_CodeForReports =
9906
+ formattedHTML_CodeForReports ??
9907
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9211
9908
  HTML_Validator_1.default.validateAtBackgroundWithoutReporting({
9212
- HTML_Code: entryPointFileContent,
9213
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9909
+ HTML_Code: formattedHTML_CodeForReports,
9910
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9214
9911
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9215
9912
  });
9216
9913
  }
9217
9914
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.mustExecute) {
9915
+ formattedHTML_CodeForReports =
9916
+ formattedHTML_CodeForReports ??
9917
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9218
9918
  AccessibilityInspector_1.default.inspectAtBackgroundWithoutReporting({
9219
- HTML_Code: entryPointFileContent,
9220
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9919
+ HTML_Code: formattedHTML_CodeForReports,
9920
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9221
9921
  accessibilityStandard: processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.standard,
9222
9922
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9223
9923
  });
9224
9924
  }
9225
9925
  }
9226
- processedEntryPointVinylFile.setContents(entryPointFileContent);
9926
+ processedEntryPointVinylFile.setContents(semiFinishedHTML_Code);
9227
9927
  return GulpStreamModifier_1.default.CompletionSignals.PASSING_ON;
9228
9928
  }
9229
9929
  onStreamEnded() {
@@ -9272,7 +9972,11 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9272
9972
  }
9273
9973
  /* ━━━ Helpers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9274
9974
  initializeSourceAndOutputFilesAbsolutePathsCorrespondenceMap() {
9975
+ const localeDependentPagesVariationsSettings = this.markupProcessingSettingsRepresentative.localeDependentPagesVariationsSettings;
9976
+ const localesData = localeDependentPagesVariationsSettings?.locales ?? new Map();
9275
9977
  for (const markupSourceFileAbsolutePath of es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(this.markupProcessingSettingsRepresentative.initialRelevantEntryPointsSourceFilesAbsolutePaths, { alwaysForwardSlashSeparators: true })) {
9978
+ const areLocaleDependentVariationsRequiredForCurrentFile = localesData.size > 0 &&
9979
+ localeDependentPagesVariationsSettings?.excludedFilesAbsolutePaths.includes(markupSourceFileAbsolutePath) === false;
9276
9980
  const markupEntryPointsGroupSettingsActualForCurrentFile = this.markupProcessingSettingsRepresentative.
9277
9981
  getExpectedToExistEntryPointsGroupSettingsRelevantForSpecifiedSourceFileAbsolutePath(markupSourceFileAbsolutePath);
9278
9982
  const outputFileNameWithLastExtensionWithLeadingDot = this.markupProcessingSettingsRepresentative.
@@ -9280,29 +9984,80 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9280
9984
  entryPointsGroupSettingsActualForTargetFile: markupEntryPointsGroupSettingsActualForCurrentFile,
9281
9985
  mustPrependDotToFileNameExtension: false
9282
9986
  });
9283
- MarkupProcessingSharedState_1.default.
9284
- entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
9285
- set(markupSourceFileAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
9286
- MarkupProcessingSettingsRepresentative_1.default.computeRelevantOutputDirectoryAbsolutePathForTargetSourceFile(markupSourceFileAbsolutePath, markupEntryPointsGroupSettingsActualForCurrentFile),
9287
- `${(0, es_extensions_1.extractFileNameWithoutLastExtension)(markupSourceFileAbsolutePath)}.` +
9288
- outputFileNameWithLastExtensionWithLeadingDot
9289
- ], { alwaysForwardSlashSeparators: true }));
9290
- const entryPointStateDependentVariations = this.markupProcessingSettingsRepresentative.
9291
- getStateDependentVariationsForEntryPointWithAbsolutePath(markupSourceFileAbsolutePath);
9292
- if ((0, es_extensions_1.isUndefined)(entryPointStateDependentVariations)) {
9293
- continue;
9987
+ const outputDirectoryForCurrentMarkupFileAndDerivedOnes = MarkupProcessingSettingsRepresentative_1.default.
9988
+ computeRelevantOutputDirectoryAbsolutePathForTargetSourceFile(markupSourceFileAbsolutePath, markupEntryPointsGroupSettingsActualForCurrentFile);
9989
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
9990
+ for (const localeData of localesData.values()) {
9991
+ MarkupProcessingSharedState_1.default.
9992
+ entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
9993
+ set((0, addPenultimateFileNameExtension_1.default)({
9994
+ targetPath: markupSourceFileAbsolutePath,
9995
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
9996
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
9997
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
9998
+ }), es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
9999
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10000
+ [
10001
+ (0, es_extensions_1.extractFileNameWithoutLastExtension)(markupSourceFileAbsolutePath),
10002
+ localeData.outputFileInterimNameExtensionWithoutDot,
10003
+ outputFileNameWithLastExtensionWithLeadingDot
10004
+ ].join(".")
10005
+ ], { alwaysForwardSlashSeparators: true }));
10006
+ }
9294
10007
  }
9295
- for (const derivedSourceFileAbsolutePath of Object.keys(entryPointStateDependentVariations.derivedPagesAndStatesMap)) {
10008
+ else {
9296
10009
  MarkupProcessingSharedState_1.default.
9297
10010
  entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
9298
- set(derivedSourceFileAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
9299
- MarkupProcessingSettingsRepresentative_1.default.
9300
- computeRelevantOutputDirectoryAbsolutePathForTargetSourceFile(markupSourceFileAbsolutePath, markupEntryPointsGroupSettingsActualForCurrentFile),
9301
- `${(0, es_extensions_1.extractFileNameWithoutLastExtension)(derivedSourceFileAbsolutePath)}.html`
10011
+ set(markupSourceFileAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10012
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10013
+ `${(0, es_extensions_1.extractFileNameWithoutLastExtension)(markupSourceFileAbsolutePath)}.` +
10014
+ outputFileNameWithLastExtensionWithLeadingDot
9302
10015
  ], { alwaysForwardSlashSeparators: true }));
9303
10016
  }
10017
+ const entryPointStateDependentVariations = this.markupProcessingSettingsRepresentative.
10018
+ getStateDependentVariationsForEntryPointWithAbsolutePath(markupSourceFileAbsolutePath);
10019
+ for (const derivedSourceFileAbsolutePath of (entryPointStateDependentVariations?.derivedPagesAndStatesMap ?? new Map()).keys()) {
10020
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
10021
+ for (const localeData of localesData.values()) {
10022
+ MarkupProcessingSharedState_1.default.
10023
+ entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
10024
+ set((0, addPenultimateFileNameExtension_1.default)({
10025
+ targetPath: derivedSourceFileAbsolutePath,
10026
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
10027
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
10028
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
10029
+ }), es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10030
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10031
+ [
10032
+ (0, es_extensions_1.extractFileNameWithoutLastExtension)(derivedSourceFileAbsolutePath),
10033
+ localeData.outputFileInterimNameExtensionWithoutDot,
10034
+ "html"
10035
+ ].join(".")
10036
+ ], { alwaysForwardSlashSeparators: true }));
10037
+ }
10038
+ }
10039
+ else {
10040
+ MarkupProcessingSharedState_1.default.
10041
+ entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
10042
+ set(derivedSourceFileAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10043
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10044
+ `${(0, es_extensions_1.extractFileNameWithoutLastExtension)(derivedSourceFileAbsolutePath)}.html`
10045
+ ], { alwaysForwardSlashSeparators: true }));
10046
+ }
10047
+ }
9304
10048
  }
9305
10049
  }
10050
+ static formatHTML_Code(markupVinylFile) {
10051
+ const { outputCodeFormatting: outputCodeFormattingSettings } = markupVinylFile.actualEntryPointsGroupSettings;
10052
+ return js_beautify_1.default.html(markupVinylFile.stringifiedContents, {
10053
+ ...outputCodeFormattingSettings.indentationString.includes(es_extensions_1.SpaceCharacters.regularSpace) ?
10054
+ { indent_size: (0, es_extensions_1.splitString)(outputCodeFormattingSettings.indentationString, "").length } : null,
10055
+ indent_char: outputCodeFormattingSettings.indentationString,
10056
+ eol: outputCodeFormattingSettings.lineSeparators,
10057
+ end_with_newline: outputCodeFormattingSettings.mustGuaranteeTrailingEmptyLine,
10058
+ indent_body_inner_html: outputCodeFormattingSettings.mustIndentHeadAndBodyTags
10059
+ });
10060
+ }
9306
10061
  }
9307
10062
  exports["default"] = MarkupProcessor;
9308
10063
 
@@ -9464,6 +10219,7 @@ class AccessibilityInspector {
9464
10219
  static localization = AccessibilityInspectorLocalization_english_1.default;
9465
10220
  /* ━━━ Public static methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9466
10221
  /* ─── Initialization ───────────────────────────────────────────────────────────────────────────────────────────── */
10222
+ /* [ Specification ] Could not be async because intended to be used ini non-async methods. */
9467
10223
  static beginInitialization(configuration) {
9468
10224
  AccessibilityInspector.hasInitializationStarted = true;
9469
10225
  const cachedInspectionResultsFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
@@ -10119,6 +10875,39 @@ exports["default"] = accessibilityInspectorLocalization__english;
10119
10875
 
10120
10876
  /* eslint-disable @typescript-eslint/member-ordering --
10121
10877
  * There is the processing order herewith some methods required the accessing to non-static fields, some - not. */
10878
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10879
+ if (k2 === undefined) k2 = k;
10880
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10881
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10882
+ desc = { enumerable: true, get: function() { return m[k]; } };
10883
+ }
10884
+ Object.defineProperty(o, k2, desc);
10885
+ }) : (function(o, m, k, k2) {
10886
+ if (k2 === undefined) k2 = k;
10887
+ o[k2] = m[k];
10888
+ }));
10889
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10890
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
10891
+ }) : function(o, v) {
10892
+ o["default"] = v;
10893
+ });
10894
+ var __importStar = (this && this.__importStar) || (function () {
10895
+ var ownKeys = function(o) {
10896
+ ownKeys = Object.getOwnPropertyNames || function (o) {
10897
+ var ar = [];
10898
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
10899
+ return ar;
10900
+ };
10901
+ return ownKeys(o);
10902
+ };
10903
+ return function (mod) {
10904
+ if (mod && mod.__esModule) return mod;
10905
+ var result = {};
10906
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
10907
+ __setModuleDefault(result, mod);
10908
+ return result;
10909
+ };
10910
+ })();
10122
10911
  var __importDefault = (this && this.__importDefault) || function (mod) {
10123
10912
  return (mod && mod.__esModule) ? mod : { "default": mod };
10124
10913
  };
@@ -10126,8 +10915,6 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
10126
10915
  /* ━━━ Imports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10127
10916
  /* ─── Assets ────────────────────────────────────────────────────────────────────────────────────────────────────── */
10128
10917
  const HTML_ValidatorLocalization_english_1 = __importDefault(__webpack_require__(/*! ./HTML_ValidatorLocalization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts"));
10129
- /* ─── Applied utils ─────────────────────────────────────────────────────────────────────────────────────────────── */
10130
- const w3c_html_validator_1 = __webpack_require__(/*! w3c-html-validator */ "w3c-html-validator");
10131
10918
  /* ─── Generals utils ────────────────────────────────────────────────────────────────────────────────────────────── */
10132
10919
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
10133
10920
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
@@ -10136,6 +10923,7 @@ const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */
10136
10923
  const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
10137
10924
  class HTML_Validator {
10138
10925
  /* ━━━ Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10926
+ HTML_ValidationService;
10139
10927
  relativePathsOfFilesWhichIsBeingValidated = new Set();
10140
10928
  validationsInProgressForProductionLikeModes = [];
10141
10929
  /* ─── Initialization ───────────────────────────────────────────────────────────────────────────────────────────── */
@@ -10236,6 +11024,7 @@ class HTML_Validator {
10236
11024
  static localization = HTML_ValidatorLocalization_english_1.default;
10237
11025
  /* ━━━ Public static methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10238
11026
  /* ─── Initialization ───────────────────────────────────────────────────────────────────────────────────────────── */
11027
+ /* [ Specification ] Could not be async because intended to be used ini non-async methods. */
10239
11028
  static beginInitialization(configuration) {
10240
11029
  HTML_Validator.hasInitializationStarted = true;
10241
11030
  const cachedValidationsResultsFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
@@ -10244,31 +11033,30 @@ class HTML_Validator {
10244
11033
  (0, es_extensions_1.insertSubstring)(configuration.projectBuildingSelectiveExecutionID, { modifier: (projectBuildingSelectiveExecutionID) => `${projectBuildingSelectiveExecutionID}.` }) +
10245
11034
  `${(0, es_extensions_1.toLowerCamelCase)(configuration.consumingProjectBuildingMode)}.json`
10246
11035
  ]);
10247
- HTML_Validator.retrieveCachedPastValidationsResultsFromFileIfItExists({
10248
- cachedValidationsResultsFileAbsolutePath,
10249
- cachedValidationsResultsDirectoryAbsolutePath: configuration.cachedValidationsResultsFileParentDirectoryAbsolutePath
10250
- }).
10251
- then((cachedValidationsResults) => {
11036
+ Promise.all([
11037
+ Promise.resolve().then(() => __importStar(__webpack_require__(/*! w3c-html-validator */ "../node_modules/w3c-html-validator/dist/w3c-html-validator.js"))),
11038
+ HTML_Validator.retrieveCachedPastValidationsResultsFromFileIfItExists({
11039
+ cachedValidationsResultsFileAbsolutePath,
11040
+ cachedValidationsResultsDirectoryAbsolutePath: configuration.cachedValidationsResultsFileParentDirectoryAbsolutePath
11041
+ })
11042
+ ]).
11043
+ then(([dynamicallyLoadedHTML_ValidatorModule, cachedValidationsResults]) => {
10252
11044
  HTML_Validator.selfSoleInstance = new HTML_Validator({
11045
+ HTML_ValidationService: dynamicallyLoadedHTML_ValidatorModule.w3cHtmlValidator,
10253
11046
  cachedValidationsResults,
10254
11047
  cachedValidationsResultsFileAbsolutePath,
10255
11048
  ...configuration
10256
11049
  });
10257
- HTML_Validator.onSelfSoleInstanceReady(HTML_Validator.selfSoleInstance);
11050
+ this.onSelfSoleInstanceReady(HTML_Validator.selfSoleInstance);
10258
11051
  }).
10259
11052
  catch((error) => {
10260
- if (true) {
10261
- es_extensions_1.Logger.logError({
10262
- errorType: es_extensions_1.AlgorithmMismatchError.NAME,
10263
- title: es_extensions_1.AlgorithmMismatchError.localization.defaultTitle,
10264
- description: "The error has been caught during the execution of asynchronous method " +
10265
- "\"retrieveCachedInspectionsResultsFromFileIfItExists\", while expected that all errors " +
10266
- "has been handled inside this method.",
10267
- occurrenceLocation: "AccessibilityInspector." +
10268
- "initializeAsynchronousRequirements(cachedValidationsResultsFileAbsolutePath)",
10269
- caughtError: error
10270
- });
10271
- }
11053
+ es_extensions_1.Logger.logError({
11054
+ errorType: es_extensions_1.UnexpectedEventError.NAME,
11055
+ title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
11056
+ description: "The unexpected error occurred during the initialization of HTML validation functionality",
11057
+ occurrenceLocation: "HTML_Validator.beginInitialization(configuration)",
11058
+ caughtError: error
11059
+ });
10272
11060
  });
10273
11061
  }
10274
11062
  /* ─── Validation ───────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -10368,7 +11156,8 @@ class HTML_Validator {
10368
11156
  });
10369
11157
  }
10370
11158
  /* ━━━ Constructor ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10371
- constructor({ cachedValidationsResults, cachedValidationsResultsFileParentDirectoryAbsolutePath, cachedValidationsResultsFileAbsolutePath, logging }) {
11159
+ constructor({ HTML_ValidationService, cachedValidationsResults, cachedValidationsResultsFileParentDirectoryAbsolutePath, cachedValidationsResultsFileAbsolutePath, logging }) {
11160
+ this.HTML_ValidationService = HTML_ValidationService;
10372
11161
  this.cachedValidationsResults = cachedValidationsResults ?? new Map();
10373
11162
  this.CACHED_VALIDATIONS_RESULTS_FILE_PARENT_DIRECTORY_ABSOLUTE_PATH = cachedValidationsResultsFileParentDirectoryAbsolutePath;
10374
11163
  this.CACHED_VALIDATIONS_RESULTS_FILE_ABSOLUTE_PATH = cachedValidationsResultsFileAbsolutePath;
@@ -10409,10 +11198,18 @@ class HTML_Validator {
10409
11198
  }
10410
11199
  let validationRawResults;
10411
11200
  try {
10412
- validationRawResults = await w3c_html_validator_1.w3cHtmlValidator.validate({
11201
+ validationRawResults = await this.HTML_ValidationService.validate({
10413
11202
  html: HTML_Code,
10414
11203
  output: "json"
10415
11204
  });
11205
+ if ((0, es_extensions_1.isNotUndefined)(validationRawResults.messages?.find((rawValidationIssue) => rawValidationIssue.type === "network-error" && rawValidationIssue.message.includes("429 Too Many Requests")))) {
11206
+ es_extensions_1.Logger.throwErrorAndLog({
11207
+ errorType: "HTML_ValidationServiceRejectionError",
11208
+ title: "HTML Validation Rejection",
11209
+ description: "Sorry, the validation service has rejected the requests because of limit exceeding. ",
11210
+ occurrenceLocation: "HTML_Validator.validateSingleFile(compoundParameter)",
11211
+ });
11212
+ }
10416
11213
  }
10417
11214
  catch (error) {
10418
11215
  validationTimeMeasuringStopwatch.stop();
@@ -10892,10 +11689,10 @@ exports["default"] = ImagesAspectRatioAffixer;
10892
11689
 
10893
11690
  /***/ }),
10894
11691
 
10895
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts":
10896
- /*!**********************************************************************************************************************************************!*\
10897
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts ***!
10898
- \**********************************************************************************************************************************************/
11692
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/PointersReferencesResolverForHTML_Localization.english.ts":
11693
+ /*!********************************************************************************************************************************************************!*\
11694
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/PointersReferencesResolverForHTML_Localization.english.ts ***!
11695
+ \********************************************************************************************************************************************************/
10899
11696
  /***/ ((__unused_webpack_module, exports) => {
10900
11697
 
10901
11698
 
@@ -10925,10 +11722,10 @@ exports["default"] = resourcesReferencesResolverForHTML_Localization__english;
10925
11722
 
10926
11723
  /***/ }),
10927
11724
 
10928
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts":
10929
- /*!**************************************************************************************************************************************!*\
10930
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts ***!
10931
- \**************************************************************************************************************************************/
11725
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML.ts":
11726
+ /*!**********************************************************************************************************************************!*\
11727
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML.ts ***!
11728
+ \**********************************************************************************************************************************/
10932
11729
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
10933
11730
 
10934
11731
 
@@ -10937,8 +11734,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
10937
11734
  };
10938
11735
  Object.defineProperty(exports, "__esModule", ({ value: true }));
10939
11736
  /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
10940
- const PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX.ts"));
10941
- const PLAIN_COPIED_FILES_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_ALIAS_PREFIX.ts"));
11737
+ const PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts"));
11738
+ const PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX.ts"));
10942
11739
  /* ─── Shared State ───────────────────────────────────────────────────────────────────────────────────────────────── */
10943
11740
  const MarkupProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSharedState.ts"));
10944
11741
  const StylesProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesProcessingSharedState.ts"));
@@ -10947,11 +11744,11 @@ const ImagesProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @I
10947
11744
  const VideosProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @VideosProcessing/VideosProcessingSharedState */ "./ProjectBuilding/AssetsProcessing/Videos/VideosProcessingSharedState.ts"));
10948
11745
  const AudiosProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @AudiosProcessing/AudiosProcessingSharedState */ "./ProjectBuilding/AssetsProcessing/Audios/AudiosProcessingSharedState.ts"));
10949
11746
  /* ─── Assets ─────────────────────────────────────────────────────────────────────────────────────────────────────── */
10950
- const ResourcesReferencesResolverForHTML_english_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts"));
11747
+ const PointersReferencesResolverForHTML_Localization_english_1 = __importDefault(__webpack_require__(/*! ./PointersReferencesResolverForHTML_Localization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/PointersReferencesResolverForHTML_Localization.english.ts"));
10951
11748
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
10952
11749
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
10953
- class ResourcesReferencesResolverForHTML {
10954
- static localization = ResourcesReferencesResolverForHTML_english_1.default;
11750
+ class ResourcesPointersResolverForHTML {
11751
+ static localization = PointersReferencesResolverForHTML_Localization_english_1.default;
10955
11752
  static aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap = new Map();
10956
11753
  static markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap = new Map();
10957
11754
  static aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap = new Map();
@@ -10971,7 +11768,7 @@ class ResourcesReferencesResolverForHTML {
10971
11768
  publicDirectoryAbsolutePath;
10972
11769
  plainCopyingSettingsRepresentative;
10973
11770
  static resolve(sourceData) {
10974
- return new ResourcesReferencesResolverForHTML(sourceData).
11771
+ return new ResourcesPointersResolverForHTML(sourceData).
10975
11772
  resolveInternalLinks().
10976
11773
  resolveStylesheetsAliasedPaths().
10977
11774
  resolveScriptsPathsAliases().
@@ -10989,8 +11786,8 @@ class ResourcesReferencesResolverForHTML {
10989
11786
  this.publicDirectoryAbsolutePath = this.projectBuildingMasterConfigRepresentative.actualPublicDirectoryAbsolutePath;
10990
11787
  }
10991
11788
  this.plainCopyingSettingsRepresentative = projectBuildingMasterConfigRepresentative.plainCopyingSettingsRepresentative;
10992
- if (ResourcesReferencesResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
10993
- ResourcesReferencesResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11789
+ if (ResourcesPointersResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11790
+ ResourcesPointersResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
10994
11791
  (0, es_extensions_1.createMapBasedOnOtherMap)(this.markupProcessingSettingsRepresentative.entryPointsGroupsNormalizedSettingsMappedByReferences, (pathAlias, markupEntryPointsGroupNormalizedSettings) => [
10995
11792
  pathAlias,
10996
11793
  markupEntryPointsGroupNormalizedSettings.isSingeEntryPointGroup ?
@@ -10998,8 +11795,8 @@ class ResourcesReferencesResolverForHTML {
10998
11795
  markupEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
10999
11796
  ]);
11000
11797
  }
11001
- if (ResourcesReferencesResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11002
- ResourcesReferencesResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11798
+ if (ResourcesPointersResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11799
+ ResourcesPointersResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11003
11800
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.stylesProcessingSettingsRepresentative?.
11004
11801
  entryPointsGroupsNormalizedSettingsMappedByReferences ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [
11005
11802
  pathAlias,
@@ -11008,8 +11805,8 @@ class ResourcesReferencesResolverForHTML {
11008
11805
  stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
11009
11806
  ]);
11010
11807
  }
11011
- if (ResourcesReferencesResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11012
- ResourcesReferencesResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11808
+ if (ResourcesPointersResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11809
+ ResourcesPointersResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11013
11810
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative?.
11014
11811
  entryPointsGroupsNormalizedSettingsMappedByReferences ?? new Map(), (pathAlias, entryPointsGroupNormalizedSettings) => [
11015
11812
  pathAlias,
@@ -11018,18 +11815,18 @@ class ResourcesReferencesResolverForHTML {
11018
11815
  entryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
11019
11816
  ]);
11020
11817
  }
11021
- if (ResourcesReferencesResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11022
- ResourcesReferencesResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11818
+ if (ResourcesPointersResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11819
+ ResourcesPointersResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11023
11820
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.imagesProcessingSettingsRepresentative?.
11024
11821
  relevantAssetsGroupsSettingsMappedBySourceFilesTopDirectoryAliasName ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [pathAlias, stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath]);
11025
11822
  }
11026
- if (ResourcesReferencesResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11027
- ResourcesReferencesResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11823
+ if (ResourcesPointersResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11824
+ ResourcesPointersResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11028
11825
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.fontsProcessingSettingsRepresentative?.
11029
11826
  relevantAssetsGroupsSettingsMappedBySourceFilesTopDirectoryAliasName ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [pathAlias, stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath]);
11030
11827
  }
11031
- if (ResourcesReferencesResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11032
- ResourcesReferencesResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11828
+ if (ResourcesPointersResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11829
+ ResourcesPointersResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11033
11830
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.audiosProcessingSettingsRepresentative?.
11034
11831
  relevantAssetsGroupsSettingsMappedBySourceFilesTopDirectoryAliasName ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [pathAlias, stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath]);
11035
11832
  }
@@ -11057,7 +11854,7 @@ class ResourcesReferencesResolverForHTML {
11057
11854
  if (!(0, es_extensions_1.isNonEmptyString)(attributeValueContainingAliasedURI)) {
11058
11855
  return;
11059
11856
  }
11060
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
11857
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11061
11858
  aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11062
11859
  get(attributeValueContainingAliasedURI) ??
11063
11860
  null;
@@ -11065,26 +11862,26 @@ class ResourcesReferencesResolverForHTML {
11065
11862
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11066
11863
  return;
11067
11864
  }
11068
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(attributeValueContainingAliasedURI);
11865
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(attributeValueContainingAliasedURI);
11069
11866
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11070
11867
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11071
11868
  return;
11072
11869
  }
11073
11870
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11074
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
11871
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11075
11872
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11076
11873
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11077
11874
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11078
11875
  return;
11079
11876
  }
11080
- ResourcesReferencesResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11877
+ ResourcesPointersResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11081
11878
  set(attributeValueContainingAliasedURI, resolvedAbsolutePath);
11082
11879
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11083
11880
  return;
11084
11881
  }
11085
11882
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11086
11883
  pickedPathOfTargetResourceFile: attributeValueContainingAliasedURI,
11087
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11884
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11088
11885
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: this.markupProcessingSettingsRepresentative.
11089
11886
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
11090
11887
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: MarkupProcessingSharedState_1.default.
@@ -11097,7 +11894,7 @@ class ResourcesReferencesResolverForHTML {
11097
11894
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11098
11895
  return;
11099
11896
  }
11100
- ResourcesReferencesResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11897
+ ResourcesPointersResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11101
11898
  set(attributeValueContainingAliasedURI, resolvedAbsolutePath);
11102
11899
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11103
11900
  }
@@ -11112,7 +11909,7 @@ class ResourcesReferencesResolverForHTML {
11112
11909
  if (!(0, es_extensions_1.isNonEmptyString)(hrefAttributeValue)) {
11113
11910
  continue;
11114
11911
  }
11115
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
11912
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11116
11913
  aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap.
11117
11914
  get(hrefAttributeValue) ??
11118
11915
  null;
@@ -11120,19 +11917,19 @@ class ResourcesReferencesResolverForHTML {
11120
11917
  linkElement.setAttribute("href", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11121
11918
  continue;
11122
11919
  }
11123
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(hrefAttributeValue);
11920
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(hrefAttributeValue);
11124
11921
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11125
11922
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11126
11923
  continue;
11127
11924
  }
11128
11925
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11129
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
11926
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11130
11927
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11131
11928
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11132
11929
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11133
11930
  continue;
11134
11931
  }
11135
- ResourcesReferencesResolverForHTML.
11932
+ ResourcesPointersResolverForHTML.
11136
11933
  aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap.
11137
11934
  set(hrefAttributeValue, resolvedAbsolutePath);
11138
11935
  linkElement.setAttribute("href", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11143,7 +11940,7 @@ class ResourcesReferencesResolverForHTML {
11143
11940
  }
11144
11941
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11145
11942
  pickedPathOfTargetResourceFile: hrefAttributeValue,
11146
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11943
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11147
11944
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: stylesProcessingSettingsRepresentative.
11148
11945
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
11149
11946
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: StylesProcessingSharedState_1.default.
@@ -11154,7 +11951,7 @@ class ResourcesReferencesResolverForHTML {
11154
11951
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11155
11952
  continue;
11156
11953
  }
11157
- ResourcesReferencesResolverForHTML.
11954
+ ResourcesPointersResolverForHTML.
11158
11955
  aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap.
11159
11956
  set(hrefAttributeValue, resolvedAbsolutePath);
11160
11957
  linkElement.setAttribute("href", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11172,7 +11969,7 @@ class ResourcesReferencesResolverForHTML {
11172
11969
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
11173
11970
  continue;
11174
11971
  }
11175
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
11972
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11176
11973
  aliasedURIsAndOutputScriptsFilesAbsolutePathsCorrespondenceMap.
11177
11974
  get(srcAttributeValue) ??
11178
11975
  null;
@@ -11180,19 +11977,19 @@ class ResourcesReferencesResolverForHTML {
11180
11977
  scriptElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11181
11978
  continue;
11182
11979
  }
11183
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(srcAttributeValue);
11980
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(srcAttributeValue);
11184
11981
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11185
11982
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11186
11983
  continue;
11187
11984
  }
11188
11985
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11189
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
11986
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11190
11987
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11191
11988
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11192
11989
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11193
11990
  continue;
11194
11991
  }
11195
- ResourcesReferencesResolverForHTML.
11992
+ ResourcesPointersResolverForHTML.
11196
11993
  aliasedURIsAndOutputScriptsFilesAbsolutePathsCorrespondenceMap.
11197
11994
  set(srcAttributeValue, resolvedAbsolutePath);
11198
11995
  scriptElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11203,7 +12000,7 @@ class ResourcesReferencesResolverForHTML {
11203
12000
  }
11204
12001
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11205
12002
  pickedPathOfTargetResourceFile: srcAttributeValue,
11206
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12003
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11207
12004
  scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11208
12005
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: ECMA_ScriptLogicProcessingConfigRepresentative.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
11209
12006
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: ECMA_ScriptLogicProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11215,7 +12012,7 @@ class ResourcesReferencesResolverForHTML {
11215
12012
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11216
12013
  continue;
11217
12014
  }
11218
- ResourcesReferencesResolverForHTML.
12015
+ ResourcesPointersResolverForHTML.
11219
12016
  aliasedURIsAndOutputScriptsFilesAbsolutePathsCorrespondenceMap.
11220
12017
  set(srcAttributeValue, resolvedAbsolutePath);
11221
12018
  scriptElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11257,26 +12054,26 @@ class ResourcesReferencesResolverForHTML {
11257
12054
  regularExpressionWithCapturingGroups: /url\(["']?(?<possiblyAliasedPath>.+?)["']?\);?/gu,
11258
12055
  replacer: (matching) => {
11259
12056
  const possiblyAliasedPath = matching.namedCapturingGroups.possiblyAliasedPath;
11260
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12057
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11261
12058
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11262
12059
  get(possiblyAliasedPath) ??
11263
12060
  null;
11264
12061
  if ((0, es_extensions_1.isNotNull)(resolvedAbsolutePath)) {
11265
12062
  return `url("${this.buildResourceFileFinalPath(resolvedAbsolutePath)}");`;
11266
12063
  }
11267
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(possiblyAliasedPath);
12064
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(possiblyAliasedPath);
11268
12065
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11269
12066
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11270
12067
  return null;
11271
12068
  }
11272
12069
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11273
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12070
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11274
12071
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11275
12072
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11276
12073
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11277
12074
  return null;
11278
12075
  }
11279
- ResourcesReferencesResolverForHTML.
12076
+ ResourcesPointersResolverForHTML.
11280
12077
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11281
12078
  set(possiblyAliasedPath, resolvedAbsolutePath);
11282
12079
  return `url("${this.buildResourceFileFinalPath(resolvedAbsolutePath)}");`;
@@ -11286,7 +12083,7 @@ class ResourcesReferencesResolverForHTML {
11286
12083
  }
11287
12084
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11288
12085
  pickedPathOfTargetResourceFile: possiblyAliasedPath,
11289
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12086
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11290
12087
  imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11291
12088
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: imagesProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11292
12089
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: ImagesProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11296,7 +12093,7 @@ class ResourcesReferencesResolverForHTML {
11296
12093
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11297
12094
  return null;
11298
12095
  }
11299
- ResourcesReferencesResolverForHTML.
12096
+ ResourcesPointersResolverForHTML.
11300
12097
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11301
12098
  set(possiblyAliasedPath, resolvedAbsolutePath);
11302
12099
  return `url("${this.buildResourceFileFinalPath(resolvedAbsolutePath)}");`;
@@ -11312,7 +12109,7 @@ class ResourcesReferencesResolverForHTML {
11312
12109
  if (!(0, es_extensions_1.isNonEmptyString)(targetHTML_ElementAttributeValue)) {
11313
12110
  return;
11314
12111
  }
11315
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12112
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11316
12113
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11317
12114
  get(targetHTML_ElementAttributeName) ??
11318
12115
  null;
@@ -11320,19 +12117,19 @@ class ResourcesReferencesResolverForHTML {
11320
12117
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11321
12118
  return;
11322
12119
  }
11323
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(targetHTML_ElementAttributeValue);
12120
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(targetHTML_ElementAttributeValue);
11324
12121
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11325
12122
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11326
12123
  return;
11327
12124
  }
11328
12125
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11329
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12126
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11330
12127
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11331
12128
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11332
12129
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11333
12130
  return;
11334
12131
  }
11335
- ResourcesReferencesResolverForHTML.
12132
+ ResourcesPointersResolverForHTML.
11336
12133
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11337
12134
  set(targetHTML_ElementAttributeValue, resolvedAbsolutePath);
11338
12135
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11344,7 +12141,7 @@ class ResourcesReferencesResolverForHTML {
11344
12141
  }
11345
12142
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11346
12143
  pickedPathOfTargetResourceFile: targetHTML_ElementAttributeValue,
11347
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12144
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11348
12145
  imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11349
12146
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: imagesProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11350
12147
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: ImagesProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11354,7 +12151,7 @@ class ResourcesReferencesResolverForHTML {
11354
12151
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11355
12152
  return;
11356
12153
  }
11357
- ResourcesReferencesResolverForHTML.
12154
+ ResourcesPointersResolverForHTML.
11358
12155
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11359
12156
  set(targetHTML_ElementAttributeValue, resolvedAbsolutePath);
11360
12157
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11370,7 +12167,7 @@ class ResourcesReferencesResolverForHTML {
11370
12167
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
11371
12168
  continue;
11372
12169
  }
11373
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12170
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11374
12171
  aliasedURIsAndOutputVideosFilesAbsolutePathsCorrespondenceMap.
11375
12172
  get(srcAttributeValue) ??
11376
12173
  null;
@@ -11378,19 +12175,19 @@ class ResourcesReferencesResolverForHTML {
11378
12175
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11379
12176
  continue;
11380
12177
  }
11381
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(srcAttributeValue);
12178
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(srcAttributeValue);
11382
12179
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11383
12180
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11384
12181
  continue;
11385
12182
  }
11386
12183
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11387
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12184
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11388
12185
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11389
12186
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11390
12187
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11391
12188
  continue;
11392
12189
  }
11393
- ResourcesReferencesResolverForHTML.
12190
+ ResourcesPointersResolverForHTML.
11394
12191
  aliasedURIsAndOutputVideosFilesAbsolutePathsCorrespondenceMap.
11395
12192
  set(srcAttributeValue, resolvedAbsolutePath);
11396
12193
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11401,7 +12198,7 @@ class ResourcesReferencesResolverForHTML {
11401
12198
  }
11402
12199
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11403
12200
  pickedPathOfTargetResourceFile: srcAttributeValue,
11404
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12201
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11405
12202
  videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11406
12203
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: videosProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11407
12204
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: VideosProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11411,7 +12208,7 @@ class ResourcesReferencesResolverForHTML {
11411
12208
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11412
12209
  continue;
11413
12210
  }
11414
- ResourcesReferencesResolverForHTML.
12211
+ ResourcesPointersResolverForHTML.
11415
12212
  aliasedURIsAndOutputVideosFilesAbsolutePathsCorrespondenceMap.
11416
12213
  set(srcAttributeValue, resolvedAbsolutePath);
11417
12214
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11429,26 +12226,26 @@ class ResourcesReferencesResolverForHTML {
11429
12226
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
11430
12227
  continue;
11431
12228
  }
11432
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12229
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11433
12230
  aliasedURIsAndOutputAudiosFilesAbsolutePathsCorrespondenceMap.
11434
12231
  get(srcAttributeValue) ??
11435
12232
  null;
11436
12233
  if ((0, es_extensions_1.isNotNull)(resolvedAbsolutePath)) {
11437
12234
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11438
12235
  }
11439
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(srcAttributeValue);
12236
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(srcAttributeValue);
11440
12237
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11441
12238
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11442
12239
  continue;
11443
12240
  }
11444
12241
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11445
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12242
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11446
12243
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11447
12244
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11448
12245
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11449
12246
  continue;
11450
12247
  }
11451
- ResourcesReferencesResolverForHTML.
12248
+ ResourcesPointersResolverForHTML.
11452
12249
  aliasedURIsAndOutputAudiosFilesAbsolutePathsCorrespondenceMap.
11453
12250
  set(srcAttributeValue, resolvedAbsolutePath);
11454
12251
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11459,7 +12256,7 @@ class ResourcesReferencesResolverForHTML {
11459
12256
  }
11460
12257
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11461
12258
  pickedPathOfTargetResourceFile: srcAttributeValue,
11462
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12259
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11463
12260
  audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11464
12261
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: audiosProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11465
12262
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: AudiosProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11469,7 +12266,7 @@ class ResourcesReferencesResolverForHTML {
11469
12266
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11470
12267
  continue;
11471
12268
  }
11472
- ResourcesReferencesResolverForHTML.
12269
+ ResourcesPointersResolverForHTML.
11473
12270
  aliasedURIsAndOutputAudiosFilesAbsolutePathsCorrespondenceMap.
11474
12271
  set(srcAttributeValue, resolvedAbsolutePath);
11475
12272
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11480,15 +12277,15 @@ class ResourcesReferencesResolverForHTML {
11480
12277
  /* eslint-disable-next-line @typescript-eslint/class-methods-use-this --
11481
12278
  * The method is being used before non-static "buildResourceFileFinalPath", so in this case it has been declared first. */
11482
12279
  resolveOutputResourceFileAbsolutePathIfPossible({ pickedPathOfTargetResourceFile, sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap, supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots, sourceAndOutputFilesAbsolutePathsCorrespondenceMap, fileTypeForLogging__pluralForm }) {
11483
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(pickedPathOfTargetResourceFile);
12280
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(pickedPathOfTargetResourceFile);
11484
12281
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11485
12282
  if ((0, es_extensions_1.isUndefined)(firstSegmentOfPickedPath)) {
11486
12283
  return null;
11487
12284
  }
11488
- if (firstSegmentOfPickedPath.startsWith(PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default)) {
12285
+ if (firstSegmentOfPickedPath.startsWith(PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11489
12286
  const sourceFilesTopDirectoryAbsolutePathOfCurrentAlias = sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.get(firstSegmentOfPickedPath);
11490
12287
  if ((0, es_extensions_1.isUndefined)(sourceFilesTopDirectoryAbsolutePathOfCurrentAlias)) {
11491
- es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateUnknownResourceGroupReferenceWarningLog({
12288
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolverForHTML.localization.generateUnknownResourceGroupReferenceWarningLog({
11492
12289
  fileType__pluralForm: fileTypeForLogging__pluralForm,
11493
12290
  firstPathSegment: firstSegmentOfPickedPath,
11494
12291
  pickedPathOfTargetResourceFile,
@@ -11511,7 +12308,7 @@ class ResourcesReferencesResolverForHTML {
11511
12308
  })));
11512
12309
  const searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap = (0, es_extensions_1.filterMap)(sourceAndOutputFilesAbsolutePathsCorrespondenceMap, (sourceFileAbsolutePath) => possibleAbsolutePathsOfTargetSourceFileWithoutFragment.includes(sourceFileAbsolutePath));
11513
12310
  if (searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap.size === 0) {
11514
- es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.
12311
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolverForHTML.localization.
11515
12312
  generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarningLog({
11516
12313
  pickedPathOfTargetResourceFile,
11517
12314
  fileType__singularForm: fileTypeForLogging__pluralForm,
@@ -11531,7 +12328,7 @@ class ResourcesReferencesResolverForHTML {
11531
12328
  const resolvedFileOutputAbsolutePath = sourceAndOutputFilesAbsolutePathsCorrespondenceMap.
11532
12329
  get(sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension);
11533
12330
  if ((0, es_extensions_1.isUndefined)(resolvedFileOutputAbsolutePath)) {
11534
- es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog({
12331
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolverForHTML.localization.generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog({
11535
12332
  pickedPathOfTargetResourceFile,
11536
12333
  fileType__singularForm: fileTypeForLogging__pluralForm
11537
12334
  }));
@@ -11555,7 +12352,7 @@ class ResourcesReferencesResolverForHTML {
11555
12352
  });
11556
12353
  }
11557
12354
  }
11558
- exports["default"] = ResourcesReferencesResolverForHTML;
12355
+ exports["default"] = ResourcesPointersResolverForHTML;
11559
12356
 
11560
12357
 
11561
12358
  /***/ }),
@@ -11691,7 +12488,7 @@ const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @
11691
12488
  const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes */ "./ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes.ts"));
11692
12489
  /* ─── Default Settings ───────────────────────────────────────────────────────────────────────────────────────────── */
11693
12490
  const MarkupProcessingSettings__Default_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSettings__Default */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSettings__Default.ts"));
11694
- /* ─── Settings normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
12491
+ /* ─── Settings Normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
11695
12492
  const SourceCodeProcessingRawSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer */ "./ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer.ts"));
11696
12493
  const RoutingSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/RawSettingsNormalizer/RoutingSettingsNormalizer */ "./ProjectBuilding/SourceCodeProcessing/Markup/RawSettingsNormalizer/RoutingSettingsNormalizer.ts"));
11697
12494
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -11717,7 +12514,10 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11717
12514
  supportedOutputFileNameExtensionsWithoutLeadingDots: MarkupProcessingRestrictions_1.default.supportedOutputFilesNamesExtensionsWithoutLeadingDots,
11718
12515
  mustResolveResourcesReferencesToAbsolutePath: dataHoldingSelfInstance.
11719
12516
  computeMustResolveResourcesReferencesToAbsolutePathPropertyValue(),
11720
- periodBetweenFileUpdatingAndRebuildingStarting__seconds: markupProcessingSettings__fromFile__rawValid.common?.periodBetweenFileUpdatingAndRebuildingStarting__seconds ??
12517
+ secondsBetweenFileUpdatingAndStartingOfRebuilding: dataHoldingSelfInstance.markupProcessingSettings__fromFile__rawValid.
12518
+ common?.
12519
+ buildingModeDependent?.[dataHoldingSelfInstance.consumingProjectBuildingMode]?.
12520
+ secondsBetweenFileUpdatingAndStartingOfRebuilding ??
11721
12521
  MarkupProcessingSettings__Default_1.default.periodBetweenFileUpdatingAndRebuildingStarting__seconds
11722
12522
  },
11723
12523
  linting: dataHoldingSelfInstance.normalizeLintingSettings(),
@@ -11727,17 +12527,17 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11727
12527
  normalizeImportingFromTypeScriptSettings(markupProcessingSettings__fromFile__rawValid.importingFromTypeScript)
11728
12528
  } : null,
11729
12529
  staticPreview: {
11730
- stateDependentPagesVariationsSpecification: dataHoldingSelfInstance.
11731
- normalizeStaticPreviewStateDependentPageVariationsSpecification(),
12530
+ pagesVariations: dataHoldingSelfInstance.normalizeStaticPreviewPagesVariationsSettings(),
11732
12531
  importsFromStaticDataFiles: dataHoldingSelfInstance.normalizeImportsFromStaticDataFiles()
11733
12532
  },
12533
+ /* TODO Replace value of `absolutePathsOfSectioningToCache`. https://trello.com/c/RJfFF7oh */
11734
12534
  ...(0, es_extensions_1.isNotUndefined)(markupProcessingSettings__fromFile__rawValid.routing) ? {
11735
12535
  routing: {
11736
12536
  variable: markupProcessingSettings__fromFile__rawValid.routing.variable,
11737
12537
  routes: RoutingSettingsNormalizer_1.default.normalize({
11738
12538
  routingSettings__fromFile__rawValid: markupProcessingSettings__fromFile__rawValid.routing,
11739
12539
  projectRootDirectoryAbsolutePath: commonSettings__normalized.projectRootDirectoryAbsolutePath,
11740
- absolutePathsOfSectioningToCache: new Set() // TODO Replace mock
12540
+ absolutePathsOfSectioningToCache: new Set()
11741
12541
  })
11742
12542
  }
11743
12543
  } : null,
@@ -11754,7 +12554,7 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11754
12554
  computeMustResolveResourcesReferencesToAbsolutePathPropertyValue() {
11755
12555
  const explicitlySpecifiedMustResolveResourceReferencesToRelativePathsPropertyValue = this.markupProcessingSettings__fromFile__rawValid.common?.
11756
12556
  buildingModeDependent?.[this.consumingProjectBuildingMode]?.
11757
- mustResolveResourceReferencesToRelativePaths;
12557
+ mustResolveResourcesPointersToRelativePaths;
11758
12558
  if (this.consumingProjectBuildingMode === ConsumingProjectBuildingModes_1.default.staticPreview) {
11759
12559
  if (explicitlySpecifiedMustResolveResourceReferencesToRelativePathsPropertyValue === false) {
11760
12560
  es_extensions_1.Logger.logWarning(MarkupProcessingRawSettingsNormalizer.localization.
@@ -11808,131 +12608,191 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11808
12608
  nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected: importingFromTypeScriptSettings__fromFile__rawValid.nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected
11809
12609
  };
11810
12610
  }
11811
- normalizeStaticPreviewStateDependentPageVariationsSpecification() {
11812
- const staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath = this.markupProcessingSettings__fromFile__rawValid.staticPreview?.
11813
- stateDependentPagesVariationsSpecificationFileRelativePath;
11814
- if ((0, es_extensions_1.isUndefined)(staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath) ||
12611
+ normalizeStaticPreviewPagesVariationsSettings() {
12612
+ const staticPreviewPageVariationsSettings = this.markupProcessingSettings__fromFile__rawValid.staticPreview?.pagesVariations;
12613
+ const stateDependentPagesVariationsMetadata = new Map();
12614
+ if ((0, es_extensions_1.isUndefined)(staticPreviewPageVariationsSettings) ||
11815
12615
  this.consumingProjectBuildingMode !== ConsumingProjectBuildingModes_1.default.staticPreview) {
11816
- return {};
11817
- }
11818
- const staticPreviewStateDependentPagesVariationsSpecificationFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath], { alwaysForwardSlashSeparators: true });
11819
- /* [ Approach ] Currently, the `RawObjectDataProcessor` thus `ObjectDataFilesProcessor` are ignoring and not keep the
11820
- * data which validation rules has not been specified. In this case, the state variable is such data. */
11821
- let rawData;
11822
- try {
11823
- rawData = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
11824
- filePath: staticPreviewStateDependentPagesVariationsSpecificationFileAbsolutePath,
11825
- synchronously: true
11826
- });
11827
- }
11828
- catch (error) {
11829
- es_extensions_1.Logger.throwErrorAndLog({
11830
- errorInstance: new es_extensions_1.FileReadingFailedError({
11831
- customMessage: MarkupProcessingRawSettingsNormalizer.localization.
11832
- generateStaticPreviewStateDependentPagesVariationsSpecificationFileReadingFailedMessage({
11833
- staticPreviewStateDependentPagesVariationsSpecificationFileAbsolutePath
11834
- })
11835
- }),
11836
- title: es_extensions_1.FileReadingFailedError.localization.defaultTitle,
11837
- occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11838
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()",
11839
- innerError: error
11840
- });
11841
- }
11842
- if (!(0, es_extensions_1.isArbitraryObject)(rawData)) {
11843
- es_extensions_1.Logger.logError({
11844
- errorType: es_extensions_1.InvalidExternalDataError.NAME,
11845
- title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
11846
- description: es_extensions_1.PoliteErrorsMessagesBuilder.buildMessage(MarkupProcessingRawSettingsNormalizer.localization.
11847
- generateStaticPreviewStateDependentPagesVariationsSpecificationIsNotTheObjectErrorLog({
11848
- staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath,
11849
- stringifiedRawData: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(rawData),
11850
- rawDataActualType: typeof rawData
11851
- })),
11852
- occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11853
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
11854
- });
11855
- return {};
12616
+ return { stateDependent: stateDependentPagesVariationsMetadata };
11856
12617
  }
11857
- const staticPreviewStateDependentPageVariationsData = {};
11858
- for (const [markupSourceFileRelativePath__possiblyWithoutExtension, stateDependentPageVariationsData] of Object.entries(rawData)) {
11859
- const markupSourceFileRelativePath = (0, es_extensions_1.appendLastFileNameExtension)({
11860
- targetPath: markupSourceFileRelativePath__possiblyWithoutExtension,
11861
- targetFileNameExtensionWithOrWithoutLeadingDot: "pug",
11862
- mustAppendDuplicateEvenIfTargetLastFileNameExtensionAlreadyPresentsAtSpecifiedPath: false
11863
- });
11864
- if (!(0, es_extensions_1.isArbitraryObject)(stateDependentPageVariationsData)) {
11865
- es_extensions_1.Logger.throwErrorAndLog({
11866
- errorInstance: new es_extensions_1.InvalidExternalDataError({
11867
- customMessage: MarkupProcessingRawSettingsNormalizer.localization.
11868
- generateInvalidValueOfStaticPreviewStateDependentPagesVariationsSpecificationAssociativeArrayMessage({
11869
- staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath,
11870
- invalidEntryKey: markupSourceFileRelativePath,
11871
- invalidEntryValueType: typeof stateDependentPageVariationsData,
11872
- invalidEntryStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData)
11873
- })
11874
- }),
11875
- title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
11876
- occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11877
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
12618
+ if ((0, es_extensions_1.isNotUndefined)(staticPreviewPageVariationsSettings.stateDependent)) {
12619
+ const variationsByStatesSpecificationFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
12620
+ this.consumingProjectRootDirectoryAbsolutePath,
12621
+ staticPreviewPageVariationsSettings.stateDependent.specificationFileRelativePath
12622
+ ], { alwaysForwardSlashSeparators: true });
12623
+ /* [ Approach ] Currently, the `RawObjectDataProcessor` thus `ObjectDataFilesProcessor` are ignoring and not keep
12624
+ * the data which validation rules has not been specified. In this case, the state dependent object is
12625
+ * such data. */
12626
+ let rawPagesStateDependentVariationsSpecification;
12627
+ try {
12628
+ rawPagesStateDependentVariationsSpecification = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
12629
+ filePath: variationsByStatesSpecificationFileAbsolutePath,
12630
+ schema: es_extensions_nodejs_1.ObjectDataFilesProcessor.SupportedSchemas.YAML,
12631
+ synchronously: true
11878
12632
  });
11879
12633
  }
11880
- if (!(0, es_extensions_1.isNonEmptyString)(stateDependentPageVariationsData.stateObjectTypeVariableName)) {
12634
+ catch (error) {
11881
12635
  es_extensions_1.Logger.throwErrorAndLog({
11882
- errorInstance: new es_extensions_1.InvalidExternalDataError({
11883
- customMessage: MarkupProcessingRawSettingsNormalizer.localization.generateInvalidPageStateVariableNameMessage({
11884
- targetMarkupFileRelativePath: markupSourceFileRelativePath,
11885
- stringifiedValueOfSpecifiedVariableNameProperty: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData.stateObjectTypeVariableName),
11886
- specifiedTypeOfVariableNameProperty: typeof stateDependentPageVariationsData.stateObjectTypeVariableName
12636
+ errorInstance: new es_extensions_1.FileReadingFailedError({
12637
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.
12638
+ generateStaticPreviewStateDependentPagesVariationsSpecificationFileReadingFailedMessage({
12639
+ staticPreviewStateDependentPagesVariationsSpecificationFileAbsolutePath: variationsByStatesSpecificationFileAbsolutePath
11887
12640
  })
11888
12641
  }),
11889
- title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12642
+ title: es_extensions_1.FileReadingFailedError.localization.defaultTitle,
11890
12643
  occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11891
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
12644
+ "normalizeStaticPreviewPagesVariationsSettings()",
12645
+ innerError: error
11892
12646
  });
11893
12647
  }
11894
- if (!(0, es_extensions_1.isArbitraryObject)(stateDependentPageVariationsData.variations)) {
11895
- es_extensions_1.Logger.throwErrorAndLog({
11896
- errorInstance: new es_extensions_1.InvalidExternalDataError({
11897
- customMessage: MarkupProcessingRawSettingsNormalizer.localization.
11898
- generateInvalidPageStateDependentVariationsSpecificationMessage({
11899
- targetMarkupFileRelativePath: markupSourceFileRelativePath,
11900
- actualType: typeof stateDependentPageVariationsData.variations,
11901
- actualStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData.variations)
11902
- })
11903
- }),
12648
+ if (!(0, es_extensions_1.isArbitraryObject)(rawPagesStateDependentVariationsSpecification)) {
12649
+ es_extensions_1.Logger.logError({
12650
+ errorType: es_extensions_1.InvalidExternalDataError.NAME,
11904
12651
  title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12652
+ description: es_extensions_1.PoliteErrorsMessagesBuilder.buildMessage(MarkupProcessingRawSettingsNormalizer.localization.
12653
+ generateStaticPreviewStateDependentPagesVariationsSpecificationIsNotTheObjectErrorLog({
12654
+ staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath: variationsByStatesSpecificationFileAbsolutePath,
12655
+ stringifiedRawData: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(rawPagesStateDependentVariationsSpecification),
12656
+ rawDataActualType: typeof rawPagesStateDependentVariationsSpecification
12657
+ })),
11905
12658
  occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11906
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
12659
+ "normalizeStaticPreviewPagesVariationsSettings()"
11907
12660
  });
12661
+ return {
12662
+ stateDependent: stateDependentPagesVariationsMetadata
12663
+ };
11908
12664
  }
11909
- const markupSourceFileFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, markupSourceFileRelativePath], { alwaysForwardSlashSeparators: true });
11910
- const derivedPagesAndStatesMap = {};
11911
- for (const [postfix, state] of Object.entries(stateDependentPageVariationsData.variations)) {
11912
- const derivedFileAbsolutePath = `${(0, es_extensions_1.removeAllFileNameExtensions)(markupSourceFileFileAbsolutePath)}${postfix}.pug`;
11913
- if (!(0, es_extensions_1.isArbitraryObject)(state)) {
12665
+ for (const [markupEntryPointSourceFileRelativePath__possiblyWithoutExtension, stateDependentPageVariationsData] of Object.entries(rawPagesStateDependentVariationsSpecification)) {
12666
+ const markupEntryPointSourceFileRelativePath = (0, es_extensions_1.appendLastFileNameExtension)({
12667
+ targetPath: markupEntryPointSourceFileRelativePath__possiblyWithoutExtension,
12668
+ targetFileNameExtensionWithOrWithoutLeadingDot: "pug",
12669
+ mustAppendDuplicateEvenIfTargetLastFileNameExtensionAlreadyPresentsAtSpecifiedPath: false
12670
+ });
12671
+ if (!(0, es_extensions_1.isArbitraryObject)(stateDependentPageVariationsData)) {
12672
+ es_extensions_1.Logger.throwErrorAndLog({
12673
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12674
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.
12675
+ generateInvalidValueOfStaticPreviewStateDependentPagesVariationsSpecificationAssociativeArrayMessage({
12676
+ staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath: staticPreviewPageVariationsSettings.stateDependent.specificationFileRelativePath,
12677
+ invalidEntryKey: markupEntryPointSourceFileRelativePath,
12678
+ invalidEntryValueType: typeof stateDependentPageVariationsData,
12679
+ invalidEntryStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData)
12680
+ })
12681
+ }),
12682
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12683
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12684
+ "normalizeStaticPreviewPagesVariationsSettings()"
12685
+ });
12686
+ }
12687
+ if (!(0, es_extensions_1.isNonEmptyString)(stateDependentPageVariationsData.$stateObjectTypeVariableName)) {
12688
+ es_extensions_1.Logger.throwErrorAndLog({
12689
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12690
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.generateInvalidPageStateVariableNameMessage({
12691
+ targetMarkupFileRelativePath: markupEntryPointSourceFileRelativePath,
12692
+ stringifiedValueOfSpecifiedVariableNameProperty: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData.$stateObjectTypeVariableName),
12693
+ specifiedTypeOfVariableNameProperty: typeof stateDependentPageVariationsData.$stateObjectTypeVariableName
12694
+ })
12695
+ }),
12696
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12697
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12698
+ "normalizeStaticPreviewPagesVariationsSettings()"
12699
+ });
12700
+ }
12701
+ if (!(0, es_extensions_1.isArbitraryObject)(stateDependentPageVariationsData.$stateDependentVariations)) {
11914
12702
  es_extensions_1.Logger.throwErrorAndLog({
11915
12703
  errorInstance: new es_extensions_1.InvalidExternalDataError({
11916
- customMessage: MarkupProcessingRawSettingsNormalizer.localization.generateInvalidPageStateVariableMessage({
11917
- targetMarkupFileRelativePath: markupSourceFileRelativePath,
11918
- actualStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(state),
11919
- actualType: typeof state
12704
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.
12705
+ generateInvalidPageStateDependentVariationsSpecificationMessage({
12706
+ targetMarkupFileRelativePath: markupEntryPointSourceFileRelativePath,
12707
+ actualType: typeof stateDependentPageVariationsData.$stateDependentVariations,
12708
+ actualStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData.$stateDependentVariations)
11920
12709
  })
11921
12710
  }),
11922
12711
  title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
11923
12712
  occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11924
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
12713
+ "normalizeStaticPreviewPagesVariationsSettings()"
11925
12714
  });
11926
12715
  }
11927
- derivedPagesAndStatesMap[derivedFileAbsolutePath] = state;
12716
+ const markupSourceFileFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, markupEntryPointSourceFileRelativePath], { alwaysForwardSlashSeparators: true });
12717
+ const derivedPagesAndStatesMap = new Map();
12718
+ for (const [fineNamePostfix, stateData] of Object.entries(stateDependentPageVariationsData.$stateDependentVariations)) {
12719
+ const derivedFileAbsolutePath = `${(0, es_extensions_1.removeAllFileNameExtensions)(markupSourceFileFileAbsolutePath)}${fineNamePostfix}.pug`;
12720
+ if (!(0, es_extensions_1.isArbitraryObject)(stateData)) {
12721
+ es_extensions_1.Logger.throwErrorAndLog({
12722
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12723
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.generateInvalidPageStateVariableMessage({
12724
+ targetMarkupFileRelativePath: markupEntryPointSourceFileRelativePath,
12725
+ actualStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateData),
12726
+ actualType: typeof stateData
12727
+ })
12728
+ }),
12729
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12730
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12731
+ "normalizeStaticPreviewPagesVariationsSettings()"
12732
+ });
12733
+ }
12734
+ derivedPagesAndStatesMap.set(derivedFileAbsolutePath, stateData);
12735
+ }
12736
+ stateDependentPagesVariationsMetadata.set(es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, markupEntryPointSourceFileRelativePath], { alwaysForwardSlashSeparators: true }), {
12737
+ stateVariableName: stateDependentPageVariationsData.$stateObjectTypeVariableName,
12738
+ derivedPagesAndStatesMap
12739
+ });
11928
12740
  }
11929
- staticPreviewStateDependentPageVariationsData[markupSourceFileFileAbsolutePath] = {
11930
- stateVariableName: stateDependentPageVariationsData.stateObjectTypeVariableName,
11931
- derivedPagesAndStatesMap
11932
- };
11933
12741
  }
11934
- return staticPreviewStateDependentPageVariationsData;
11935
- }
12742
+ if ((0, es_extensions_1.isUndefined)(staticPreviewPageVariationsSettings.localeDependent)) {
12743
+ return { stateDependent: stateDependentPagesVariationsMetadata };
12744
+ }
12745
+ const stringResourcesFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
12746
+ this.consumingProjectRootDirectoryAbsolutePath,
12747
+ staticPreviewPageVariationsSettings.localeDependent.stringResourcesFileRelativePath
12748
+ ], { alwaysForwardSlashSeparators: true });
12749
+ let stringResources;
12750
+ try {
12751
+ stringResources = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
12752
+ filePath: stringResourcesFileAbsolutePath,
12753
+ synchronously: true
12754
+ });
12755
+ }
12756
+ catch (error) {
12757
+ es_extensions_1.Logger.throwErrorAndLog({
12758
+ errorInstance: new es_extensions_1.FileReadingFailedError({
12759
+ customMessage: `Unable to read the file with string resources at "${stringResourcesFileAbsolutePath}".`
12760
+ }),
12761
+ title: es_extensions_1.FileReadingFailedError.localization.defaultTitle,
12762
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12763
+ "normalizeStaticPreviewPagesVariationsSettings()",
12764
+ innerError: error
12765
+ });
12766
+ }
12767
+ if (!(0, es_extensions_1.isArbitraryObject)(stringResources)) {
12768
+ es_extensions_1.Logger.throwErrorAndLog({
12769
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12770
+ customMessage: `The content of string resources files "${stringResourcesFileAbsolutePath}" is not an object.`
12771
+ }),
12772
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12773
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12774
+ "normalizeStaticPreviewPagesVariationsSettings()"
12775
+ });
12776
+ }
12777
+ const localeDependentPagesVariationsMetadata = {
12778
+ localizedStringResourcesConstantName: staticPreviewPageVariationsSettings.localeDependent.
12779
+ localizedStringResourcesConstantName,
12780
+ locales: new Map(Object.entries(staticPreviewPageVariationsSettings.localeDependent.locales).
12781
+ map(([localeKey, localeData]) => [
12782
+ localeKey,
12783
+ {
12784
+ stringResources: stringResources[localeData.keyInLocalizedStringResourcesObject],
12785
+ outputFileInterimNameExtensionWithoutDot: localeData.outputFileInterimNameExtensionWithoutDot
12786
+ }
12787
+ ])),
12788
+ excludedFilesAbsolutePaths: staticPreviewPageVariationsSettings.localeDependent.excludedFilesRelativePaths?.
12789
+ map((excludedFileRelativePath) => es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, excludedFileRelativePath], { alwaysForwardSlashSeparators: true })) ?? []
12790
+ };
12791
+ return {
12792
+ stateDependent: stateDependentPagesVariationsMetadata,
12793
+ localeDependent: localeDependentPagesVariationsMetadata
12794
+ };
12795
+ }
11936
12796
  normalizeImportsFromStaticDataFiles() {
11937
12797
  const importsFromStaticDataFiles = {};
11938
12798
  for (const importFromStaticDataFile of this.markupProcessingSettings__fromFile__rawValid.staticPreview?.importsFromStaticDataFiles ?? []) {
@@ -11961,9 +12821,11 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11961
12821
  }
11962
12822
  completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings(entryPointsGroupGenericSettings__normalized, entryPointsGroupSettings__rawValid) {
11963
12823
  const settingsActualForCurrentProjectBuildingMode = entryPointsGroupSettings__rawValid.buildingModeDependent[this.consumingProjectBuildingMode];
12824
+ const outputFormat = entryPointsGroupSettings__rawValid.outputFormat ??
12825
+ MarkupProcessingSettings__Default_1.default.outputFormat;
11964
12826
  return {
11965
12827
  ...entryPointsGroupGenericSettings__normalized,
11966
- outputFormat: entryPointsGroupSettings__rawValid.outputFormat ?? MarkupProcessingSettings__Default_1.default.outputFormat,
12828
+ outputFormat,
11967
12829
  HTML_Validation: {
11968
12830
  mustExecute: entryPointsGroupSettings__rawValid.HTML_Validation?.disable === true ? false :
11969
12831
  MarkupProcessingSettings__Default_1.default.HTML_Validation.mustExecute,
@@ -11999,8 +12861,34 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11999
12861
  }
12000
12862
  },
12001
12863
  outputCodeFormatting: {
12002
- mustExecute: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.disable === true ? false :
12003
- MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustExecute(this.consumingProjectBuildingMode)
12864
+ mustExecute: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.enable === true ?
12865
+ true :
12866
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustExecute({
12867
+ consumingProjectBuildingMode: this.consumingProjectBuildingMode,
12868
+ outputFormat
12869
+ }),
12870
+ indentationString: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.indentationString ??
12871
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.indentationString,
12872
+ lineSeparators: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.lineSeparators ??
12873
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.lineSeparators,
12874
+ mustGuaranteeTrailingEmptyLine: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.mustGuaranteeTrailingEmptyLine ??
12875
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustGuaranteeTrailingEmptyLine,
12876
+ mustIndentHeadAndBodyTags: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.mustIndentHeadAndBodyTags ??
12877
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustIndentHeadAndBodyTags
12878
+ },
12879
+ outputCodeMinifying: {
12880
+ mustExecute: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.enable === true ?
12881
+ true :
12882
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.mustExecute({
12883
+ consumingProjectBuildingMode: this.consumingProjectBuildingMode,
12884
+ outputFormat
12885
+ }),
12886
+ attributesExtraWhitespacesCollapsing: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.attributesExtraWhitespacesCollapsing ??
12887
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.attributesExtraWhitespacesCollapsing,
12888
+ attributesValuesDeduplication: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.attributesValuesDeduplication ??
12889
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.attributesValuesDeduplication,
12890
+ commentsRemoving: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.commentsRemoving ??
12891
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.commentsRemoving
12004
12892
  }
12005
12893
  };
12006
12894
  }
@@ -13107,7 +13995,10 @@ class StylesProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
13107
13995
  common: {
13108
13996
  supportedSourceFileNameExtensionsWithoutLeadingDots: StylesProcessingRestrictions_1.default.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
13109
13997
  supportedOutputFileNameExtensionsWithoutLeadingDots: StylesProcessingRestrictions_1.default.supportedOutputFilesNamesExtensionsWithoutLeadingDots,
13110
- waitingForSubsequentFilesWillBeSavedPeriod__seconds: stylesProcessingSettings__fromFile__rawValid.common?.periodBetweenFileUpdatingAndRebuildingStarting__seconds ??
13998
+ secondsBetweenFileUpdatingAndStartingOfRebuilding: stylesProcessingSettings__fromFile__rawValid.
13999
+ common?.
14000
+ buildingModeDependent?.[dataHoldingSelfInstance.consumingProjectBuildingMode]?.
14001
+ secondsBetweenFileUpdatingAndStartingOfRebuilding ??
13111
14002
  StylesProcessingSettings__Default_1.default.periodBetweenFileUpdatingAndRebuildingStarting__seconds
13112
14003
  },
13113
14004
  linting: (0, es_extensions_1.isUndefined)(stylesProcessingSettings__fromFile__rawValid.linting) ?
@@ -13198,7 +14089,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13198
14089
  };
13199
14090
  Object.defineProperty(exports, "__esModule", ({ value: true }));
13200
14091
  /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
13201
- const PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX.ts"));
14092
+ const PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX */ "./ProjectBuilding/Common/Restrictions/ResourcesReferences/PROCESSABLE_FILES_POINTER_ALIAS_PREFIX.ts"));
13202
14093
  const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative.ts"));
13203
14094
  class StylesProcessingSettingsRepresentative extends GulpStreamBasedSourceCodeProcessingConfigRepresentative_1.default {
13204
14095
  /* [ Theory ] Below two fields could be even or not. */
@@ -13224,9 +14115,9 @@ class StylesProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
13224
14115
  this.actualFileNameExtensionsWithoutLeadingDots = normalizedStylesProcessingSettings.common.
13225
14116
  supportedSourceFileNameExtensionsWithoutLeadingDots;
13226
14117
  this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = normalizedStylesProcessingSettings.common.
13227
- waitingForSubsequentFilesWillBeSavedPeriod__seconds;
14118
+ secondsBetweenFileUpdatingAndStartingOfRebuilding;
13228
14119
  this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
13229
- `${PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
14120
+ `${PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
13230
14121
  entryPointsGroupSettings
13231
14122
  ]));
13232
14123
  }
@@ -13289,6 +14180,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13289
14180
  return (mod && mod.__esModule) ? mod : { "default": mod };
13290
14181
  };
13291
14182
  Object.defineProperty(exports, "__esModule", ({ value: true }));
14183
+ /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
14184
+ const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes */ "./ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes.ts"));
13292
14185
  /* ─── Raw Valid Settings ─────────────────────────────────────────────────────────────────────────────────────────── */
13293
14186
  const SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding:Common/RawConfig/SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid */ "./ProjectBuilding/Common/RawConfig/SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid.ts"));
13294
14187
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -13297,20 +14190,51 @@ var StylesProcessingSettings__FromFile__RawValid;
13297
14190
  (function (StylesProcessingSettings__FromFile__RawValid) {
13298
14191
  function getLocalizedPropertiesSpecification({ stylesProcessingPropertiesLocalization, localizedConsumingProjectLocalizedPreDefinedBuildingModes, lintingSettingsLocalizedPropertiesSpecification, revisioningSettingsLocalizedPropertiesSpecification, sourceCodeProcessingSettingsGenericPropertiesLocalization, entryPointsGroupBuildingModeDependentOutputGenericSettingsLocalizedPropertiesSpecification }) {
13299
14192
  return {
13300
- [stylesProcessingPropertiesLocalization.common.KEY]: {
14193
+ $common: {
13301
14194
  newName: "common",
14195
+ preValidationModifications: es_extensions_1.nullToUndefined,
13302
14196
  type: Object,
13303
14197
  required: false,
13304
- preValidationModifications: es_extensions_1.nullToUndefined,
13305
14198
  properties: {
13306
- [stylesProcessingPropertiesLocalization.common.periodBetweenFileUpdatingAndRebuildingStarting__seconds.KEY]: {
13307
- newName: "periodBetweenFileUpdatingAndRebuildingStarting__seconds",
13308
- type: Number,
14199
+ $buildingModeDependent: {
14200
+ newName: "buildingModeDependent",
14201
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
13309
14202
  required: false,
13310
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
14203
+ minimalEntriesCount: 1,
14204
+ allowedKeys: [
14205
+ "$staticPreview",
14206
+ "$localDevelopment",
14207
+ "$testing",
14208
+ "$staging",
14209
+ "$production"
14210
+ ],
14211
+ keysRenamings: {
14212
+ $staticPreview: ConsumingProjectBuildingModes_1.default.staticPreview,
14213
+ $localDevelopment: ConsumingProjectBuildingModes_1.default.localDevelopment,
14214
+ $testing: ConsumingProjectBuildingModes_1.default.testing,
14215
+ $staging: ConsumingProjectBuildingModes_1.default.staging,
14216
+ $production: ConsumingProjectBuildingModes_1.default.production
14217
+ },
14218
+ value: {
14219
+ type: Object,
14220
+ properties: {
14221
+ $secondsBetweenFileUpdatingAndStartingOfRebuilding: {
14222
+ newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
14223
+ type: Number,
14224
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
14225
+ required: false
14226
+ },
14227
+ $mustResolveResourceReferencesToRelativePaths: {
14228
+ newName: "mustResolveResourceReferencesToRelativePaths",
14229
+ type: Boolean,
14230
+ required: false
14231
+ }
14232
+ }
14233
+ }
13311
14234
  }
13312
14235
  }
13313
14236
  },
14237
+ // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
13314
14238
  [stylesProcessingPropertiesLocalization.linting.KEY]: {
13315
14239
  newName: "linting",
13316
14240
  type: Object,
@@ -13439,6 +14363,7 @@ const DotYDA_DirectoryManager_1 = __importDefault(__webpack_require__(/*! @Utils
13439
14363
  const StylesEntryPointVinylFile_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesEntryPointVinylFile */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesEntryPointVinylFile.ts"));
13440
14364
  const FileNameRevisionPostfixer_1 = __importDefault(__webpack_require__(/*! @Utils/FileNameRevisionPostfixer */ "./Utils/FileNameRevisionPostfixer.ts"));
13441
14365
  const ContainerQueriesSyntaxNormalizerForStylus_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/Plugins/ContainerQueriesSyntaxNormalizerForStylus/ContainerQueriesSyntaxNormalizerForStylus */ "./ProjectBuilding/SourceCodeProcessing/Styles/Plugins/ContainerQueriesSyntaxNormalizerForStylus/ContainerQueriesSyntaxNormalizerForStylus.ts"));
14366
+ const ResourcesPointersResolverForCSS_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Plugins/ResourcesPointersResolverForCSS */ "./ProjectBuilding/Common/Plugins/ResourcesPointersResolverForCSS.ts"));
13442
14367
  /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
13443
14368
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
13444
14369
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
@@ -13553,7 +14478,7 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13553
14478
  this.projectBuildingMasterConfigRepresentative.isLocalDevelopmentBuildingMode, gulp_sourcemaps_1.default.write())).
13554
14479
  pipe(GulpStreamModifier_1.default.modify({
13555
14480
  onStreamStartedEventHandlersForSpecificFileTypes: new Map([
13556
- [StylesEntryPointVinylFile_1.default, StylesProcessor.onOutputCSS_FileReady]
14481
+ [StylesEntryPointVinylFile_1.default, this.onOutputCSS_FileReady.bind(this)]
13557
14482
  ])
13558
14483
  })).
13559
14484
  pipe(gulp_1.default.dest((targetFile) => StylesEntryPointVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFile)));
@@ -13586,8 +14511,8 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13586
14511
  delete(targetEntryPointFileAbsolutePath);
13587
14512
  }
13588
14513
  /* ━━━ Pipeline methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
13589
- /* eslint-disable-next-line @typescript-eslint/member-ordering --
13590
- * メソッドに依って「this」が必要に成ったり不要に成ったりしているが、メソッドは論理的な順番通り並べてある */
14514
+ /* eslint-disable @typescript-eslint/member-ordering --
14515
+ * From now, static and non-static methods are following by the usage order. */
13591
14516
  async replacePlainVinylFileWithStylesEntryPointVinylFile(plainVinylFile, addNewFileToStream) {
13592
14517
  addNewFileToStream(new StylesEntryPointVinylFile_1.default({
13593
14518
  initialPlainVinylFile: plainVinylFile,
@@ -13596,7 +14521,7 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13596
14521
  }));
13597
14522
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
13598
14523
  }
13599
- static async onOutputCSS_FileReady(processedEntryPointVinylFile) {
14524
+ async onOutputCSS_FileReady(processedEntryPointVinylFile) {
13600
14525
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.revisioning.mustExecute) {
13601
14526
  FileNameRevisionPostfixer_1.default.appendPostfixIfPossible(processedEntryPointVinylFile, {
13602
14527
  contentHashPostfixSeparator: processedEntryPointVinylFile.actualEntryPointsGroupSettings.revisioning.
@@ -13606,6 +14531,19 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13606
14531
  StylesProcessingSharedState_1.default.
13607
14532
  entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
13608
14533
  set(processedEntryPointVinylFile.sourceAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([processedEntryPointVinylFile.outputDirectoryAbsolutePath, processedEntryPointVinylFile.basename], { alwaysForwardSlashSeparators: true }));
14534
+ let entryPointFileContent = processedEntryPointVinylFile.stringifiedContents;
14535
+ entryPointFileContent = ResourcesPointersResolverForCSS_1.default.resolve({
14536
+ CSS_Code: entryPointFileContent,
14537
+ absolutePathOfOutputDirectoryForParentFile: processedEntryPointVinylFile.outputDirectoryAbsolutePath,
14538
+ projectBuildingMasterConfigRepresentative: this.projectBuildingMasterConfigRepresentative,
14539
+ logging: {
14540
+ parentFileAbsolutePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
14541
+ processedEntryPointVinylFile.outputDirectoryAbsolutePath,
14542
+ processedEntryPointVinylFile.basename
14543
+ ], { alwaysForwardSlashSeparators: true })
14544
+ }
14545
+ });
14546
+ processedEntryPointVinylFile.setContents(entryPointFileContent);
13609
14547
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
13610
14548
  }
13611
14549
  }
@@ -14153,84 +15091,6 @@ class WebpackSpecialist {
14153
15091
  exports["default"] = WebpackSpecialist;
14154
15092
 
14155
15093
 
14156
- /***/ }),
14157
-
14158
- /***/ "./UtilsIncubator/Map/getExpectedToBeExistingMapValue.ts":
14159
- /*!***************************************************************!*\
14160
- !*** ./UtilsIncubator/Map/getExpectedToBeExistingMapValue.ts ***!
14161
- \***************************************************************/
14162
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14163
-
14164
-
14165
- Object.defineProperty(exports, "__esModule", ({ value: true }));
14166
- exports["default"] = getExpectedToBeExistingMapValue;
14167
- const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
14168
- function getExpectedToBeExistingMapValue(targetMap, targetKey) {
14169
- const targetValue = targetMap.get(targetKey);
14170
- if ((0, es_extensions_1.isUndefined)(targetValue)) {
14171
- es_extensions_1.Logger.throwErrorAndLog({
14172
- errorInstance: new es_extensions_1.UnexpectedEventError(`Contrary to expectations, there is no pair with key "${String(targetKey)}" in target map.`),
14173
- title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
14174
- occurrenceLocation: "getExpectedToBeExistingMapValue(targetMap, targetKey)"
14175
- });
14176
- }
14177
- return targetValue;
14178
- }
14179
-
14180
-
14181
- /***/ }),
14182
-
14183
- /***/ "./UtilsIncubator/Stopwatch.ts":
14184
- /*!*************************************!*\
14185
- !*** ./UtilsIncubator/Stopwatch.ts ***!
14186
- \*************************************/
14187
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14188
-
14189
-
14190
- Object.defineProperty(exports, "__esModule", ({ value: true }));
14191
- const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
14192
- class Stopwatch {
14193
- activationUnixTimestamp__milliseconds = 0;
14194
- deactivationUnixTimestamp__milliseconds = 0;
14195
- startOrRestart() {
14196
- if (this.activationUnixTimestamp__milliseconds === 0) {
14197
- this.activationUnixTimestamp__milliseconds = Date.now();
14198
- }
14199
- return this;
14200
- }
14201
- stop() {
14202
- this.deactivationUnixTimestamp__milliseconds = Date.now();
14203
- const amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds = this.deactivationUnixTimestamp__milliseconds - this.activationUnixTimestamp__milliseconds;
14204
- return {
14205
- seconds: (0, es_extensions_1.millisecondsToSeconds)(amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds),
14206
- milliseconds: amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds
14207
- };
14208
- }
14209
- reset() {
14210
- this.activationUnixTimestamp__milliseconds = 0;
14211
- this.deactivationUnixTimestamp__milliseconds = 0;
14212
- }
14213
- }
14214
- exports["default"] = Stopwatch;
14215
-
14216
-
14217
- /***/ }),
14218
-
14219
- /***/ "./UtilsIncubator/Strings/replaceLinesSeparators.ts":
14220
- /*!**********************************************************!*\
14221
- !*** ./UtilsIncubator/Strings/replaceLinesSeparators.ts ***!
14222
- \**********************************************************/
14223
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14224
-
14225
-
14226
- Object.defineProperty(exports, "__esModule", ({ value: true }));
14227
- exports["default"] = replaceLinesSeparators;
14228
- const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
14229
- function replaceLinesSeparators(targetString, lineSeparators) {
14230
- return (0, es_extensions_1.explodeStringToLines)({ targetString, mustIgnoreCarriageReturn: false }).join(lineSeparators);
14231
- }
14232
-
14233
-
14234
15094
  /***/ }),
14235
15095
 
14236
15096
  /***/ "./Utils/DotYDA_DirectoryManager.ts":
@@ -15188,6 +16048,94 @@ function extractStringifiedContentFromVinylFile(targetFile) {
15188
16048
  }
15189
16049
 
15190
16050
 
16051
+ /***/ }),
16052
+
16053
+ /***/ "./UtilsIncubator/Stopwatch.ts":
16054
+ /*!*************************************!*\
16055
+ !*** ./UtilsIncubator/Stopwatch.ts ***!
16056
+ \*************************************/
16057
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16058
+
16059
+
16060
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16061
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
16062
+ class Stopwatch {
16063
+ activationUnixTimestamp__milliseconds = 0;
16064
+ deactivationUnixTimestamp__milliseconds = 0;
16065
+ startOrRestart() {
16066
+ if (this.activationUnixTimestamp__milliseconds === 0) {
16067
+ this.activationUnixTimestamp__milliseconds = Date.now();
16068
+ }
16069
+ return this;
16070
+ }
16071
+ stop() {
16072
+ this.deactivationUnixTimestamp__milliseconds = Date.now();
16073
+ const amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds = this.deactivationUnixTimestamp__milliseconds - this.activationUnixTimestamp__milliseconds;
16074
+ return {
16075
+ seconds: (0, es_extensions_1.millisecondsToSeconds)(amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds),
16076
+ milliseconds: amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds
16077
+ };
16078
+ }
16079
+ reset() {
16080
+ this.activationUnixTimestamp__milliseconds = 0;
16081
+ this.deactivationUnixTimestamp__milliseconds = 0;
16082
+ }
16083
+ }
16084
+ exports["default"] = Stopwatch;
16085
+
16086
+
16087
+ /***/ }),
16088
+
16089
+ /***/ "./UtilsIncubator/Strings/addPenultimateFileNameExtension.ts":
16090
+ /*!*******************************************************************!*\
16091
+ !*** ./UtilsIncubator/Strings/addPenultimateFileNameExtension.ts ***!
16092
+ \*******************************************************************/
16093
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16094
+
16095
+
16096
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16097
+ exports["default"] = addPenultimateFileNameExtension;
16098
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
16099
+ function addPenultimateFileNameExtension({ targetPath, targetFileNamePenultimateExtensionWithOrWithoutLeadingDot, mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist }) {
16100
+ const targetFileNamePenultimateExtensionWithoutLeadingDot = (0, es_extensions_1.removeSpecificCharacterFromCertainPosition)({
16101
+ targetString: targetFileNamePenultimateExtensionWithOrWithoutLeadingDot,
16102
+ targetCharacter: ".",
16103
+ fromFirstPosition: true
16104
+ });
16105
+ if (!targetPath.includes(".")) {
16106
+ const { updatedString: targetPathWihtoutFragment, extractedMatching: targetPathFragmentWithLeadingHash } = (0, es_extensions_1.extractMatchingsWithRegularExpression)(targetPath, /#.+$/u, { mustExpectOneOrZeroMatchings: true });
16107
+ return mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist ?
16108
+ `${targetPathWihtoutFragment}.${targetFileNamePenultimateExtensionWithoutLeadingDot}` +
16109
+ targetPathFragmentWithLeadingHash :
16110
+ targetPath;
16111
+ }
16112
+ const pathDotSeparatedSegments = (0, es_extensions_1.splitString)(targetPath, ".");
16113
+ return (0, es_extensions_1.addElementsToArray)({
16114
+ targetArray: pathDotSeparatedSegments,
16115
+ newElements: [targetFileNamePenultimateExtensionWithoutLeadingDot],
16116
+ mutably: true,
16117
+ toPosition__numerationFrom1: pathDotSeparatedSegments.length
16118
+ }).join(".");
16119
+ }
16120
+
16121
+
16122
+ /***/ }),
16123
+
16124
+ /***/ "./UtilsIncubator/Strings/replaceLinesSeparators.ts":
16125
+ /*!**********************************************************!*\
16126
+ !*** ./UtilsIncubator/Strings/replaceLinesSeparators.ts ***!
16127
+ \**********************************************************/
16128
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16129
+
16130
+
16131
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16132
+ exports["default"] = replaceLinesSeparators;
16133
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
16134
+ function replaceLinesSeparators(targetString, lineSeparators) {
16135
+ return (0, es_extensions_1.explodeStringToLines)({ targetString, mustIgnoreCarriageReturn: false }).join(lineSeparators);
16136
+ }
16137
+
16138
+
15191
16139
  /***/ }),
15192
16140
 
15193
16141
  /***/ "@yamato-daiwa/es-extensions":
@@ -15230,6 +16178,16 @@ module.exports = require("browser-sync");
15230
16178
 
15231
16179
  /***/ }),
15232
16180
 
16181
+ /***/ "chalk":
16182
+ /*!************************!*\
16183
+ !*** external "chalk" ***!
16184
+ \************************/
16185
+ /***/ ((module) => {
16186
+
16187
+ module.exports = require("chalk");
16188
+
16189
+ /***/ }),
16190
+
15233
16191
  /***/ "cssnano":
15234
16192
  /*!**************************!*\
15235
16193
  !*** external "cssnano" ***!
@@ -15240,6 +16198,16 @@ module.exports = require("cssnano");
15240
16198
 
15241
16199
  /***/ }),
15242
16200
 
16201
+ /***/ "dotenv":
16202
+ /*!*************************!*\
16203
+ !*** external "dotenv" ***!
16204
+ \*************************/
16205
+ /***/ ((module) => {
16206
+
16207
+ module.exports = require("dotenv");
16208
+
16209
+ /***/ }),
16210
+
15243
16211
  /***/ "eslint":
15244
16212
  /*!*************************!*\
15245
16213
  !*** external "eslint" ***!
@@ -15250,6 +16218,16 @@ module.exports = require("eslint");
15250
16218
 
15251
16219
  /***/ }),
15252
16220
 
16221
+ /***/ "fancy-log":
16222
+ /*!****************************!*\
16223
+ !*** external "fancy-log" ***!
16224
+ \****************************/
16225
+ /***/ ((module) => {
16226
+
16227
+ module.exports = require("fancy-log");
16228
+
16229
+ /***/ }),
16230
+
15253
16231
  /***/ "fork-ts-checker-webpack-plugin":
15254
16232
  /*!*************************************************!*\
15255
16233
  !*** external "fork-ts-checker-webpack-plugin" ***!
@@ -15260,6 +16238,16 @@ module.exports = require("fork-ts-checker-webpack-plugin");
15260
16238
 
15261
16239
  /***/ }),
15262
16240
 
16241
+ /***/ "fs":
16242
+ /*!*********************!*\
16243
+ !*** external "fs" ***!
16244
+ \*********************/
16245
+ /***/ ((module) => {
16246
+
16247
+ module.exports = require("fs");
16248
+
16249
+ /***/ }),
16250
+
15263
16251
  /***/ "gulp":
15264
16252
  /*!***********************!*\
15265
16253
  !*** external "gulp" ***!
@@ -15280,16 +16268,6 @@ module.exports = require("gulp-data");
15280
16268
 
15281
16269
  /***/ }),
15282
16270
 
15283
- /***/ "gulp-html-prettify":
15284
- /*!*************************************!*\
15285
- !*** external "gulp-html-prettify" ***!
15286
- \*************************************/
15287
- /***/ ((module) => {
15288
-
15289
- module.exports = require("gulp-html-prettify");
15290
-
15291
- /***/ }),
15292
-
15293
16271
  /***/ "gulp-if":
15294
16272
  /*!**************************!*\
15295
16273
  !*** external "gulp-if" ***!
@@ -15380,6 +16358,16 @@ module.exports = require("imagemin-pngquant");
15380
16358
 
15381
16359
  /***/ }),
15382
16360
 
16361
+ /***/ "js-beautify":
16362
+ /*!******************************!*\
16363
+ !*** external "js-beautify" ***!
16364
+ \******************************/
16365
+ /***/ ((module) => {
16366
+
16367
+ module.exports = require("js-beautify");
16368
+
16369
+ /***/ }),
16370
+
15383
16371
  /***/ "node-html-parser":
15384
16372
  /*!***********************************!*\
15385
16373
  !*** external "node-html-parser" ***!
@@ -15400,6 +16388,36 @@ module.exports = require("node-notifier");
15400
16388
 
15401
16389
  /***/ }),
15402
16390
 
16391
+ /***/ "node:crypto":
16392
+ /*!******************************!*\
16393
+ !*** external "node:crypto" ***!
16394
+ \******************************/
16395
+ /***/ ((module) => {
16396
+
16397
+ module.exports = require("node:crypto");
16398
+
16399
+ /***/ }),
16400
+
16401
+ /***/ "node:util":
16402
+ /*!****************************!*\
16403
+ !*** external "node:util" ***!
16404
+ \****************************/
16405
+ /***/ ((module) => {
16406
+
16407
+ module.exports = require("node:util");
16408
+
16409
+ /***/ }),
16410
+
16411
+ /***/ "os":
16412
+ /*!*********************!*\
16413
+ !*** external "os" ***!
16414
+ \*********************/
16415
+ /***/ ((module) => {
16416
+
16417
+ module.exports = require("os");
16418
+
16419
+ /***/ }),
16420
+
15403
16421
  /***/ "pa11y":
15404
16422
  /*!************************!*\
15405
16423
  !*** external "pa11y" ***!
@@ -15410,6 +16428,16 @@ module.exports = require("pa11y");
15410
16428
 
15411
16429
  /***/ }),
15412
16430
 
16431
+ /***/ "path":
16432
+ /*!***********************!*\
16433
+ !*** external "path" ***!
16434
+ \***********************/
16435
+ /***/ ((module) => {
16436
+
16437
+ module.exports = require("path");
16438
+
16439
+ /***/ }),
16440
+
15413
16441
  /***/ "probe-image-size":
15414
16442
  /*!***********************************!*\
15415
16443
  !*** external "probe-image-size" ***!
@@ -15450,6 +16478,26 @@ module.exports = require("puppeteer");
15450
16478
 
15451
16479
  /***/ }),
15452
16480
 
16481
+ /***/ "slash":
16482
+ /*!************************!*\
16483
+ !*** external "slash" ***!
16484
+ \************************/
16485
+ /***/ ((module) => {
16486
+
16487
+ module.exports = require("slash");
16488
+
16489
+ /***/ }),
16490
+
16491
+ /***/ "stream":
16492
+ /*!*************************!*\
16493
+ !*** external "stream" ***!
16494
+ \*************************/
16495
+ /***/ ((module) => {
16496
+
16497
+ module.exports = require("stream");
16498
+
16499
+ /***/ }),
16500
+
15453
16501
  /***/ "stream-combiner2":
15454
16502
  /*!***********************************!*\
15455
16503
  !*** external "stream-combiner2" ***!
@@ -15460,6 +16508,16 @@ module.exports = require("stream-combiner2");
15460
16508
 
15461
16509
  /***/ }),
15462
16510
 
16511
+ /***/ "superagent":
16512
+ /*!*****************************!*\
16513
+ !*** external "superagent" ***!
16514
+ \*****************************/
16515
+ /***/ ((module) => {
16516
+
16517
+ module.exports = require("superagent");
16518
+
16519
+ /***/ }),
16520
+
15463
16521
  /***/ "typescript":
15464
16522
  /*!*****************************!*\
15465
16523
  !*** external "typescript" ***!
@@ -15490,16 +16548,6 @@ module.exports = require("vue-loader");
15490
16548
 
15491
16549
  /***/ }),
15492
16550
 
15493
- /***/ "w3c-html-validator":
15494
- /*!*************************************!*\
15495
- !*** external "w3c-html-validator" ***!
15496
- \*************************************/
15497
- /***/ ((module) => {
15498
-
15499
- module.exports = require("w3c-html-validator");
15500
-
15501
- /***/ }),
15502
-
15503
16551
  /***/ "webpack":
15504
16552
  /*!**************************!*\
15505
16553
  !*** external "webpack" ***!
@@ -15528,102 +16576,6 @@ module.exports = require("webpack-node-externals");
15528
16576
 
15529
16577
  module.exports = require("webpack-stream");
15530
16578
 
15531
- /***/ }),
15532
-
15533
- /***/ "fs":
15534
- /*!*********************!*\
15535
- !*** external "fs" ***!
15536
- \*********************/
15537
- /***/ ((module) => {
15538
-
15539
- module.exports = require("fs");
15540
-
15541
- /***/ }),
15542
-
15543
- /***/ "node:crypto":
15544
- /*!******************************!*\
15545
- !*** external "node:crypto" ***!
15546
- \******************************/
15547
- /***/ ((module) => {
15548
-
15549
- module.exports = require("node:crypto");
15550
-
15551
- /***/ }),
15552
-
15553
- /***/ "node:util":
15554
- /*!****************************!*\
15555
- !*** external "node:util" ***!
15556
- \****************************/
15557
- /***/ ((module) => {
15558
-
15559
- module.exports = require("node:util");
15560
-
15561
- /***/ }),
15562
-
15563
- /***/ "os":
15564
- /*!*********************!*\
15565
- !*** external "os" ***!
15566
- \*********************/
15567
- /***/ ((module) => {
15568
-
15569
- module.exports = require("os");
15570
-
15571
- /***/ }),
15572
-
15573
- /***/ "path":
15574
- /*!***********************!*\
15575
- !*** external "path" ***!
15576
- \***********************/
15577
- /***/ ((module) => {
15578
-
15579
- module.exports = require("path");
15580
-
15581
- /***/ }),
15582
-
15583
- /***/ "stream":
15584
- /*!*************************!*\
15585
- !*** external "stream" ***!
15586
- \*************************/
15587
- /***/ ((module) => {
15588
-
15589
- module.exports = require("stream");
15590
-
15591
- /***/ }),
15592
-
15593
- /***/ "../node_modules/rev-hash/index.js":
15594
- /*!*****************************************!*\
15595
- !*** ../node_modules/rev-hash/index.js ***!
15596
- \*****************************************/
15597
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
15598
-
15599
- __webpack_require__.r(__webpack_exports__);
15600
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15601
- /* harmony export */ "default": () => (/* binding */ revisionHash)
15602
- /* harmony export */ });
15603
- /* harmony import */ var node_crypto__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:crypto */ "node:crypto");
15604
- /* harmony import */ var node_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! node:util */ "node:util");
15605
-
15606
-
15607
-
15608
- function revisionHash(data) {
15609
- if (typeof data !== 'string' && !node_util__WEBPACK_IMPORTED_MODULE_1__.types.isUint8Array(data)) {
15610
- throw new TypeError('Expected a Uint8Array or string');
15611
- }
15612
-
15613
- return node_crypto__WEBPACK_IMPORTED_MODULE_0__.createHash('md5').update(data).digest('hex').slice(0, 10);
15614
- }
15615
-
15616
-
15617
- /***/ }),
15618
-
15619
- /***/ "../package.json":
15620
- /*!***********************!*\
15621
- !*** ../package.json ***!
15622
- \***********************/
15623
- /***/ ((module) => {
15624
-
15625
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.5.0-alpha.8","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.0.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@eslint-community/eslint-plugin-eslint-comments":"4.4.1","@stylistic/eslint-plugin":"2.10.1","@typescript-eslint/eslint-plugin":"8.13.0","@typescript-eslint/parser":"8.13.0","@vue/compiler-sfc":"3.5.12","@webdiscus/pug-loader":"2.11.0","@yamato-daiwa/es-extensions":"1.8.0-alpha.7","@yamato-daiwa/es-extensions-nodejs":"1.8.0-alpha.6","@yamato-daiwa/style_guides":"0.3.1","autoprefixer":"10.4.20","browser-sync":"3.0.3","css-loader":"7.1.2","cssnano":"7.0.6","eslint":"9.14.0","eslint-plugin-import":"2.31.0","eslint-plugin-n":"17.13.1","eslint-plugin-react":"7.37.2","eslint-plugin-vue":"9.30.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.1","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.96.1","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":"7.0.3","@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.5","@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.6.3","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"}}');
15626
-
15627
16579
  /***/ })
15628
16580
 
15629
16581
  /******/ });
@@ -15688,7 +16640,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","ve
15688
16640
  /******/ // This entry module is referenced by other modules so it can't be inlined
15689
16641
  /******/ var __webpack_exports__ = __webpack_require__("./EntryPoint.ts");
15690
16642
  /******/ var __webpack_export_target__ = exports;
15691
- /******/ for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
16643
+ /******/ for(var __webpack_i__ in __webpack_exports__) __webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
15692
16644
  /******/ if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
15693
16645
  /******/
15694
16646
  /******/ })()