@yamato-daiwa/automation 0.5.0 → 0.6.1

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 +1714 -731
  2. package/README.md +11 -182
  3. package/package.json +29 -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":"0.6.1","description":"The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.","keywords":["build","pug","stylus","tool","typescript"],"engines":{"node":">=18.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/vnu-jar":"17.11.2","@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","vnu-jar":"24.10.17","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
  }
@@ -995,7 +1182,7 @@ exports["default"] = ImagesProcessingRawSettingsNormalizer;
995
1182
 
996
1183
  Object.defineProperty(exports, "__esModule", ({ value: true }));
997
1184
  exports["default"] = {
998
- supportedSourceFilesNamesExtensionsWithoutLeadingDots: ["jpg", "png", "gif", "svg", "ico", "webp"]
1185
+ supportedSourceFilesNamesExtensionsWithoutLeadingDots: ["jpg", "jpeg", "png", "gif", "svg", "ico", "webp"]
999
1186
  };
1000
1187
 
1001
1188
 
@@ -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,130 @@ 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
  }
8724
+ if ((0, es_extensions_1.isNotUndefined)(staticPreviewLocalizationData)) {
8725
+ this.staticPreviewLocalizationData = staticPreviewLocalizationData;
8726
+ }
8255
8727
  }
8256
- forkStaticPreviewStateDependentVariationsIfAny() {
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
+ if ((0, es_extensions_1.isUndefined)(localeDependentPagesVariationsSettings)) {
8732
+ return {
8733
+ newFiles: [],
8734
+ mustInitialFileBeDeleted: false
8735
+ };
8736
+ }
8737
+ const { localizedStringResourcesConstantName, localeVariableName, locales } = localeDependentPagesVariationsSettings;
8738
+ const areLocaleDependentVariationsRequiredForCurrentFile = locales.size > 0 &&
8739
+ !localeDependentPagesVariationsSettings.excludedFilesAbsolutePaths.includes(this.sourceAbsolutePath);
8740
+ const pageVariations = [];
8741
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
8742
+ for (const localeData of locales.values()) {
8743
+ pageVariations.push(new MarkupEntryPointVinylFile({
8744
+ initialPlainVinylFile: new vinyl_1.default({
8745
+ base: this.base,
8746
+ path: (0, addPenultimateFileNameExtension_1.default)({
8747
+ targetPath: this.sourceAbsolutePath,
8748
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
8749
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
8750
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
8751
+ }),
8752
+ contents: this.contents
8753
+ }),
8754
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
8755
+ staticPreviewLocalizationData: {
8756
+ ...(0, es_extensions_1.isNotUndefined)(localeVariableName) && (0, es_extensions_1.isNotUndefined)(localeData.localeVariableValue) ?
8757
+ { [localeVariableName]: localeData.localeVariableValue } : null,
8758
+ ...(0, es_extensions_1.isNotUndefined)(localizedStringResourcesConstantName) && (0, es_extensions_1.isNotUndefined)(localeData.stringResources) ?
8759
+ { [localizedStringResourcesConstantName]: localeData.stringResources } : null
8760
+ },
8761
+ ...(0, es_extensions_1.isNotUndefined)(this.pageStateDependentVariationsSpecification) ?
8762
+ {
8763
+ pageStateDependentVariationData: {
8764
+ [this.pageStateDependentVariationsSpecification.stateVariableName]: {}
8765
+ }
8766
+ } :
8767
+ null
8768
+ }));
8769
+ }
8770
+ }
8257
8771
  if ((0, es_extensions_1.isUndefined)(this.pageStateDependentVariationsSpecification)) {
8258
- return [];
8772
+ return {
8773
+ newFiles: pageVariations,
8774
+ mustInitialFileBeDeleted: areLocaleDependentVariationsRequiredForCurrentFile
8775
+ };
8259
8776
  }
8260
- const pageStateDependentVariations = [];
8261
- for (const [derivedFileAbsolutePath, state] of Object.entries(this.pageStateDependentVariationsSpecification.derivedPagesAndStatesMap)) {
8262
- pageStateDependentVariations.push(new MarkupEntryPointVinylFile({
8777
+ for (const [derivedFileAbsolutePath, state] of this.pageStateDependentVariationsSpecification.derivedPagesAndStatesMap.entries()) {
8778
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
8779
+ for (const localeData of locales.values()) {
8780
+ pageVariations.push(new MarkupEntryPointVinylFile({
8781
+ initialPlainVinylFile: new vinyl_1.default({
8782
+ base: this.base,
8783
+ path: (0, addPenultimateFileNameExtension_1.default)({
8784
+ targetPath: derivedFileAbsolutePath,
8785
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
8786
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
8787
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
8788
+ }),
8789
+ contents: this.contents
8790
+ }),
8791
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
8792
+ pageStateDependentVariationData: {
8793
+ [this.pageStateDependentVariationsSpecification.stateVariableName]: state
8794
+ },
8795
+ staticPreviewLocalizationData: {
8796
+ ...(0, es_extensions_1.isNotUndefined)(localeVariableName) && (0, es_extensions_1.isNotUndefined)(localeData.localeVariableValue) ?
8797
+ { [localeVariableName]: localeData.localeVariableValue } : null,
8798
+ ...(0, es_extensions_1.isNotUndefined)(localizedStringResourcesConstantName) && (0, es_extensions_1.isNotUndefined)(localeData.stringResources) ?
8799
+ { [localizedStringResourcesConstantName]: localeData.stringResources } : null
8800
+ }
8801
+ }));
8802
+ }
8803
+ continue;
8804
+ }
8805
+ pageVariations.push(new MarkupEntryPointVinylFile({
8263
8806
  initialPlainVinylFile: new vinyl_1.default({
8264
8807
  base: this.base,
8265
8808
  path: derivedFileAbsolutePath,
8266
8809
  contents: this.contents
8267
8810
  }),
8268
- actualEntryPointsGroupSettings: this.actualEntryPointsGroupSettings,
8811
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
8269
8812
  pageStateDependentVariationData: { [this.pageStateDependentVariationsSpecification.stateVariableName]: state }
8270
8813
  }));
8271
8814
  }
8272
- return pageStateDependentVariations;
8815
+ return {
8816
+ newFiles: pageVariations,
8817
+ mustInitialFileBeDeleted: areLocaleDependentVariationsRequiredForCurrentFile
8818
+ };
8273
8819
  }
8274
8820
  }
8275
8821
  exports["default"] = MarkupEntryPointVinylFile;
@@ -8320,8 +8866,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8320
8866
  Object.defineProperty(exports, "__esModule", ({ value: true }));
8321
8867
  /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
8322
8868
  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"));
8869
+ 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"));
8870
+ 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
8871
  const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative.ts"));
8326
8872
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
8327
8873
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
@@ -8332,7 +8878,7 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8332
8878
  TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
8333
8879
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Markup";
8334
8880
  TASK_NAME_FOR_LOGGING = "Markup processing";
8335
- PLAIN_COPIED_FILES_ALIAS_PREFIX = PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default;
8881
+ PLAIN_COPIED_FILES_ALIAS_PREFIX = PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default;
8336
8882
  WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS;
8337
8883
  entryPointsGroupsNormalizedSettingsMappedByReferences;
8338
8884
  sourceCodeLintingCommonSettings;
@@ -8358,9 +8904,9 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8358
8904
  this.actualFileNameExtensionsWithoutLeadingDots = normalizedMarkupProcessingSettings.common.
8359
8905
  supportedSourceFileNameExtensionsWithoutLeadingDots;
8360
8906
  this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = normalizedMarkupProcessingSettings.common.
8361
- periodBetweenFileUpdatingAndRebuildingStarting__seconds;
8907
+ secondsBetweenFileUpdatingAndStartingOfRebuilding;
8362
8908
  this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
8363
- `${PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
8909
+ `${PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
8364
8910
  entryPointsGroupSettings
8365
8911
  ]));
8366
8912
  this.mustValidateHTML = Array.from(this.relevantEntryPointsGroupsSettings.values()).some((entryPointsGroupSettings) => entryPointsGroupSettings.HTML_Validation.mustExecute);
@@ -8393,10 +8939,13 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8393
8939
  return (0, es_extensions_1.insertSubstringIf)(".", compoundParameter.mustPrependDotToFileNameExtension) +
8394
8940
  fileNameExtensionWithoutLeadingDot;
8395
8941
  }
8396
- /* ━━━ Static preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8942
+ /* ━━━ Static Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8397
8943
  getStateDependentVariationsForEntryPointWithAbsolutePath(targetFileAbsolutePath) {
8398
- return this.staticPreviewSettings.
8399
- stateDependentPagesVariationsSpecification[(0, es_extensions_1.replaceDoubleBackslashesWithForwardSlashes)(targetFileAbsolutePath)];
8944
+ return this.staticPreviewSettings.pagesVariations.stateDependent.
8945
+ get((0, es_extensions_1.replaceDoubleBackslashesWithForwardSlashes)(targetFileAbsolutePath));
8946
+ }
8947
+ get localeDependentPagesVariationsSettings() {
8948
+ return this.staticPreviewSettings.pagesVariations.localeDependent;
8400
8949
  }
8401
8950
  get staticDataForStaticPreview() {
8402
8951
  return this.staticPreviewSettings.importsFromStaticDataFiles;
@@ -8423,15 +8972,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8423
8972
  };
8424
8973
  Object.defineProperty(exports, "__esModule", ({ value: true }));
8425
8974
  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"));
8975
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
8427
8976
  const MarkupProcessingSettings__Default = {
8428
8977
  periodBetweenFileUpdatingAndRebuildingStarting__seconds: 1,
8429
8978
  staticPreview: {
8430
8979
  typeScriptConfigurationFileRelativePath: "tsconfig.json"
8431
8980
  },
8432
8981
  outputCodeFormatting: {
8433
- mustExecute: (consumingProjectBuildingMode) => consumingProjectBuildingMode === ConsumingProjectBuildingModes_1.default.staticPreview ||
8434
- consumingProjectBuildingMode === ConsumingProjectBuildingModes_1.default.localDevelopment
8982
+ mustExecute: ({ outputFormat }) => outputFormat === MarkupProcessingRestrictions_1.default.OutputFormats.razor,
8983
+ indentationString: " ",
8984
+ lineSeparators: es_extensions_1.LineSeparators.lineFeed,
8985
+ mustGuaranteeTrailingEmptyLine: true,
8986
+ mustIndentHeadAndBodyTags: true
8987
+ },
8988
+ outputCodeMinifying: {
8989
+ mustExecute: ({ outputFormat }) => outputFormat === MarkupProcessingRestrictions_1.default.OutputFormats.HTML ||
8990
+ outputFormat === MarkupProcessingRestrictions_1.default.OutputFormats.handlebars,
8991
+ attributesExtraWhitespacesCollapsing: true,
8992
+ attributesValuesDeduplication: true,
8993
+ commentsRemoving: true
8435
8994
  },
8436
8995
  linting: {
8437
8996
  mustExecute: true
@@ -8490,37 +9049,41 @@ var MarkupProcessingSettings__FromFile__RawValid;
8490
9049
  (function (MarkupProcessingSettings__FromFile__RawValid) {
8491
9050
  function getLocalizedPropertiesSpecification({ markupProcessingPropertiesLocalization, localizedConsumingProjectLocalizedPreDefinedBuildingModes, lintingSettingsLocalizedPropertiesSpecification, sourceCodeProcessingSettingsGenericPropertiesLocalization, entryPointsGroupBuildingModeDependentOutputGenericSettingsLocalizedPropertiesSpecification }) {
8492
9051
  return {
8493
- [markupProcessingPropertiesLocalization.common.KEY]: {
9052
+ /* ━━━ Common ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9053
+ $common: {
8494
9054
  newName: "common",
8495
9055
  preValidationModifications: es_extensions_1.nullToUndefined,
8496
9056
  type: Object,
8497
9057
  required: false,
8498
9058
  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]: {
9059
+ $buildingModeDependent: {
8506
9060
  newName: "buildingModeDependent",
8507
9061
  type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8508
9062
  required: false,
8509
- allowedKeys: Object.values(ConsumingProjectBuildingModes_1.default),
8510
9063
  minimalEntriesCount: 1,
9064
+ allowedKeys: [
9065
+ "$localDevelopment",
9066
+ "$testing",
9067
+ "$staging",
9068
+ "$production"
9069
+ ],
8511
9070
  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
9071
+ $localDevelopment: ConsumingProjectBuildingModes_1.default.localDevelopment,
9072
+ $testing: ConsumingProjectBuildingModes_1.default.testing,
9073
+ $staging: ConsumingProjectBuildingModes_1.default.staging,
9074
+ $production: ConsumingProjectBuildingModes_1.default.production
8517
9075
  },
8518
9076
  value: {
8519
9077
  type: Object,
8520
9078
  properties: {
8521
- [markupProcessingPropertiesLocalization.common.buildingModeDependent.
8522
- mustResolveResourceReferencesToRelativePaths.KEY]: {
8523
- newName: "mustResolveResourceReferencesToRelativePaths",
9079
+ $secondsBetweenFileUpdatingAndStartingOfRebuilding: {
9080
+ newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
9081
+ type: Number,
9082
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
9083
+ required: false
9084
+ },
9085
+ $mustResolveResourcesPointersToRelativePaths: {
9086
+ newName: "mustResolveResourcesPointersToRelativePaths",
8524
9087
  type: Boolean,
8525
9088
  required: false
8526
9089
  }
@@ -8529,57 +9092,98 @@ var MarkupProcessingSettings__FromFile__RawValid;
8529
9092
  }
8530
9093
  }
8531
9094
  },
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]: {
9095
+ /* ━━━ Static Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9096
+ $staticPreview: {
8573
9097
  newName: "staticPreview",
8574
9098
  preValidationModifications: es_extensions_1.nullToUndefined,
8575
9099
  type: Object,
8576
9100
  required: false,
8577
9101
  properties: {
8578
- [markupProcessingPropertiesLocalization.staticPreview.stateDependentPagesVariationsSpecificationFileRelativePath.KEY]: {
8579
- newName: "stateDependentPagesVariationsSpecificationFileRelativePath",
8580
- type: String,
9102
+ $pagesVariations: {
9103
+ newName: "pagesVariations",
9104
+ type: Object,
8581
9105
  required: false,
8582
- minimalCharactersCount: 1
9106
+ preValidationModifications: es_extensions_1.nullToUndefined,
9107
+ properties: {
9108
+ $stateDependent: {
9109
+ newName: "stateDependent",
9110
+ type: Object,
9111
+ required: false,
9112
+ preValidationModifications: es_extensions_1.nullToUndefined,
9113
+ properties: {
9114
+ $specificationFileRelativePath: {
9115
+ newName: "specificationFileRelativePath",
9116
+ type: String,
9117
+ required: true,
9118
+ minimalCharactersCount: 1
9119
+ }
9120
+ }
9121
+ },
9122
+ $localeDependent: {
9123
+ newName: "localeDependent",
9124
+ type: Object,
9125
+ required: false,
9126
+ preValidationModifications: es_extensions_1.nullToUndefined,
9127
+ properties: {
9128
+ $stringResourcesFileRelativePath: {
9129
+ newName: "stringResourcesFileRelativePath",
9130
+ type: String,
9131
+ required: false,
9132
+ minimalCharactersCount: 1
9133
+ },
9134
+ $localizedStringResourcesConstantName: {
9135
+ newName: "localizedStringResourcesConstantName",
9136
+ type: String,
9137
+ required: false,
9138
+ minimalCharactersCount: 1
9139
+ },
9140
+ $localeVariableName: {
9141
+ newName: "localeVariableName",
9142
+ type: String,
9143
+ required: false,
9144
+ minimalCharactersCount: 1
9145
+ },
9146
+ $locales: {
9147
+ newName: "locales",
9148
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
9149
+ required: true,
9150
+ minimalEntriesCount: 1,
9151
+ value: {
9152
+ type: Object,
9153
+ properties: {
9154
+ $localeVariableValue: {
9155
+ newName: "localeVariableValue",
9156
+ type: String,
9157
+ required: false,
9158
+ minimalCharactersCount: 1
9159
+ },
9160
+ $keyInLocalizedStringResourcesObject: {
9161
+ newName: "keyInLocalizedStringResourcesObject",
9162
+ type: String,
9163
+ required: false,
9164
+ minimalCharactersCount: 1
9165
+ },
9166
+ $outputFileInterimNameExtensionWithoutDot: {
9167
+ newName: "outputFileInterimNameExtensionWithoutDot",
9168
+ type: String,
9169
+ required: true,
9170
+ minimalCharactersCount: 1
9171
+ }
9172
+ }
9173
+ }
9174
+ },
9175
+ $excludedFilesRelativePaths: {
9176
+ newName: "excludedFilesRelativePaths",
9177
+ type: Array,
9178
+ required: false,
9179
+ element: {
9180
+ type: String,
9181
+ minimalCharactersCount: 1
9182
+ }
9183
+ }
9184
+ }
9185
+ }
9186
+ }
8583
9187
  },
8584
9188
  [markupProcessingPropertiesLocalization.staticPreview.importsFromStaticDataFiles.KEY]: {
8585
9189
  newName: "importsFromStaticDataFiles",
@@ -8606,6 +9210,47 @@ var MarkupProcessingSettings__FromFile__RawValid;
8606
9210
  }
8607
9211
  }
8608
9212
  },
9213
+ // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
9214
+ [markupProcessingPropertiesLocalization.linting.KEY]: {
9215
+ newName: "linting",
9216
+ preValidationModifications: es_extensions_1.nullToUndefined,
9217
+ type: Object,
9218
+ required: false,
9219
+ properties: lintingSettingsLocalizedPropertiesSpecification
9220
+ },
9221
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.KEY]: {
9222
+ newName: "importingFromTypeScript",
9223
+ preValidationModifications: es_extensions_1.nullToUndefined,
9224
+ type: Object,
9225
+ required: false,
9226
+ properties: {
9227
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.typeScriptConfigurationFileRelativePath.KEY]: {
9228
+ newName: "typeScriptConfigurationFileRelativePath",
9229
+ type: String,
9230
+ required: false,
9231
+ minimalCharactersCount: 1
9232
+ },
9233
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.importedNamespace.KEY]: {
9234
+ newName: "importedNamespace",
9235
+ type: String,
9236
+ required: true,
9237
+ minimalCharactersCount: 1
9238
+ },
9239
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.sourceFileRelativePath.KEY]: {
9240
+ newName: "sourceFileRelativePath",
9241
+ type: String,
9242
+ required: true,
9243
+ minimalCharactersCount: 1
9244
+ },
9245
+ [markupProcessingPropertiesLocalization.importingFromTypeScript.
9246
+ nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected.KEY]: {
9247
+ newName: "nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected",
9248
+ type: String,
9249
+ required: true,
9250
+ minimalCharactersCount: 1
9251
+ }
9252
+ }
9253
+ },
8609
9254
  routing: {
8610
9255
  type: Object,
8611
9256
  required: false,
@@ -8732,14 +9377,64 @@ var MarkupProcessingSettings__FromFile__RawValid;
8732
9377
  },
8733
9378
  entryPointsGroupBuildingModeDependentOutputGenericSettingsLocalizedPropertiesSpecification,
8734
9379
  entryPointsGroupBuildingModeDependentSpecificSettingsLocalizedPropertiesSpecification: {
8735
- [markupProcessingPropertiesLocalization.entryPointsGroups.buildingModeDependent.outputCodeFormatting.KEY]: {
9380
+ $outputCodeFormatting: {
8736
9381
  newName: "outputCodeFormatting",
8737
9382
  type: Object,
8738
9383
  required: false,
8739
9384
  preValidationModifications: es_extensions_1.nullToUndefined,
8740
9385
  properties: {
8741
- disable: {
8742
- newName: "disable",
9386
+ $enable: {
9387
+ newName: "enable",
9388
+ type: Boolean,
9389
+ required: false
9390
+ },
9391
+ $indentationString: {
9392
+ newName: "indentationString",
9393
+ type: String,
9394
+ required: false,
9395
+ validValueRegularExpression: /^\s+$/u
9396
+ },
9397
+ $lineSeparators: {
9398
+ newName: "lineSeparators",
9399
+ type: String,
9400
+ required: false,
9401
+ allowedAlternatives: Object.values(es_extensions_1.LineSeparators)
9402
+ },
9403
+ $mustGuaranteeTrailingEmptyLine: {
9404
+ newName: "mustGuaranteeTrailingEmptyLine",
9405
+ type: Boolean,
9406
+ required: false
9407
+ },
9408
+ $mustIndentHeadAndBodyTags: {
9409
+ newName: "mustIndentHeadAndBodyTags",
9410
+ type: Boolean,
9411
+ required: false
9412
+ }
9413
+ }
9414
+ },
9415
+ $outputCodeMinifying: {
9416
+ newName: "outputCodeMinifying",
9417
+ type: Object,
9418
+ required: false,
9419
+ preValidationModifications: es_extensions_1.nullToUndefined,
9420
+ properties: {
9421
+ $enable: {
9422
+ newName: "enable",
9423
+ type: Boolean,
9424
+ required: false
9425
+ },
9426
+ $attributesExtraWhitespacesCollapsing: {
9427
+ newName: "attributesExtraWhitespacesCollapsing",
9428
+ type: Boolean,
9429
+ required: false
9430
+ },
9431
+ $attributesValuesDeduplication: {
9432
+ newName: "attributesValuesDeduplication",
9433
+ type: Boolean,
9434
+ required: false
9435
+ },
9436
+ $commentsRemoving: {
9437
+ newName: "commentsRemoving",
8743
9438
  type: Boolean,
8744
9439
  required: false
8745
9440
  }
@@ -8877,10 +9572,9 @@ const GulpStreamsBasedTaskExecutor_1 = __importDefault(__webpack_require__(/*! @
8877
9572
  const MarkupProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSharedState.ts"));
8878
9573
  /* ─── Gulp & Plugins ─────────────────────────────────────────────────────────────────────────────────────────────── */
8879
9574
  const gulp_1 = __importDefault(__webpack_require__(/*! gulp */ "gulp"));
8880
- const gulp_if_1 = __importDefault(__webpack_require__(/*! gulp-if */ "gulp-if"));
8881
9575
  const gulp_data_1 = __importDefault(__webpack_require__(/*! gulp-data */ "gulp-data"));
8882
9576
  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"));
9577
+ const js_beautify_1 = __importDefault(__webpack_require__(/*! js-beautify */ "js-beautify"));
8884
9578
  /* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
8885
9579
  const PugPreProcessorSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist */ "./ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist.ts"));
8886
9580
  /* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -8891,7 +9585,7 @@ const SourceCodeSelectiveReprocessingHelper_1 = __importDefault(__webpack_requir
8891
9585
  const DotYDA_DirectoryManager_1 = __importDefault(__webpack_require__(/*! @Utils/DotYDA_DirectoryManager */ "./Utils/DotYDA_DirectoryManager.ts"));
8892
9586
  const rev_hash_1 = __importDefault(__webpack_require__(/*! rev-hash */ "../node_modules/rev-hash/index.js"));
8893
9587
  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"));
9588
+ const ResourcesPointersResolverForHTML_1 = __importDefault(__webpack_require__(/*! ./Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML.ts"));
8895
9589
  const AccessibilityInspector_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/AccessibilityInspector/AccessibilityInspector */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AccessibilityInspector/AccessibilityInspector.ts"));
8896
9590
  const ImagesAspectRatioAffixer_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ImagesAspectRatioAffixer */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ImagesAspectRatioAffixer.ts"));
8897
9591
  const SpacesNormalizerForCJK_Text_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/SpacesNormalizerForCJK_Text */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/SpacesNormalizerForCJK_Text.ts"));
@@ -8899,6 +9593,7 @@ const CodeListingPugFilter_1 = __importDefault(__webpack_require__(/*! @MarkupPr
8899
9593
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
8900
9594
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
8901
9595
  const node_html_parser_1 = __webpack_require__(/*! node-html-parser */ "node-html-parser");
9596
+ const addPenultimateFileNameExtension_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Strings/addPenultimateFileNameExtension */ "./UtilsIncubator/Strings/addPenultimateFileNameExtension.ts"));
8902
9597
  class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
8903
9598
  static CACHED_HTML_VALIDATION_RESULTS_DIRECTORY_NAME = "HTML_Validation";
8904
9599
  static CACHED_ACCESSIBILITY_INSPECTION_RESULTS_DIRECTORY_NAME = "AccessibilityInspection";
@@ -9021,12 +9716,13 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9021
9716
  })).
9022
9717
  pipe(GulpStreamModifier_1.default.modify({
9023
9718
  onStreamStartedEventHandlersForSpecificFileTypes: new Map([
9024
- [MarkupEntryPointVinylFile_1.default, MarkupProcessor.createEntryPointsStateDependentVariations]
9719
+ [MarkupEntryPointVinylFile_1.default, MarkupProcessor.createEntryPointsVariationsIfStaticPreviewBuildingMode]
9025
9720
  ])
9026
9721
  })).
9027
9722
  pipe(this.logProcessedFilesIfMust()).
9028
9723
  pipe((0, gulp_data_1.default)((vinylFile) => ({
9029
9724
  ...vinylFile.pageStateDependentVariationData ?? null,
9725
+ ...vinylFile.staticPreviewLocalizationData ?? null,
9030
9726
  ...this.projectBuildingMasterConfigRepresentative.isStaticPreviewBuildingMode ?
9031
9727
  this.markupProcessingSettingsRepresentative.staticDataForStaticPreview : null
9032
9728
  }))).
@@ -9046,8 +9742,11 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9046
9742
  "code_listing--yda": CodeListingPugFilter_1.default.apply
9047
9743
  }
9048
9744
  })).
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 }))).
9745
+ pipe(GulpStreamModifier_1.default.modify({
9746
+ onStreamStartedEventHandlersForSpecificFileTypes: new Map([
9747
+ [MarkupEntryPointVinylFile_1.default, MarkupProcessor.formatOrMinifyContentIfMust]
9748
+ ])
9749
+ })).
9051
9750
  pipe(GulpStreamModifier_1.default.modify({
9052
9751
  onStreamStartedEventHandlersForSpecificFileTypes: new Map([
9053
9752
  [MarkupEntryPointVinylFile_1.default, this.onOutputHTML_FileReady.bind(this)]
@@ -9056,14 +9755,11 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9056
9755
  pipe(gulp_1.default.dest((targetFile) => MarkupEntryPointVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFile))).
9057
9756
  on("end", this.onStreamEnded.bind(this));
9058
9757
  }
9059
- /* ━━━ Pipeline methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9758
+ /* ━━━ Pipeline Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9060
9759
  async replacePlainVinylFileWithMarkupEntryPointVinylFile(plainVinylFile, addNewFileToStream) {
9061
9760
  addNewFileToStream(new MarkupEntryPointVinylFile_1.default({
9062
9761
  initialPlainVinylFile: plainVinylFile,
9063
- actualEntryPointsGroupSettings: this.markupProcessingSettingsRepresentative.
9064
- getExpectedToExistEntryPointsGroupSettingsRelevantForSpecifiedSourceFileAbsolutePath(plainVinylFile.path),
9065
- pageStateDependentVariationsSpecification: this.markupProcessingSettingsRepresentative.
9066
- getStateDependentVariationsForEntryPointWithAbsolutePath(plainVinylFile.path)
9762
+ markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative
9067
9763
  }));
9068
9764
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
9069
9765
  }
@@ -9136,9 +9832,12 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9136
9832
  }).join("\n"));
9137
9833
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9138
9834
  }
9139
- static async createEntryPointsStateDependentVariations(markupEntryPointVinylFile, addNewFilesToStream) {
9140
- addNewFilesToStream(markupEntryPointVinylFile.forkStaticPreviewStateDependentVariationsIfAny());
9141
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9835
+ static async createEntryPointsVariationsIfStaticPreviewBuildingMode(markupEntryPointVinylFile, addNewFilesToStream) {
9836
+ const { newFiles, mustInitialFileBeDeleted } = markupEntryPointVinylFile.manageVariationsForStaticPreviewIfAnyAndStaticPreviewBuildingMode();
9837
+ addNewFilesToStream(newFiles);
9838
+ return Promise.resolve(mustInitialFileBeDeleted ?
9839
+ GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM :
9840
+ GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9142
9841
  }
9143
9842
  /* [ Theory ] The ampersand must be escaped first, otherwise the ampersand from which HTML other entities begins
9144
9843
  * will be escaped too. */
@@ -9150,18 +9849,28 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9150
9849
  replace(/"/gu, "&quot;").
9151
9850
  replace(/'/gu, "&apos;");
9152
9851
  }
9852
+ static async formatOrMinifyContentIfMust(markupVinylFile) {
9853
+ if (markupVinylFile.actualEntryPointsGroupSettings.outputCodeFormatting.mustExecute) {
9854
+ /* [ Theory ]
9855
+ * + `indent_with_tabs` overrides `indent_size` and `indent_char` so not required.
9856
+ * */
9857
+ markupVinylFile.setContents(MarkupProcessor.formatHTML_Code(markupVinylFile));
9858
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9859
+ }
9860
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9861
+ }
9153
9862
  /* eslint-disable @typescript-eslint/member-ordering --
9154
- * Static and non-static methods are following by the usage order. */
9863
+ * From now, static and non-static methods are following by the usage order. */
9155
9864
  async onOutputHTML_FileReady(processedEntryPointVinylFile) {
9156
9865
  const entryPointFileContentRelativeToConsumingProjectRootDirectory = es_extensions_nodejs_1.ImprovedPath.computeRelativePath({
9157
9866
  basePath: this.projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
9158
9867
  comparedPath: processedEntryPointVinylFile.path,
9159
9868
  alwaysForwardSlashSeparators: true
9160
9869
  });
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({
9870
+ let semiFinishedHTML_Code = processedEntryPointVinylFile.stringifiedContents;
9871
+ const semiFinishedHTML_CodeMD5_Checksum = (0, rev_hash_1.default)(semiFinishedHTML_Code);
9872
+ let rootHTML_Element = (0, node_html_parser_1.parse)(semiFinishedHTML_Code);
9873
+ rootHTML_Element = ResourcesPointersResolverForHTML_1.default.resolve({
9165
9874
  rootHTML_Element,
9166
9875
  projectBuildingMasterConfigRepresentative: this.projectBuildingMasterConfigRepresentative,
9167
9876
  markupProcessingSettingsRepresentative: this.markupProcessingSettingsRepresentative,
@@ -9175,32 +9884,40 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9175
9884
  absolutePathOfOutputDirectoryForTargetHTML_File: processedEntryPointVinylFile.outputDirectoryAbsolutePath
9176
9885
  });
9177
9886
  rootHTML_Element = SpacesNormalizerForCJK_Text_1.default.normalize(rootHTML_Element);
9178
- entryPointFileContent = rootHTML_Element.toString();
9887
+ semiFinishedHTML_Code = rootHTML_Element.toString();
9179
9888
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.outputFormat ===
9180
9889
  MarkupProcessingRestrictions_1.default.OutputFormats.handlebars &&
9181
9890
  !this.projectBuildingMasterConfigRepresentative.isStaticPreviewBuildingMode) {
9182
- processedEntryPointVinylFile.setContents(entryPointFileContent);
9891
+ processedEntryPointVinylFile.setContents(semiFinishedHTML_Code);
9183
9892
  processedEntryPointVinylFile.extname = ".hbs";
9184
9893
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9185
9894
  }
9186
9895
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.outputFormat ===
9187
9896
  MarkupProcessingRestrictions_1.default.OutputFormats.razor) {
9188
- processedEntryPointVinylFile.setContents(entryPointFileContent);
9897
+ processedEntryPointVinylFile.setContents(semiFinishedHTML_Code);
9189
9898
  processedEntryPointVinylFile.extname = ".razor";
9190
9899
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9191
9900
  }
9901
+ let formattedHTML_CodeForReports = processedEntryPointVinylFile.actualEntryPointsGroupSettings.outputCodeFormatting.mustExecute ?
9902
+ semiFinishedHTML_Code : null;
9192
9903
  if (this.projectBuildingMasterConfigRepresentative.mustProvideIncrementalBuilding) {
9193
9904
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.HTML_Validation.mustExecute) {
9905
+ formattedHTML_CodeForReports =
9906
+ formattedHTML_CodeForReports ??
9907
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9194
9908
  HTML_Validator_1.default.validateAtBackgroundAndReportImmideatlyWithoutThrowingOfErrors({
9195
- HTML_Code: entryPointFileContent,
9196
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9909
+ HTML_Code: formattedHTML_CodeForReports,
9910
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9197
9911
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9198
9912
  });
9199
9913
  }
9200
9914
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.mustExecute) {
9915
+ formattedHTML_CodeForReports =
9916
+ formattedHTML_CodeForReports ??
9917
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9201
9918
  AccessibilityInspector_1.default.inspectAtBackgroundAndReportImmideatlyWithoutThrowingOfErrors({
9202
- HTML_Code: entryPointFileContent,
9203
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9919
+ HTML_Code: formattedHTML_CodeForReports,
9920
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9204
9921
  accessibilityStandard: processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.standard,
9205
9922
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9206
9923
  });
@@ -9208,22 +9925,28 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9208
9925
  }
9209
9926
  else {
9210
9927
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.HTML_Validation.mustExecute) {
9928
+ formattedHTML_CodeForReports =
9929
+ formattedHTML_CodeForReports ??
9930
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9211
9931
  HTML_Validator_1.default.validateAtBackgroundWithoutReporting({
9212
- HTML_Code: entryPointFileContent,
9213
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9932
+ HTML_Code: formattedHTML_CodeForReports,
9933
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9214
9934
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9215
9935
  });
9216
9936
  }
9217
9937
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.mustExecute) {
9938
+ formattedHTML_CodeForReports =
9939
+ formattedHTML_CodeForReports ??
9940
+ MarkupProcessor.formatHTML_Code(processedEntryPointVinylFile);
9218
9941
  AccessibilityInspector_1.default.inspectAtBackgroundWithoutReporting({
9219
- HTML_Code: entryPointFileContent,
9220
- HTML_CodeMD5Checksum: entryPointFileContentMD5Checksum,
9942
+ HTML_Code: formattedHTML_CodeForReports,
9943
+ HTML_CodeMD5Checksum: semiFinishedHTML_CodeMD5_Checksum,
9221
9944
  accessibilityStandard: processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.standard,
9222
9945
  targetHTML_FilePathRelativeToConsumingProjectRootDirectory: entryPointFileContentRelativeToConsumingProjectRootDirectory
9223
9946
  });
9224
9947
  }
9225
9948
  }
9226
- processedEntryPointVinylFile.setContents(entryPointFileContent);
9949
+ processedEntryPointVinylFile.setContents(semiFinishedHTML_Code);
9227
9950
  return GulpStreamModifier_1.default.CompletionSignals.PASSING_ON;
9228
9951
  }
9229
9952
  onStreamEnded() {
@@ -9272,7 +9995,11 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9272
9995
  }
9273
9996
  /* ━━━ Helpers ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9274
9997
  initializeSourceAndOutputFilesAbsolutePathsCorrespondenceMap() {
9998
+ const localeDependentPagesVariationsSettings = this.markupProcessingSettingsRepresentative.localeDependentPagesVariationsSettings;
9999
+ const localesData = localeDependentPagesVariationsSettings?.locales ?? new Map();
9275
10000
  for (const markupSourceFileAbsolutePath of es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(this.markupProcessingSettingsRepresentative.initialRelevantEntryPointsSourceFilesAbsolutePaths, { alwaysForwardSlashSeparators: true })) {
10001
+ const areLocaleDependentVariationsRequiredForCurrentFile = localesData.size > 0 &&
10002
+ localeDependentPagesVariationsSettings?.excludedFilesAbsolutePaths.includes(markupSourceFileAbsolutePath) === false;
9276
10003
  const markupEntryPointsGroupSettingsActualForCurrentFile = this.markupProcessingSettingsRepresentative.
9277
10004
  getExpectedToExistEntryPointsGroupSettingsRelevantForSpecifiedSourceFileAbsolutePath(markupSourceFileAbsolutePath);
9278
10005
  const outputFileNameWithLastExtensionWithLeadingDot = this.markupProcessingSettingsRepresentative.
@@ -9280,29 +10007,80 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9280
10007
  entryPointsGroupSettingsActualForTargetFile: markupEntryPointsGroupSettingsActualForCurrentFile,
9281
10008
  mustPrependDotToFileNameExtension: false
9282
10009
  });
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;
10010
+ const outputDirectoryForCurrentMarkupFileAndDerivedOnes = MarkupProcessingSettingsRepresentative_1.default.
10011
+ computeRelevantOutputDirectoryAbsolutePathForTargetSourceFile(markupSourceFileAbsolutePath, markupEntryPointsGroupSettingsActualForCurrentFile);
10012
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
10013
+ for (const localeData of localesData.values()) {
10014
+ MarkupProcessingSharedState_1.default.
10015
+ entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
10016
+ set((0, addPenultimateFileNameExtension_1.default)({
10017
+ targetPath: markupSourceFileAbsolutePath,
10018
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
10019
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
10020
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
10021
+ }), es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10022
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10023
+ [
10024
+ (0, es_extensions_1.extractFileNameWithoutLastExtension)(markupSourceFileAbsolutePath),
10025
+ localeData.outputFileInterimNameExtensionWithoutDot,
10026
+ outputFileNameWithLastExtensionWithLeadingDot
10027
+ ].join(".")
10028
+ ], { alwaysForwardSlashSeparators: true }));
10029
+ }
9294
10030
  }
9295
- for (const derivedSourceFileAbsolutePath of Object.keys(entryPointStateDependentVariations.derivedPagesAndStatesMap)) {
10031
+ else {
9296
10032
  MarkupProcessingSharedState_1.default.
9297
10033
  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`
10034
+ set(markupSourceFileAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10035
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10036
+ `${(0, es_extensions_1.extractFileNameWithoutLastExtension)(markupSourceFileAbsolutePath)}.` +
10037
+ outputFileNameWithLastExtensionWithLeadingDot
9302
10038
  ], { alwaysForwardSlashSeparators: true }));
9303
10039
  }
10040
+ const entryPointStateDependentVariations = this.markupProcessingSettingsRepresentative.
10041
+ getStateDependentVariationsForEntryPointWithAbsolutePath(markupSourceFileAbsolutePath);
10042
+ for (const derivedSourceFileAbsolutePath of (entryPointStateDependentVariations?.derivedPagesAndStatesMap ?? new Map()).keys()) {
10043
+ if (areLocaleDependentVariationsRequiredForCurrentFile) {
10044
+ for (const localeData of localesData.values()) {
10045
+ MarkupProcessingSharedState_1.default.
10046
+ entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
10047
+ set((0, addPenultimateFileNameExtension_1.default)({
10048
+ targetPath: derivedSourceFileAbsolutePath,
10049
+ targetFileNamePenultimateExtensionWithOrWithoutLeadingDot: localeData.outputFileInterimNameExtensionWithoutDot,
10050
+ mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist: true,
10051
+ mustAppendLastFileNameExtensionInsteadIfThereIsNoOne: true
10052
+ }), es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10053
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10054
+ [
10055
+ (0, es_extensions_1.extractFileNameWithoutLastExtension)(derivedSourceFileAbsolutePath),
10056
+ localeData.outputFileInterimNameExtensionWithoutDot,
10057
+ "html"
10058
+ ].join(".")
10059
+ ], { alwaysForwardSlashSeparators: true }));
10060
+ }
10061
+ }
10062
+ else {
10063
+ MarkupProcessingSharedState_1.default.
10064
+ entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
10065
+ set(derivedSourceFileAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10066
+ outputDirectoryForCurrentMarkupFileAndDerivedOnes,
10067
+ `${(0, es_extensions_1.extractFileNameWithoutLastExtension)(derivedSourceFileAbsolutePath)}.html`
10068
+ ], { alwaysForwardSlashSeparators: true }));
10069
+ }
10070
+ }
9304
10071
  }
9305
10072
  }
10073
+ static formatHTML_Code(markupVinylFile) {
10074
+ const { outputCodeFormatting: outputCodeFormattingSettings } = markupVinylFile.actualEntryPointsGroupSettings;
10075
+ return js_beautify_1.default.html(markupVinylFile.stringifiedContents, {
10076
+ ...outputCodeFormattingSettings.indentationString.includes(es_extensions_1.SpaceCharacters.regularSpace) ?
10077
+ { indent_size: (0, es_extensions_1.splitString)(outputCodeFormattingSettings.indentationString, "").length } : null,
10078
+ indent_char: outputCodeFormattingSettings.indentationString,
10079
+ eol: outputCodeFormattingSettings.lineSeparators,
10080
+ end_with_newline: outputCodeFormattingSettings.mustGuaranteeTrailingEmptyLine,
10081
+ indent_body_inner_html: outputCodeFormattingSettings.mustIndentHeadAndBodyTags
10082
+ });
10083
+ }
9306
10084
  }
9307
10085
  exports["default"] = MarkupProcessor;
9308
10086
 
@@ -9464,6 +10242,7 @@ class AccessibilityInspector {
9464
10242
  static localization = AccessibilityInspectorLocalization_english_1.default;
9465
10243
  /* ━━━ Public static methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9466
10244
  /* ─── Initialization ───────────────────────────────────────────────────────────────────────────────────────────── */
10245
+ /* [ Specification ] Could not be async because intended to be used ini non-async methods. */
9467
10246
  static beginInitialization(configuration) {
9468
10247
  AccessibilityInspector.hasInitializationStarted = true;
9469
10248
  const cachedInspectionResultsFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
@@ -10119,6 +10898,39 @@ exports["default"] = accessibilityInspectorLocalization__english;
10119
10898
 
10120
10899
  /* eslint-disable @typescript-eslint/member-ordering --
10121
10900
  * There is the processing order herewith some methods required the accessing to non-static fields, some - not. */
10901
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10902
+ if (k2 === undefined) k2 = k;
10903
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10904
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10905
+ desc = { enumerable: true, get: function() { return m[k]; } };
10906
+ }
10907
+ Object.defineProperty(o, k2, desc);
10908
+ }) : (function(o, m, k, k2) {
10909
+ if (k2 === undefined) k2 = k;
10910
+ o[k2] = m[k];
10911
+ }));
10912
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10913
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
10914
+ }) : function(o, v) {
10915
+ o["default"] = v;
10916
+ });
10917
+ var __importStar = (this && this.__importStar) || (function () {
10918
+ var ownKeys = function(o) {
10919
+ ownKeys = Object.getOwnPropertyNames || function (o) {
10920
+ var ar = [];
10921
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
10922
+ return ar;
10923
+ };
10924
+ return ownKeys(o);
10925
+ };
10926
+ return function (mod) {
10927
+ if (mod && mod.__esModule) return mod;
10928
+ var result = {};
10929
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
10930
+ __setModuleDefault(result, mod);
10931
+ return result;
10932
+ };
10933
+ })();
10122
10934
  var __importDefault = (this && this.__importDefault) || function (mod) {
10123
10935
  return (mod && mod.__esModule) ? mod : { "default": mod };
10124
10936
  };
@@ -10126,16 +10938,15 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
10126
10938
  /* ━━━ Imports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10127
10939
  /* ─── Assets ────────────────────────────────────────────────────────────────────────────────────────────────────── */
10128
10940
  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
10941
  /* ─── Generals utils ────────────────────────────────────────────────────────────────────────────────────────────── */
10942
+ const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
10132
10943
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
10133
10944
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
10134
10945
  const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
10135
10946
  const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
10136
- const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
10137
10947
  class HTML_Validator {
10138
10948
  /* ━━━ Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10949
+ HTML_ValidationService;
10139
10950
  relativePathsOfFilesWhichIsBeingValidated = new Set();
10140
10951
  validationsInProgressForProductionLikeModes = [];
10141
10952
  /* ─── Initialization ───────────────────────────────────────────────────────────────────────────────────────────── */
@@ -10236,6 +11047,7 @@ class HTML_Validator {
10236
11047
  static localization = HTML_ValidatorLocalization_english_1.default;
10237
11048
  /* ━━━ Public static methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10238
11049
  /* ─── Initialization ───────────────────────────────────────────────────────────────────────────────────────────── */
11050
+ /* [ Specification ] Could not be async because intended to be used ini non-async methods. */
10239
11051
  static beginInitialization(configuration) {
10240
11052
  HTML_Validator.hasInitializationStarted = true;
10241
11053
  const cachedValidationsResultsFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
@@ -10244,31 +11056,30 @@ class HTML_Validator {
10244
11056
  (0, es_extensions_1.insertSubstring)(configuration.projectBuildingSelectiveExecutionID, { modifier: (projectBuildingSelectiveExecutionID) => `${projectBuildingSelectiveExecutionID}.` }) +
10245
11057
  `${(0, es_extensions_1.toLowerCamelCase)(configuration.consumingProjectBuildingMode)}.json`
10246
11058
  ]);
10247
- HTML_Validator.retrieveCachedPastValidationsResultsFromFileIfItExists({
10248
- cachedValidationsResultsFileAbsolutePath,
10249
- cachedValidationsResultsDirectoryAbsolutePath: configuration.cachedValidationsResultsFileParentDirectoryAbsolutePath
10250
- }).
10251
- then((cachedValidationsResults) => {
11059
+ Promise.all([
11060
+ Promise.resolve().then(() => __importStar(__webpack_require__(/*! w3c-html-validator */ "../node_modules/w3c-html-validator/dist/w3c-html-validator.js"))),
11061
+ HTML_Validator.retrieveCachedPastValidationsResultsFromFileIfItExists({
11062
+ cachedValidationsResultsFileAbsolutePath,
11063
+ cachedValidationsResultsDirectoryAbsolutePath: configuration.cachedValidationsResultsFileParentDirectoryAbsolutePath
11064
+ })
11065
+ ]).
11066
+ then(([dynamicallyLoadedHTML_ValidatorModule, cachedValidationsResults]) => {
10252
11067
  HTML_Validator.selfSoleInstance = new HTML_Validator({
11068
+ HTML_ValidationService: dynamicallyLoadedHTML_ValidatorModule.w3cHtmlValidator,
10253
11069
  cachedValidationsResults,
10254
11070
  cachedValidationsResultsFileAbsolutePath,
10255
11071
  ...configuration
10256
11072
  });
10257
- HTML_Validator.onSelfSoleInstanceReady(HTML_Validator.selfSoleInstance);
11073
+ this.onSelfSoleInstanceReady(HTML_Validator.selfSoleInstance);
10258
11074
  }).
10259
11075
  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
- }
11076
+ es_extensions_1.Logger.logError({
11077
+ errorType: es_extensions_1.UnexpectedEventError.NAME,
11078
+ title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
11079
+ description: "The unexpected error occurred during the initialization of HTML validation functionality",
11080
+ occurrenceLocation: "HTML_Validator.beginInitialization(configuration)",
11081
+ caughtError: error
11082
+ });
10272
11083
  });
10273
11084
  }
10274
11085
  /* ─── Validation ───────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -10368,7 +11179,8 @@ class HTML_Validator {
10368
11179
  });
10369
11180
  }
10370
11181
  /* ━━━ Constructor ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10371
- constructor({ cachedValidationsResults, cachedValidationsResultsFileParentDirectoryAbsolutePath, cachedValidationsResultsFileAbsolutePath, logging }) {
11182
+ constructor({ HTML_ValidationService, cachedValidationsResults, cachedValidationsResultsFileParentDirectoryAbsolutePath, cachedValidationsResultsFileAbsolutePath, logging }) {
11183
+ this.HTML_ValidationService = HTML_ValidationService;
10372
11184
  this.cachedValidationsResults = cachedValidationsResults ?? new Map();
10373
11185
  this.CACHED_VALIDATIONS_RESULTS_FILE_PARENT_DIRECTORY_ABSOLUTE_PATH = cachedValidationsResultsFileParentDirectoryAbsolutePath;
10374
11186
  this.CACHED_VALIDATIONS_RESULTS_FILE_ABSOLUTE_PATH = cachedValidationsResultsFileAbsolutePath;
@@ -10409,10 +11221,18 @@ class HTML_Validator {
10409
11221
  }
10410
11222
  let validationRawResults;
10411
11223
  try {
10412
- validationRawResults = await w3c_html_validator_1.w3cHtmlValidator.validate({
11224
+ validationRawResults = await this.HTML_ValidationService.validate({
10413
11225
  html: HTML_Code,
10414
11226
  output: "json"
10415
11227
  });
11228
+ if ((0, es_extensions_1.isNotUndefined)(validationRawResults.messages?.find((rawValidationIssue) => rawValidationIssue.type === "network-error" && rawValidationIssue.message.includes("429 Too Many Requests")))) {
11229
+ es_extensions_1.Logger.throwErrorAndLog({
11230
+ errorType: "HTML_ValidationServiceRejectionError",
11231
+ title: "HTML Validation Rejection",
11232
+ description: "Sorry, the validation service has rejected the requests because of limit exceeding. ",
11233
+ occurrenceLocation: "HTML_Validator.validateSingleFile(compoundParameter)"
11234
+ });
11235
+ }
10416
11236
  }
10417
11237
  catch (error) {
10418
11238
  validationTimeMeasuringStopwatch.stop();
@@ -10892,10 +11712,10 @@ exports["default"] = ImagesAspectRatioAffixer;
10892
11712
 
10893
11713
  /***/ }),
10894
11714
 
10895
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts":
10896
- /*!**********************************************************************************************************************************************!*\
10897
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts ***!
10898
- \**********************************************************************************************************************************************/
11715
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/PointersReferencesResolverForHTML_Localization.english.ts":
11716
+ /*!********************************************************************************************************************************************************!*\
11717
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/PointersReferencesResolverForHTML_Localization.english.ts ***!
11718
+ \********************************************************************************************************************************************************/
10899
11719
  /***/ ((__unused_webpack_module, exports) => {
10900
11720
 
10901
11721
 
@@ -10925,10 +11745,10 @@ exports["default"] = resourcesReferencesResolverForHTML_Localization__english;
10925
11745
 
10926
11746
  /***/ }),
10927
11747
 
10928
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts":
10929
- /*!**************************************************************************************************************************************!*\
10930
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts ***!
10931
- \**************************************************************************************************************************************/
11748
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML.ts":
11749
+ /*!**********************************************************************************************************************************!*\
11750
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/ResourcesPointersResolverForHTML.ts ***!
11751
+ \**********************************************************************************************************************************/
10932
11752
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
10933
11753
 
10934
11754
 
@@ -10937,8 +11757,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
10937
11757
  };
10938
11758
  Object.defineProperty(exports, "__esModule", ({ value: true }));
10939
11759
  /* ─── 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"));
11760
+ 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"));
11761
+ 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
11762
  /* ─── Shared State ───────────────────────────────────────────────────────────────────────────────────────────────── */
10943
11763
  const MarkupProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSharedState.ts"));
10944
11764
  const StylesProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesProcessingSharedState.ts"));
@@ -10947,11 +11767,11 @@ const ImagesProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @I
10947
11767
  const VideosProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @VideosProcessing/VideosProcessingSharedState */ "./ProjectBuilding/AssetsProcessing/Videos/VideosProcessingSharedState.ts"));
10948
11768
  const AudiosProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @AudiosProcessing/AudiosProcessingSharedState */ "./ProjectBuilding/AssetsProcessing/Audios/AudiosProcessingSharedState.ts"));
10949
11769
  /* ─── Assets ─────────────────────────────────────────────────────────────────────────────────────────────────────── */
10950
- const ResourcesReferencesResolverForHTML_english_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts"));
11770
+ const PointersReferencesResolverForHTML_Localization_english_1 = __importDefault(__webpack_require__(/*! ./PointersReferencesResolverForHTML_Localization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesPointersResolverForHTML/PointersReferencesResolverForHTML_Localization.english.ts"));
10951
11771
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
10952
11772
  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;
11773
+ class ResourcesPointersResolverForHTML {
11774
+ static localization = PointersReferencesResolverForHTML_Localization_english_1.default;
10955
11775
  static aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap = new Map();
10956
11776
  static markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap = new Map();
10957
11777
  static aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap = new Map();
@@ -10971,7 +11791,7 @@ class ResourcesReferencesResolverForHTML {
10971
11791
  publicDirectoryAbsolutePath;
10972
11792
  plainCopyingSettingsRepresentative;
10973
11793
  static resolve(sourceData) {
10974
- return new ResourcesReferencesResolverForHTML(sourceData).
11794
+ return new ResourcesPointersResolverForHTML(sourceData).
10975
11795
  resolveInternalLinks().
10976
11796
  resolveStylesheetsAliasedPaths().
10977
11797
  resolveScriptsPathsAliases().
@@ -10989,8 +11809,8 @@ class ResourcesReferencesResolverForHTML {
10989
11809
  this.publicDirectoryAbsolutePath = this.projectBuildingMasterConfigRepresentative.actualPublicDirectoryAbsolutePath;
10990
11810
  }
10991
11811
  this.plainCopyingSettingsRepresentative = projectBuildingMasterConfigRepresentative.plainCopyingSettingsRepresentative;
10992
- if (ResourcesReferencesResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
10993
- ResourcesReferencesResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11812
+ if (ResourcesPointersResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11813
+ ResourcesPointersResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
10994
11814
  (0, es_extensions_1.createMapBasedOnOtherMap)(this.markupProcessingSettingsRepresentative.entryPointsGroupsNormalizedSettingsMappedByReferences, (pathAlias, markupEntryPointsGroupNormalizedSettings) => [
10995
11815
  pathAlias,
10996
11816
  markupEntryPointsGroupNormalizedSettings.isSingeEntryPointGroup ?
@@ -10998,8 +11818,8 @@ class ResourcesReferencesResolverForHTML {
10998
11818
  markupEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
10999
11819
  ]);
11000
11820
  }
11001
- if (ResourcesReferencesResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11002
- ResourcesReferencesResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11821
+ if (ResourcesPointersResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11822
+ ResourcesPointersResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11003
11823
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.stylesProcessingSettingsRepresentative?.
11004
11824
  entryPointsGroupsNormalizedSettingsMappedByReferences ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [
11005
11825
  pathAlias,
@@ -11008,8 +11828,8 @@ class ResourcesReferencesResolverForHTML {
11008
11828
  stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
11009
11829
  ]);
11010
11830
  }
11011
- if (ResourcesReferencesResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11012
- ResourcesReferencesResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11831
+ if (ResourcesPointersResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11832
+ ResourcesPointersResolverForHTML.scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11013
11833
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative?.
11014
11834
  entryPointsGroupsNormalizedSettingsMappedByReferences ?? new Map(), (pathAlias, entryPointsGroupNormalizedSettings) => [
11015
11835
  pathAlias,
@@ -11018,18 +11838,18 @@ class ResourcesReferencesResolverForHTML {
11018
11838
  entryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
11019
11839
  ]);
11020
11840
  }
11021
- if (ResourcesReferencesResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11022
- ResourcesReferencesResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11841
+ if (ResourcesPointersResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11842
+ ResourcesPointersResolverForHTML.imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11023
11843
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.imagesProcessingSettingsRepresentative?.
11024
11844
  relevantAssetsGroupsSettingsMappedBySourceFilesTopDirectoryAliasName ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [pathAlias, stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath]);
11025
11845
  }
11026
- if (ResourcesReferencesResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11027
- ResourcesReferencesResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11846
+ if (ResourcesPointersResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11847
+ ResourcesPointersResolverForHTML.videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11028
11848
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.fontsProcessingSettingsRepresentative?.
11029
11849
  relevantAssetsGroupsSettingsMappedBySourceFilesTopDirectoryAliasName ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [pathAlias, stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath]);
11030
11850
  }
11031
- if (ResourcesReferencesResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11032
- ResourcesReferencesResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11851
+ if (ResourcesPointersResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.size === 0) {
11852
+ ResourcesPointersResolverForHTML.audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap =
11033
11853
  (0, es_extensions_1.createMapBasedOnOtherMap)(projectBuildingMasterConfigRepresentative.audiosProcessingSettingsRepresentative?.
11034
11854
  relevantAssetsGroupsSettingsMappedBySourceFilesTopDirectoryAliasName ?? new Map(), (pathAlias, stylesEntryPointsGroupNormalizedSettings) => [pathAlias, stylesEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath]);
11035
11855
  }
@@ -11057,7 +11877,7 @@ class ResourcesReferencesResolverForHTML {
11057
11877
  if (!(0, es_extensions_1.isNonEmptyString)(attributeValueContainingAliasedURI)) {
11058
11878
  return;
11059
11879
  }
11060
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
11880
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11061
11881
  aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11062
11882
  get(attributeValueContainingAliasedURI) ??
11063
11883
  null;
@@ -11065,26 +11885,26 @@ class ResourcesReferencesResolverForHTML {
11065
11885
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11066
11886
  return;
11067
11887
  }
11068
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(attributeValueContainingAliasedURI);
11888
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(attributeValueContainingAliasedURI);
11069
11889
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11070
11890
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11071
11891
  return;
11072
11892
  }
11073
11893
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11074
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
11894
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11075
11895
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11076
11896
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11077
11897
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11078
11898
  return;
11079
11899
  }
11080
- ResourcesReferencesResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11900
+ ResourcesPointersResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11081
11901
  set(attributeValueContainingAliasedURI, resolvedAbsolutePath);
11082
11902
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11083
11903
  return;
11084
11904
  }
11085
11905
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11086
11906
  pickedPathOfTargetResourceFile: attributeValueContainingAliasedURI,
11087
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11907
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.markupSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11088
11908
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: this.markupProcessingSettingsRepresentative.
11089
11909
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
11090
11910
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: MarkupProcessingSharedState_1.default.
@@ -11097,7 +11917,7 @@ class ResourcesReferencesResolverForHTML {
11097
11917
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11098
11918
  return;
11099
11919
  }
11100
- ResourcesReferencesResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11920
+ ResourcesPointersResolverForHTML.aliasedURIsAndOutputMarkupFilesAbsolutePathsCorrespondenceMap.
11101
11921
  set(attributeValueContainingAliasedURI, resolvedAbsolutePath);
11102
11922
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11103
11923
  }
@@ -11112,7 +11932,7 @@ class ResourcesReferencesResolverForHTML {
11112
11932
  if (!(0, es_extensions_1.isNonEmptyString)(hrefAttributeValue)) {
11113
11933
  continue;
11114
11934
  }
11115
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
11935
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11116
11936
  aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap.
11117
11937
  get(hrefAttributeValue) ??
11118
11938
  null;
@@ -11120,19 +11940,19 @@ class ResourcesReferencesResolverForHTML {
11120
11940
  linkElement.setAttribute("href", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11121
11941
  continue;
11122
11942
  }
11123
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(hrefAttributeValue);
11943
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(hrefAttributeValue);
11124
11944
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11125
11945
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11126
11946
  continue;
11127
11947
  }
11128
11948
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11129
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
11949
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11130
11950
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11131
11951
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11132
11952
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11133
11953
  continue;
11134
11954
  }
11135
- ResourcesReferencesResolverForHTML.
11955
+ ResourcesPointersResolverForHTML.
11136
11956
  aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap.
11137
11957
  set(hrefAttributeValue, resolvedAbsolutePath);
11138
11958
  linkElement.setAttribute("href", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11143,7 +11963,7 @@ class ResourcesReferencesResolverForHTML {
11143
11963
  }
11144
11964
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11145
11965
  pickedPathOfTargetResourceFile: hrefAttributeValue,
11146
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11966
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.stylesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11147
11967
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: stylesProcessingSettingsRepresentative.
11148
11968
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
11149
11969
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: StylesProcessingSharedState_1.default.
@@ -11154,7 +11974,7 @@ class ResourcesReferencesResolverForHTML {
11154
11974
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11155
11975
  continue;
11156
11976
  }
11157
- ResourcesReferencesResolverForHTML.
11977
+ ResourcesPointersResolverForHTML.
11158
11978
  aliasedURIsAndOutputStylesFilesAbsolutePathsCorrespondenceMap.
11159
11979
  set(hrefAttributeValue, resolvedAbsolutePath);
11160
11980
  linkElement.setAttribute("href", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11172,7 +11992,7 @@ class ResourcesReferencesResolverForHTML {
11172
11992
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
11173
11993
  continue;
11174
11994
  }
11175
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
11995
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11176
11996
  aliasedURIsAndOutputScriptsFilesAbsolutePathsCorrespondenceMap.
11177
11997
  get(srcAttributeValue) ??
11178
11998
  null;
@@ -11180,19 +12000,19 @@ class ResourcesReferencesResolverForHTML {
11180
12000
  scriptElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11181
12001
  continue;
11182
12002
  }
11183
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(srcAttributeValue);
12003
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(srcAttributeValue);
11184
12004
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11185
12005
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11186
12006
  continue;
11187
12007
  }
11188
12008
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11189
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12009
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11190
12010
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11191
12011
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11192
12012
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11193
12013
  continue;
11194
12014
  }
11195
- ResourcesReferencesResolverForHTML.
12015
+ ResourcesPointersResolverForHTML.
11196
12016
  aliasedURIsAndOutputScriptsFilesAbsolutePathsCorrespondenceMap.
11197
12017
  set(srcAttributeValue, resolvedAbsolutePath);
11198
12018
  scriptElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11203,7 +12023,7 @@ class ResourcesReferencesResolverForHTML {
11203
12023
  }
11204
12024
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11205
12025
  pickedPathOfTargetResourceFile: srcAttributeValue,
11206
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12026
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11207
12027
  scriptsSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11208
12028
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: ECMA_ScriptLogicProcessingConfigRepresentative.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
11209
12029
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: ECMA_ScriptLogicProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11215,7 +12035,7 @@ class ResourcesReferencesResolverForHTML {
11215
12035
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11216
12036
  continue;
11217
12037
  }
11218
- ResourcesReferencesResolverForHTML.
12038
+ ResourcesPointersResolverForHTML.
11219
12039
  aliasedURIsAndOutputScriptsFilesAbsolutePathsCorrespondenceMap.
11220
12040
  set(srcAttributeValue, resolvedAbsolutePath);
11221
12041
  scriptElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11257,26 +12077,26 @@ class ResourcesReferencesResolverForHTML {
11257
12077
  regularExpressionWithCapturingGroups: /url\(["']?(?<possiblyAliasedPath>.+?)["']?\);?/gu,
11258
12078
  replacer: (matching) => {
11259
12079
  const possiblyAliasedPath = matching.namedCapturingGroups.possiblyAliasedPath;
11260
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12080
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11261
12081
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11262
12082
  get(possiblyAliasedPath) ??
11263
12083
  null;
11264
12084
  if ((0, es_extensions_1.isNotNull)(resolvedAbsolutePath)) {
11265
12085
  return `url("${this.buildResourceFileFinalPath(resolvedAbsolutePath)}");`;
11266
12086
  }
11267
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(possiblyAliasedPath);
12087
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(possiblyAliasedPath);
11268
12088
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11269
12089
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11270
12090
  return null;
11271
12091
  }
11272
12092
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11273
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12093
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11274
12094
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11275
12095
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11276
12096
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11277
12097
  return null;
11278
12098
  }
11279
- ResourcesReferencesResolverForHTML.
12099
+ ResourcesPointersResolverForHTML.
11280
12100
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11281
12101
  set(possiblyAliasedPath, resolvedAbsolutePath);
11282
12102
  return `url("${this.buildResourceFileFinalPath(resolvedAbsolutePath)}");`;
@@ -11286,7 +12106,7 @@ class ResourcesReferencesResolverForHTML {
11286
12106
  }
11287
12107
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11288
12108
  pickedPathOfTargetResourceFile: possiblyAliasedPath,
11289
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12109
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11290
12110
  imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11291
12111
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: imagesProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11292
12112
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: ImagesProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11296,7 +12116,7 @@ class ResourcesReferencesResolverForHTML {
11296
12116
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11297
12117
  return null;
11298
12118
  }
11299
- ResourcesReferencesResolverForHTML.
12119
+ ResourcesPointersResolverForHTML.
11300
12120
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11301
12121
  set(possiblyAliasedPath, resolvedAbsolutePath);
11302
12122
  return `url("${this.buildResourceFileFinalPath(resolvedAbsolutePath)}");`;
@@ -11312,7 +12132,7 @@ class ResourcesReferencesResolverForHTML {
11312
12132
  if (!(0, es_extensions_1.isNonEmptyString)(targetHTML_ElementAttributeValue)) {
11313
12133
  return;
11314
12134
  }
11315
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12135
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11316
12136
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11317
12137
  get(targetHTML_ElementAttributeName) ??
11318
12138
  null;
@@ -11320,19 +12140,19 @@ class ResourcesReferencesResolverForHTML {
11320
12140
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
11321
12141
  return;
11322
12142
  }
11323
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(targetHTML_ElementAttributeValue);
12143
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(targetHTML_ElementAttributeValue);
11324
12144
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11325
12145
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11326
12146
  return;
11327
12147
  }
11328
12148
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11329
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12149
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11330
12150
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11331
12151
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11332
12152
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11333
12153
  return;
11334
12154
  }
11335
- ResourcesReferencesResolverForHTML.
12155
+ ResourcesPointersResolverForHTML.
11336
12156
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11337
12157
  set(targetHTML_ElementAttributeValue, resolvedAbsolutePath);
11338
12158
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11344,7 +12164,7 @@ class ResourcesReferencesResolverForHTML {
11344
12164
  }
11345
12165
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11346
12166
  pickedPathOfTargetResourceFile: targetHTML_ElementAttributeValue,
11347
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12167
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11348
12168
  imagesSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11349
12169
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: imagesProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11350
12170
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: ImagesProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11354,7 +12174,7 @@ class ResourcesReferencesResolverForHTML {
11354
12174
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11355
12175
  return;
11356
12176
  }
11357
- ResourcesReferencesResolverForHTML.
12177
+ ResourcesPointersResolverForHTML.
11358
12178
  aliasedURIsAndOutputImagesFilesAbsolutePathsCorrespondenceMap.
11359
12179
  set(targetHTML_ElementAttributeValue, resolvedAbsolutePath);
11360
12180
  targetHTML_Element.setAttribute(targetHTML_ElementAttributeName, this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11370,7 +12190,7 @@ class ResourcesReferencesResolverForHTML {
11370
12190
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
11371
12191
  continue;
11372
12192
  }
11373
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12193
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11374
12194
  aliasedURIsAndOutputVideosFilesAbsolutePathsCorrespondenceMap.
11375
12195
  get(srcAttributeValue) ??
11376
12196
  null;
@@ -11378,19 +12198,19 @@ class ResourcesReferencesResolverForHTML {
11378
12198
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11379
12199
  continue;
11380
12200
  }
11381
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(srcAttributeValue);
12201
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(srcAttributeValue);
11382
12202
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11383
12203
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11384
12204
  continue;
11385
12205
  }
11386
12206
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11387
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12207
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11388
12208
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11389
12209
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11390
12210
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11391
12211
  continue;
11392
12212
  }
11393
- ResourcesReferencesResolverForHTML.
12213
+ ResourcesPointersResolverForHTML.
11394
12214
  aliasedURIsAndOutputVideosFilesAbsolutePathsCorrespondenceMap.
11395
12215
  set(srcAttributeValue, resolvedAbsolutePath);
11396
12216
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11401,7 +12221,7 @@ class ResourcesReferencesResolverForHTML {
11401
12221
  }
11402
12222
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11403
12223
  pickedPathOfTargetResourceFile: srcAttributeValue,
11404
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12224
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11405
12225
  videosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11406
12226
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: videosProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11407
12227
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: VideosProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11411,7 +12231,7 @@ class ResourcesReferencesResolverForHTML {
11411
12231
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11412
12232
  continue;
11413
12233
  }
11414
- ResourcesReferencesResolverForHTML.
12234
+ ResourcesPointersResolverForHTML.
11415
12235
  aliasedURIsAndOutputVideosFilesAbsolutePathsCorrespondenceMap.
11416
12236
  set(srcAttributeValue, resolvedAbsolutePath);
11417
12237
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11429,26 +12249,26 @@ class ResourcesReferencesResolverForHTML {
11429
12249
  if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
11430
12250
  continue;
11431
12251
  }
11432
- let resolvedAbsolutePath = ResourcesReferencesResolverForHTML.
12252
+ let resolvedAbsolutePath = ResourcesPointersResolverForHTML.
11433
12253
  aliasedURIsAndOutputAudiosFilesAbsolutePathsCorrespondenceMap.
11434
12254
  get(srcAttributeValue) ??
11435
12255
  null;
11436
12256
  if ((0, es_extensions_1.isNotNull)(resolvedAbsolutePath)) {
11437
12257
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
11438
12258
  }
11439
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(srcAttributeValue);
12259
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(srcAttributeValue);
11440
12260
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11441
12261
  if (!(0, es_extensions_1.isNonEmptyString)(firstSegmentOfPickedPath)) {
11442
12262
  continue;
11443
12263
  }
11444
12264
  if ((0, es_extensions_1.isNotUndefined)(this.plainCopyingSettingsRepresentative) &&
11445
- firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_ALIAS_PREFIX_1.default)) {
12265
+ firstSegmentOfPickedPath.startsWith(PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11446
12266
  resolvedAbsolutePath = this.plainCopyingSettingsRepresentative.
11447
12267
  getSourceFileAbsolutePathByAliasedPath(segmentsOfPickedPath);
11448
12268
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11449
12269
  continue;
11450
12270
  }
11451
- ResourcesReferencesResolverForHTML.
12271
+ ResourcesPointersResolverForHTML.
11452
12272
  aliasedURIsAndOutputAudiosFilesAbsolutePathsCorrespondenceMap.
11453
12273
  set(srcAttributeValue, resolvedAbsolutePath);
11454
12274
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11459,7 +12279,7 @@ class ResourcesReferencesResolverForHTML {
11459
12279
  }
11460
12280
  resolvedAbsolutePath = this.resolveOutputResourceFileAbsolutePathIfPossible({
11461
12281
  pickedPathOfTargetResourceFile: srcAttributeValue,
11462
- sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesReferencesResolverForHTML.
12282
+ sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: ResourcesPointersResolverForHTML.
11463
12283
  audiosSourceFilesGroupsTopDirectoriesAliasesAndRespectiveAbsolutePathsMap,
11464
12284
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: audiosProcessingSettingsRepresentative.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
11465
12285
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: AudiosProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap,
@@ -11469,7 +12289,7 @@ class ResourcesReferencesResolverForHTML {
11469
12289
  if ((0, es_extensions_1.isNull)(resolvedAbsolutePath)) {
11470
12290
  continue;
11471
12291
  }
11472
- ResourcesReferencesResolverForHTML.
12292
+ ResourcesPointersResolverForHTML.
11473
12293
  aliasedURIsAndOutputAudiosFilesAbsolutePathsCorrespondenceMap.
11474
12294
  set(srcAttributeValue, resolvedAbsolutePath);
11475
12295
  sourceElement.setAttribute("src", this.buildResourceFileFinalPath(resolvedAbsolutePath));
@@ -11480,15 +12300,15 @@ class ResourcesReferencesResolverForHTML {
11480
12300
  /* eslint-disable-next-line @typescript-eslint/class-methods-use-this --
11481
12301
  * The method is being used before non-static "buildResourceFileFinalPath", so in this case it has been declared first. */
11482
12302
  resolveOutputResourceFileAbsolutePathIfPossible({ pickedPathOfTargetResourceFile, sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap, supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots, sourceAndOutputFilesAbsolutePathsCorrespondenceMap, fileTypeForLogging__pluralForm }) {
11483
- const segmentsOfPickedPath = es_extensions_nodejs_1.ImprovedPath.explodePathToSegments(pickedPathOfTargetResourceFile);
12303
+ const segmentsOfPickedPath = (0, es_extensions_1.explodeURI_PathToSegments)(pickedPathOfTargetResourceFile);
11484
12304
  const firstSegmentOfPickedPath = segmentsOfPickedPath[0];
11485
12305
  if ((0, es_extensions_1.isUndefined)(firstSegmentOfPickedPath)) {
11486
12306
  return null;
11487
12307
  }
11488
- if (firstSegmentOfPickedPath.startsWith(PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default)) {
12308
+ if (firstSegmentOfPickedPath.startsWith(PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default)) {
11489
12309
  const sourceFilesTopDirectoryAbsolutePathOfCurrentAlias = sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.get(firstSegmentOfPickedPath);
11490
12310
  if ((0, es_extensions_1.isUndefined)(sourceFilesTopDirectoryAbsolutePathOfCurrentAlias)) {
11491
- es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateUnknownResourceGroupReferenceWarningLog({
12311
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolverForHTML.localization.generateUnknownResourceGroupReferenceWarningLog({
11492
12312
  fileType__pluralForm: fileTypeForLogging__pluralForm,
11493
12313
  firstPathSegment: firstSegmentOfPickedPath,
11494
12314
  pickedPathOfTargetResourceFile,
@@ -11511,7 +12331,7 @@ class ResourcesReferencesResolverForHTML {
11511
12331
  })));
11512
12332
  const searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap = (0, es_extensions_1.filterMap)(sourceAndOutputFilesAbsolutePathsCorrespondenceMap, (sourceFileAbsolutePath) => possibleAbsolutePathsOfTargetSourceFileWithoutFragment.includes(sourceFileAbsolutePath));
11513
12333
  if (searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap.size === 0) {
11514
- es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.
12334
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolverForHTML.localization.
11515
12335
  generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarningLog({
11516
12336
  pickedPathOfTargetResourceFile,
11517
12337
  fileType__singularForm: fileTypeForLogging__pluralForm,
@@ -11531,7 +12351,7 @@ class ResourcesReferencesResolverForHTML {
11531
12351
  const resolvedFileOutputAbsolutePath = sourceAndOutputFilesAbsolutePathsCorrespondenceMap.
11532
12352
  get(sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension);
11533
12353
  if ((0, es_extensions_1.isUndefined)(resolvedFileOutputAbsolutePath)) {
11534
- es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog({
12354
+ es_extensions_1.Logger.logWarning(ResourcesPointersResolverForHTML.localization.generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog({
11535
12355
  pickedPathOfTargetResourceFile,
11536
12356
  fileType__singularForm: fileTypeForLogging__pluralForm
11537
12357
  }));
@@ -11555,7 +12375,7 @@ class ResourcesReferencesResolverForHTML {
11555
12375
  });
11556
12376
  }
11557
12377
  }
11558
- exports["default"] = ResourcesReferencesResolverForHTML;
12378
+ exports["default"] = ResourcesPointersResolverForHTML;
11559
12379
 
11560
12380
 
11561
12381
  /***/ }),
@@ -11691,7 +12511,7 @@ const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @
11691
12511
  const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes */ "./ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes.ts"));
11692
12512
  /* ─── Default Settings ───────────────────────────────────────────────────────────────────────────────────────────── */
11693
12513
  const MarkupProcessingSettings__Default_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSettings__Default */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSettings__Default.ts"));
11694
- /* ─── Settings normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
12514
+ /* ─── Settings Normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
11695
12515
  const SourceCodeProcessingRawSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer */ "./ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer.ts"));
11696
12516
  const RoutingSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/RawSettingsNormalizer/RoutingSettingsNormalizer */ "./ProjectBuilding/SourceCodeProcessing/Markup/RawSettingsNormalizer/RoutingSettingsNormalizer.ts"));
11697
12517
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -11717,7 +12537,10 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11717
12537
  supportedOutputFileNameExtensionsWithoutLeadingDots: MarkupProcessingRestrictions_1.default.supportedOutputFilesNamesExtensionsWithoutLeadingDots,
11718
12538
  mustResolveResourcesReferencesToAbsolutePath: dataHoldingSelfInstance.
11719
12539
  computeMustResolveResourcesReferencesToAbsolutePathPropertyValue(),
11720
- periodBetweenFileUpdatingAndRebuildingStarting__seconds: markupProcessingSettings__fromFile__rawValid.common?.periodBetweenFileUpdatingAndRebuildingStarting__seconds ??
12540
+ secondsBetweenFileUpdatingAndStartingOfRebuilding: dataHoldingSelfInstance.markupProcessingSettings__fromFile__rawValid.
12541
+ common?.
12542
+ buildingModeDependent?.[dataHoldingSelfInstance.consumingProjectBuildingMode]?.
12543
+ secondsBetweenFileUpdatingAndStartingOfRebuilding ??
11721
12544
  MarkupProcessingSettings__Default_1.default.periodBetweenFileUpdatingAndRebuildingStarting__seconds
11722
12545
  },
11723
12546
  linting: dataHoldingSelfInstance.normalizeLintingSettings(),
@@ -11727,17 +12550,17 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11727
12550
  normalizeImportingFromTypeScriptSettings(markupProcessingSettings__fromFile__rawValid.importingFromTypeScript)
11728
12551
  } : null,
11729
12552
  staticPreview: {
11730
- stateDependentPagesVariationsSpecification: dataHoldingSelfInstance.
11731
- normalizeStaticPreviewStateDependentPageVariationsSpecification(),
12553
+ pagesVariations: dataHoldingSelfInstance.normalizeStaticPreviewPagesVariationsSettings(),
11732
12554
  importsFromStaticDataFiles: dataHoldingSelfInstance.normalizeImportsFromStaticDataFiles()
11733
12555
  },
12556
+ /* TODO Replace value of `absolutePathsOfSectioningToCache`. https://trello.com/c/RJfFF7oh */
11734
12557
  ...(0, es_extensions_1.isNotUndefined)(markupProcessingSettings__fromFile__rawValid.routing) ? {
11735
12558
  routing: {
11736
12559
  variable: markupProcessingSettings__fromFile__rawValid.routing.variable,
11737
12560
  routes: RoutingSettingsNormalizer_1.default.normalize({
11738
12561
  routingSettings__fromFile__rawValid: markupProcessingSettings__fromFile__rawValid.routing,
11739
12562
  projectRootDirectoryAbsolutePath: commonSettings__normalized.projectRootDirectoryAbsolutePath,
11740
- absolutePathsOfSectioningToCache: new Set() // TODO Replace mock
12563
+ absolutePathsOfSectioningToCache: new Set()
11741
12564
  })
11742
12565
  }
11743
12566
  } : null,
@@ -11754,7 +12577,7 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11754
12577
  computeMustResolveResourcesReferencesToAbsolutePathPropertyValue() {
11755
12578
  const explicitlySpecifiedMustResolveResourceReferencesToRelativePathsPropertyValue = this.markupProcessingSettings__fromFile__rawValid.common?.
11756
12579
  buildingModeDependent?.[this.consumingProjectBuildingMode]?.
11757
- mustResolveResourceReferencesToRelativePaths;
12580
+ mustResolveResourcesPointersToRelativePaths;
11758
12581
  if (this.consumingProjectBuildingMode === ConsumingProjectBuildingModes_1.default.staticPreview) {
11759
12582
  if (explicitlySpecifiedMustResolveResourceReferencesToRelativePathsPropertyValue === false) {
11760
12583
  es_extensions_1.Logger.logWarning(MarkupProcessingRawSettingsNormalizer.localization.
@@ -11808,130 +12631,163 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11808
12631
  nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected: importingFromTypeScriptSettings__fromFile__rawValid.nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected
11809
12632
  };
11810
12633
  }
11811
- normalizeStaticPreviewStateDependentPageVariationsSpecification() {
11812
- const staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath = this.markupProcessingSettings__fromFile__rawValid.staticPreview?.
11813
- stateDependentPagesVariationsSpecificationFileRelativePath;
11814
- if ((0, es_extensions_1.isUndefined)(staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath) ||
12634
+ normalizeStaticPreviewPagesVariationsSettings() {
12635
+ const staticPreviewPageVariationsSettings = this.markupProcessingSettings__fromFile__rawValid.staticPreview?.pagesVariations;
12636
+ const stateDependentPagesVariationsMetadata = new Map();
12637
+ if ((0, es_extensions_1.isUndefined)(staticPreviewPageVariationsSettings) ||
11815
12638
  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
- });
12639
+ return { stateDependent: stateDependentPagesVariationsMetadata };
11827
12640
  }
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 {};
11856
- }
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()"
12641
+ if ((0, es_extensions_1.isNotUndefined)(staticPreviewPageVariationsSettings.stateDependent)) {
12642
+ const variationsByStatesSpecificationFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
12643
+ this.consumingProjectRootDirectoryAbsolutePath,
12644
+ staticPreviewPageVariationsSettings.stateDependent.specificationFileRelativePath
12645
+ ], { alwaysForwardSlashSeparators: true });
12646
+ /* [ Approach ] Currently, the `RawObjectDataProcessor` thus `ObjectDataFilesProcessor` are ignoring and not keep
12647
+ * the data which validation rules has not been specified. In this case, the state dependent object is
12648
+ * such data. */
12649
+ let rawPagesStateDependentVariationsSpecification;
12650
+ try {
12651
+ rawPagesStateDependentVariationsSpecification = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
12652
+ filePath: variationsByStatesSpecificationFileAbsolutePath,
12653
+ schema: es_extensions_nodejs_1.ObjectDataFilesProcessor.SupportedSchemas.YAML,
12654
+ synchronously: true
11878
12655
  });
11879
12656
  }
11880
- if (!(0, es_extensions_1.isNonEmptyString)(stateDependentPageVariationsData.stateObjectTypeVariableName)) {
12657
+ catch (error) {
11881
12658
  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
12659
+ errorInstance: new es_extensions_1.FileReadingFailedError({
12660
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.
12661
+ generateStaticPreviewStateDependentPagesVariationsSpecificationFileReadingFailedMessage({
12662
+ staticPreviewStateDependentPagesVariationsSpecificationFileAbsolutePath: variationsByStatesSpecificationFileAbsolutePath
11887
12663
  })
11888
12664
  }),
11889
- title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12665
+ title: es_extensions_1.FileReadingFailedError.localization.defaultTitle,
11890
12666
  occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11891
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
12667
+ "normalizeStaticPreviewPagesVariationsSettings()",
12668
+ innerError: error
11892
12669
  });
11893
12670
  }
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
- }),
12671
+ if (!(0, es_extensions_1.isArbitraryObject)(rawPagesStateDependentVariationsSpecification)) {
12672
+ es_extensions_1.Logger.logError({
12673
+ errorType: es_extensions_1.InvalidExternalDataError.NAME,
11904
12674
  title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12675
+ description: es_extensions_1.PoliteErrorsMessagesBuilder.buildMessage(MarkupProcessingRawSettingsNormalizer.localization.
12676
+ generateStaticPreviewStateDependentPagesVariationsSpecificationIsNotTheObjectErrorLog({
12677
+ staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath: variationsByStatesSpecificationFileAbsolutePath,
12678
+ stringifiedRawData: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(rawPagesStateDependentVariationsSpecification),
12679
+ rawDataActualType: typeof rawPagesStateDependentVariationsSpecification
12680
+ })),
11905
12681
  occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11906
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
12682
+ "normalizeStaticPreviewPagesVariationsSettings()"
11907
12683
  });
12684
+ return {
12685
+ stateDependent: stateDependentPagesVariationsMetadata
12686
+ };
11908
12687
  }
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)) {
12688
+ for (const [markupEntryPointSourceFileRelativePath__possiblyWithoutExtension, stateDependentPageVariationsData] of Object.entries(rawPagesStateDependentVariationsSpecification)) {
12689
+ const markupEntryPointSourceFileRelativePath = (0, es_extensions_1.appendLastFileNameExtension)({
12690
+ targetPath: markupEntryPointSourceFileRelativePath__possiblyWithoutExtension,
12691
+ targetFileNameExtensionWithOrWithoutLeadingDot: "pug",
12692
+ mustAppendDuplicateEvenIfTargetLastFileNameExtensionAlreadyPresentsAtSpecifiedPath: false
12693
+ });
12694
+ if (!(0, es_extensions_1.isArbitraryObject)(stateDependentPageVariationsData)) {
12695
+ es_extensions_1.Logger.throwErrorAndLog({
12696
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12697
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.
12698
+ generateInvalidValueOfStaticPreviewStateDependentPagesVariationsSpecificationAssociativeArrayMessage({
12699
+ staticPreviewStateDependentPagesVariationsSpecificationFileRelativePath: staticPreviewPageVariationsSettings.stateDependent.specificationFileRelativePath,
12700
+ invalidEntryKey: markupEntryPointSourceFileRelativePath,
12701
+ invalidEntryValueType: typeof stateDependentPageVariationsData,
12702
+ invalidEntryStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData)
12703
+ })
12704
+ }),
12705
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12706
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12707
+ "normalizeStaticPreviewPagesVariationsSettings()"
12708
+ });
12709
+ }
12710
+ if (!(0, es_extensions_1.isNonEmptyString)(stateDependentPageVariationsData.$stateObjectTypeVariableName)) {
12711
+ es_extensions_1.Logger.throwErrorAndLog({
12712
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12713
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.generateInvalidPageStateVariableNameMessage({
12714
+ targetMarkupFileRelativePath: markupEntryPointSourceFileRelativePath,
12715
+ stringifiedValueOfSpecifiedVariableNameProperty: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData.$stateObjectTypeVariableName),
12716
+ specifiedTypeOfVariableNameProperty: typeof stateDependentPageVariationsData.$stateObjectTypeVariableName
12717
+ })
12718
+ }),
12719
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12720
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12721
+ "normalizeStaticPreviewPagesVariationsSettings()"
12722
+ });
12723
+ }
12724
+ if (!(0, es_extensions_1.isArbitraryObject)(stateDependentPageVariationsData.$stateDependentVariations)) {
11914
12725
  es_extensions_1.Logger.throwErrorAndLog({
11915
12726
  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
12727
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.
12728
+ generateInvalidPageStateDependentVariationsSpecificationMessage({
12729
+ targetMarkupFileRelativePath: markupEntryPointSourceFileRelativePath,
12730
+ actualType: typeof stateDependentPageVariationsData.$stateDependentVariations,
12731
+ actualStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateDependentPageVariationsData.$stateDependentVariations)
11920
12732
  })
11921
12733
  }),
11922
12734
  title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
11923
12735
  occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
11924
- "normalizeStaticPreviewStateDependentPageVariationsSpecification()"
12736
+ "normalizeStaticPreviewPagesVariationsSettings()"
11925
12737
  });
11926
12738
  }
11927
- derivedPagesAndStatesMap[derivedFileAbsolutePath] = state;
12739
+ const markupSourceFileFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, markupEntryPointSourceFileRelativePath], { alwaysForwardSlashSeparators: true });
12740
+ const derivedPagesAndStatesMap = new Map();
12741
+ for (const [fineNamePostfix, stateData] of Object.entries(stateDependentPageVariationsData.$stateDependentVariations)) {
12742
+ const derivedFileAbsolutePath = `${(0, es_extensions_1.removeAllFileNameExtensions)(markupSourceFileFileAbsolutePath)}${fineNamePostfix}.pug`;
12743
+ if (!(0, es_extensions_1.isArbitraryObject)(stateData)) {
12744
+ es_extensions_1.Logger.throwErrorAndLog({
12745
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12746
+ customMessage: MarkupProcessingRawSettingsNormalizer.localization.generateInvalidPageStateVariableMessage({
12747
+ targetMarkupFileRelativePath: markupEntryPointSourceFileRelativePath,
12748
+ actualStringifiedValue: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(stateData),
12749
+ actualType: typeof stateData
12750
+ })
12751
+ }),
12752
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12753
+ occurrenceLocation: "MarkupProcessingRawSettingsNormalizer." +
12754
+ "normalizeStaticPreviewPagesVariationsSettings()"
12755
+ });
12756
+ }
12757
+ derivedPagesAndStatesMap.set(derivedFileAbsolutePath, stateData);
12758
+ }
12759
+ stateDependentPagesVariationsMetadata.set(es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, markupEntryPointSourceFileRelativePath], { alwaysForwardSlashSeparators: true }), {
12760
+ stateVariableName: stateDependentPageVariationsData.$stateObjectTypeVariableName,
12761
+ derivedPagesAndStatesMap
12762
+ });
11928
12763
  }
11929
- staticPreviewStateDependentPageVariationsData[markupSourceFileFileAbsolutePath] = {
11930
- stateVariableName: stateDependentPageVariationsData.stateObjectTypeVariableName,
11931
- derivedPagesAndStatesMap
11932
- };
11933
12764
  }
11934
- return staticPreviewStateDependentPageVariationsData;
12765
+ if ((0, es_extensions_1.isUndefined)(staticPreviewPageVariationsSettings.localeDependent)) {
12766
+ return { stateDependent: stateDependentPagesVariationsMetadata };
12767
+ }
12768
+ const stringResources = this.getStringResourcesFromFileIfExist(staticPreviewPageVariationsSettings.localeDependent.stringResourcesFileRelativePath);
12769
+ const localeDependentPagesVariationsMetadata = {
12770
+ localizedStringResourcesConstantName: staticPreviewPageVariationsSettings.localeDependent.
12771
+ localizedStringResourcesConstantName,
12772
+ localeVariableName: staticPreviewPageVariationsSettings.localeDependent.localeVariableName,
12773
+ locales: new Map(Object.entries(staticPreviewPageVariationsSettings.localeDependent.locales).
12774
+ map(([localeKey, localeData]) => [
12775
+ localeKey,
12776
+ {
12777
+ ...(0, es_extensions_1.isNotNull)(stringResources) && (0, es_extensions_1.isNotUndefined)(localeData.keyInLocalizedStringResourcesObject) ?
12778
+ { stringResources: stringResources[localeData.keyInLocalizedStringResourcesObject] } : null,
12779
+ ...(0, es_extensions_1.isNotUndefined)(localeData.localeVariableValue) ?
12780
+ { localeVariableValue: localeData.localeVariableValue } : null,
12781
+ outputFileInterimNameExtensionWithoutDot: localeData.outputFileInterimNameExtensionWithoutDot
12782
+ }
12783
+ ])),
12784
+ excludedFilesAbsolutePaths: staticPreviewPageVariationsSettings.localeDependent.excludedFilesRelativePaths?.
12785
+ map((excludedFileRelativePath) => es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, excludedFileRelativePath], { alwaysForwardSlashSeparators: true })) ?? []
12786
+ };
12787
+ return {
12788
+ stateDependent: stateDependentPagesVariationsMetadata,
12789
+ localeDependent: localeDependentPagesVariationsMetadata
12790
+ };
11935
12791
  }
11936
12792
  normalizeImportsFromStaticDataFiles() {
11937
12793
  const importsFromStaticDataFiles = {};
@@ -11961,9 +12817,11 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11961
12817
  }
11962
12818
  completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings(entryPointsGroupGenericSettings__normalized, entryPointsGroupSettings__rawValid) {
11963
12819
  const settingsActualForCurrentProjectBuildingMode = entryPointsGroupSettings__rawValid.buildingModeDependent[this.consumingProjectBuildingMode];
12820
+ const outputFormat = entryPointsGroupSettings__rawValid.outputFormat ??
12821
+ MarkupProcessingSettings__Default_1.default.outputFormat;
11964
12822
  return {
11965
12823
  ...entryPointsGroupGenericSettings__normalized,
11966
- outputFormat: entryPointsGroupSettings__rawValid.outputFormat ?? MarkupProcessingSettings__Default_1.default.outputFormat,
12824
+ outputFormat,
11967
12825
  HTML_Validation: {
11968
12826
  mustExecute: entryPointsGroupSettings__rawValid.HTML_Validation?.disable === true ? false :
11969
12827
  MarkupProcessingSettings__Default_1.default.HTML_Validation.mustExecute,
@@ -11999,11 +12857,72 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11999
12857
  }
12000
12858
  },
12001
12859
  outputCodeFormatting: {
12002
- mustExecute: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.disable === true ? false :
12003
- MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustExecute(this.consumingProjectBuildingMode)
12860
+ mustExecute: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.enable === true ?
12861
+ true :
12862
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustExecute({
12863
+ consumingProjectBuildingMode: this.consumingProjectBuildingMode,
12864
+ outputFormat
12865
+ }),
12866
+ indentationString: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.indentationString ??
12867
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.indentationString,
12868
+ lineSeparators: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.lineSeparators ??
12869
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.lineSeparators,
12870
+ mustGuaranteeTrailingEmptyLine: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.mustGuaranteeTrailingEmptyLine ??
12871
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustGuaranteeTrailingEmptyLine,
12872
+ mustIndentHeadAndBodyTags: settingsActualForCurrentProjectBuildingMode.outputCodeFormatting?.mustIndentHeadAndBodyTags ??
12873
+ MarkupProcessingSettings__Default_1.default.outputCodeFormatting.mustIndentHeadAndBodyTags
12874
+ },
12875
+ outputCodeMinifying: {
12876
+ mustExecute: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.enable === true ?
12877
+ true :
12878
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.mustExecute({
12879
+ consumingProjectBuildingMode: this.consumingProjectBuildingMode,
12880
+ outputFormat
12881
+ }),
12882
+ attributesExtraWhitespacesCollapsing: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.attributesExtraWhitespacesCollapsing ??
12883
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.attributesExtraWhitespacesCollapsing,
12884
+ attributesValuesDeduplication: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.attributesValuesDeduplication ??
12885
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.attributesValuesDeduplication,
12886
+ commentsRemoving: settingsActualForCurrentProjectBuildingMode.outputCodeMinifying?.commentsRemoving ??
12887
+ MarkupProcessingSettings__Default_1.default.outputCodeMinifying.commentsRemoving
12004
12888
  }
12005
12889
  };
12006
12890
  }
12891
+ getStringResourcesFromFileIfExist(stringResourcesFileRelativePath) {
12892
+ if ((0, es_extensions_1.isUndefined)(stringResourcesFileRelativePath)) {
12893
+ return null;
12894
+ }
12895
+ const stringResourcesFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, stringResourcesFileRelativePath], { alwaysForwardSlashSeparators: true });
12896
+ let stringResources;
12897
+ try {
12898
+ stringResources = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
12899
+ filePath: stringResourcesFileAbsolutePath,
12900
+ synchronously: true
12901
+ });
12902
+ }
12903
+ catch (error) {
12904
+ es_extensions_1.Logger.throwErrorAndLog({
12905
+ errorInstance: new es_extensions_1.FileReadingFailedError({
12906
+ customMessage: `Unable to read the file with string resources at "${stringResourcesFileAbsolutePath}".`
12907
+ }),
12908
+ title: es_extensions_1.FileReadingFailedError.localization.defaultTitle,
12909
+ occurrenceLocation: "markupProcessingRawSettingsNormalizer." +
12910
+ "getStringResourcesFromFileIfExist(stringResourcesFileRelativePath)",
12911
+ innerError: error
12912
+ });
12913
+ }
12914
+ if (!(0, es_extensions_1.isArbitraryObject)(stringResources)) {
12915
+ es_extensions_1.Logger.throwErrorAndLog({
12916
+ errorInstance: new es_extensions_1.InvalidExternalDataError({
12917
+ customMessage: `The content of string resources files "${stringResourcesFileAbsolutePath}" is not an object.`
12918
+ }),
12919
+ title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
12920
+ occurrenceLocation: "markupProcessingRawSettingsNormalizer." +
12921
+ "getStringResourcesFromFileIfExist(stringResourcesFileRelativePath)",
12922
+ });
12923
+ }
12924
+ return stringResources;
12925
+ }
12007
12926
  normalizeLoggingSettings() {
12008
12927
  return {
12009
12928
  filesPaths: this.markupProcessingSettings__fromFile__rawValid.logging?.filesPaths ??
@@ -13107,7 +14026,10 @@ class StylesProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
13107
14026
  common: {
13108
14027
  supportedSourceFileNameExtensionsWithoutLeadingDots: StylesProcessingRestrictions_1.default.supportedSourceFilesNamesExtensionsWithoutLeadingDots,
13109
14028
  supportedOutputFileNameExtensionsWithoutLeadingDots: StylesProcessingRestrictions_1.default.supportedOutputFilesNamesExtensionsWithoutLeadingDots,
13110
- waitingForSubsequentFilesWillBeSavedPeriod__seconds: stylesProcessingSettings__fromFile__rawValid.common?.periodBetweenFileUpdatingAndRebuildingStarting__seconds ??
14029
+ secondsBetweenFileUpdatingAndStartingOfRebuilding: stylesProcessingSettings__fromFile__rawValid.
14030
+ common?.
14031
+ buildingModeDependent?.[dataHoldingSelfInstance.consumingProjectBuildingMode]?.
14032
+ secondsBetweenFileUpdatingAndStartingOfRebuilding ??
13111
14033
  StylesProcessingSettings__Default_1.default.periodBetweenFileUpdatingAndRebuildingStarting__seconds
13112
14034
  },
13113
14035
  linting: (0, es_extensions_1.isUndefined)(stylesProcessingSettings__fromFile__rawValid.linting) ?
@@ -13198,7 +14120,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13198
14120
  };
13199
14121
  Object.defineProperty(exports, "__esModule", ({ value: true }));
13200
14122
  /* ─── 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"));
14123
+ 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
14124
  const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative.ts"));
13203
14125
  class StylesProcessingSettingsRepresentative extends GulpStreamBasedSourceCodeProcessingConfigRepresentative_1.default {
13204
14126
  /* [ Theory ] Below two fields could be even or not. */
@@ -13224,9 +14146,9 @@ class StylesProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
13224
14146
  this.actualFileNameExtensionsWithoutLeadingDots = normalizedStylesProcessingSettings.common.
13225
14147
  supportedSourceFileNameExtensionsWithoutLeadingDots;
13226
14148
  this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = normalizedStylesProcessingSettings.common.
13227
- waitingForSubsequentFilesWillBeSavedPeriod__seconds;
14149
+ secondsBetweenFileUpdatingAndStartingOfRebuilding;
13228
14150
  this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
13229
- `${PROCESSABLE_FILE_REFERENCE_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
14151
+ `${PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
13230
14152
  entryPointsGroupSettings
13231
14153
  ]));
13232
14154
  }
@@ -13289,6 +14211,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13289
14211
  return (mod && mod.__esModule) ? mod : { "default": mod };
13290
14212
  };
13291
14213
  Object.defineProperty(exports, "__esModule", ({ value: true }));
14214
+ /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
14215
+ const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes */ "./ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes.ts"));
13292
14216
  /* ─── Raw Valid Settings ─────────────────────────────────────────────────────────────────────────────────────────── */
13293
14217
  const SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding:Common/RawConfig/SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid */ "./ProjectBuilding/Common/RawConfig/SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid.ts"));
13294
14218
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -13297,20 +14221,51 @@ var StylesProcessingSettings__FromFile__RawValid;
13297
14221
  (function (StylesProcessingSettings__FromFile__RawValid) {
13298
14222
  function getLocalizedPropertiesSpecification({ stylesProcessingPropertiesLocalization, localizedConsumingProjectLocalizedPreDefinedBuildingModes, lintingSettingsLocalizedPropertiesSpecification, revisioningSettingsLocalizedPropertiesSpecification, sourceCodeProcessingSettingsGenericPropertiesLocalization, entryPointsGroupBuildingModeDependentOutputGenericSettingsLocalizedPropertiesSpecification }) {
13299
14223
  return {
13300
- [stylesProcessingPropertiesLocalization.common.KEY]: {
14224
+ $common: {
13301
14225
  newName: "common",
14226
+ preValidationModifications: es_extensions_1.nullToUndefined,
13302
14227
  type: Object,
13303
14228
  required: false,
13304
- preValidationModifications: es_extensions_1.nullToUndefined,
13305
14229
  properties: {
13306
- [stylesProcessingPropertiesLocalization.common.periodBetweenFileUpdatingAndRebuildingStarting__seconds.KEY]: {
13307
- newName: "periodBetweenFileUpdatingAndRebuildingStarting__seconds",
13308
- type: Number,
14230
+ $buildingModeDependent: {
14231
+ newName: "buildingModeDependent",
14232
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
13309
14233
  required: false,
13310
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
14234
+ minimalEntriesCount: 1,
14235
+ allowedKeys: [
14236
+ "$staticPreview",
14237
+ "$localDevelopment",
14238
+ "$testing",
14239
+ "$staging",
14240
+ "$production"
14241
+ ],
14242
+ keysRenamings: {
14243
+ $staticPreview: ConsumingProjectBuildingModes_1.default.staticPreview,
14244
+ $localDevelopment: ConsumingProjectBuildingModes_1.default.localDevelopment,
14245
+ $testing: ConsumingProjectBuildingModes_1.default.testing,
14246
+ $staging: ConsumingProjectBuildingModes_1.default.staging,
14247
+ $production: ConsumingProjectBuildingModes_1.default.production
14248
+ },
14249
+ value: {
14250
+ type: Object,
14251
+ properties: {
14252
+ $secondsBetweenFileUpdatingAndStartingOfRebuilding: {
14253
+ newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
14254
+ type: Number,
14255
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
14256
+ required: false
14257
+ },
14258
+ $mustResolveResourceReferencesToRelativePaths: {
14259
+ newName: "mustResolveResourceReferencesToRelativePaths",
14260
+ type: Boolean,
14261
+ required: false
14262
+ }
14263
+ }
14264
+ }
13311
14265
  }
13312
14266
  }
13313
14267
  },
14268
+ // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
13314
14269
  [stylesProcessingPropertiesLocalization.linting.KEY]: {
13315
14270
  newName: "linting",
13316
14271
  type: Object,
@@ -13439,6 +14394,7 @@ const DotYDA_DirectoryManager_1 = __importDefault(__webpack_require__(/*! @Utils
13439
14394
  const StylesEntryPointVinylFile_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesEntryPointVinylFile */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesEntryPointVinylFile.ts"));
13440
14395
  const FileNameRevisionPostfixer_1 = __importDefault(__webpack_require__(/*! @Utils/FileNameRevisionPostfixer */ "./Utils/FileNameRevisionPostfixer.ts"));
13441
14396
  const ContainerQueriesSyntaxNormalizerForStylus_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/Plugins/ContainerQueriesSyntaxNormalizerForStylus/ContainerQueriesSyntaxNormalizerForStylus */ "./ProjectBuilding/SourceCodeProcessing/Styles/Plugins/ContainerQueriesSyntaxNormalizerForStylus/ContainerQueriesSyntaxNormalizerForStylus.ts"));
14397
+ const ResourcesPointersResolverForCSS_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Plugins/ResourcesPointersResolverForCSS */ "./ProjectBuilding/Common/Plugins/ResourcesPointersResolverForCSS.ts"));
13442
14398
  /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
13443
14399
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
13444
14400
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
@@ -13553,7 +14509,7 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13553
14509
  this.projectBuildingMasterConfigRepresentative.isLocalDevelopmentBuildingMode, gulp_sourcemaps_1.default.write())).
13554
14510
  pipe(GulpStreamModifier_1.default.modify({
13555
14511
  onStreamStartedEventHandlersForSpecificFileTypes: new Map([
13556
- [StylesEntryPointVinylFile_1.default, StylesProcessor.onOutputCSS_FileReady]
14512
+ [StylesEntryPointVinylFile_1.default, this.onOutputCSS_FileReady.bind(this)]
13557
14513
  ])
13558
14514
  })).
13559
14515
  pipe(gulp_1.default.dest((targetFile) => StylesEntryPointVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFile)));
@@ -13586,8 +14542,8 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13586
14542
  delete(targetEntryPointFileAbsolutePath);
13587
14543
  }
13588
14544
  /* ━━━ Pipeline methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
13589
- /* eslint-disable-next-line @typescript-eslint/member-ordering --
13590
- * メソッドに依って「this」が必要に成ったり不要に成ったりしているが、メソッドは論理的な順番通り並べてある */
14545
+ /* eslint-disable @typescript-eslint/member-ordering --
14546
+ * From now, static and non-static methods are following by the usage order. */
13591
14547
  async replacePlainVinylFileWithStylesEntryPointVinylFile(plainVinylFile, addNewFileToStream) {
13592
14548
  addNewFileToStream(new StylesEntryPointVinylFile_1.default({
13593
14549
  initialPlainVinylFile: plainVinylFile,
@@ -13596,7 +14552,7 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13596
14552
  }));
13597
14553
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
13598
14554
  }
13599
- static async onOutputCSS_FileReady(processedEntryPointVinylFile) {
14555
+ async onOutputCSS_FileReady(processedEntryPointVinylFile) {
13600
14556
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.revisioning.mustExecute) {
13601
14557
  FileNameRevisionPostfixer_1.default.appendPostfixIfPossible(processedEntryPointVinylFile, {
13602
14558
  contentHashPostfixSeparator: processedEntryPointVinylFile.actualEntryPointsGroupSettings.revisioning.
@@ -13606,6 +14562,19 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
13606
14562
  StylesProcessingSharedState_1.default.
13607
14563
  entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.
13608
14564
  set(processedEntryPointVinylFile.sourceAbsolutePath, es_extensions_nodejs_1.ImprovedPath.joinPathSegments([processedEntryPointVinylFile.outputDirectoryAbsolutePath, processedEntryPointVinylFile.basename], { alwaysForwardSlashSeparators: true }));
14565
+ let entryPointFileContent = processedEntryPointVinylFile.stringifiedContents;
14566
+ entryPointFileContent = ResourcesPointersResolverForCSS_1.default.resolve({
14567
+ CSS_Code: entryPointFileContent,
14568
+ absolutePathOfOutputDirectoryForParentFile: processedEntryPointVinylFile.outputDirectoryAbsolutePath,
14569
+ projectBuildingMasterConfigRepresentative: this.projectBuildingMasterConfigRepresentative,
14570
+ logging: {
14571
+ parentFileAbsolutePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
14572
+ processedEntryPointVinylFile.outputDirectoryAbsolutePath,
14573
+ processedEntryPointVinylFile.basename
14574
+ ], { alwaysForwardSlashSeparators: true })
14575
+ }
14576
+ });
14577
+ processedEntryPointVinylFile.setContents(entryPointFileContent);
13609
14578
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
13610
14579
  }
13611
14580
  }
@@ -14153,84 +15122,6 @@ class WebpackSpecialist {
14153
15122
  exports["default"] = WebpackSpecialist;
14154
15123
 
14155
15124
 
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
15125
  /***/ }),
14235
15126
 
14236
15127
  /***/ "./Utils/DotYDA_DirectoryManager.ts":
@@ -15188,6 +16079,94 @@ function extractStringifiedContentFromVinylFile(targetFile) {
15188
16079
  }
15189
16080
 
15190
16081
 
16082
+ /***/ }),
16083
+
16084
+ /***/ "./UtilsIncubator/Stopwatch.ts":
16085
+ /*!*************************************!*\
16086
+ !*** ./UtilsIncubator/Stopwatch.ts ***!
16087
+ \*************************************/
16088
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16089
+
16090
+
16091
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16092
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
16093
+ class Stopwatch {
16094
+ activationUnixTimestamp__milliseconds = 0;
16095
+ deactivationUnixTimestamp__milliseconds = 0;
16096
+ startOrRestart() {
16097
+ if (this.activationUnixTimestamp__milliseconds === 0) {
16098
+ this.activationUnixTimestamp__milliseconds = Date.now();
16099
+ }
16100
+ return this;
16101
+ }
16102
+ stop() {
16103
+ this.deactivationUnixTimestamp__milliseconds = Date.now();
16104
+ const amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds = this.deactivationUnixTimestamp__milliseconds - this.activationUnixTimestamp__milliseconds;
16105
+ return {
16106
+ seconds: (0, es_extensions_1.millisecondsToSeconds)(amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds),
16107
+ milliseconds: amountOfTimeElapsesBetweenActivationAndDeactivation__milliseconds
16108
+ };
16109
+ }
16110
+ reset() {
16111
+ this.activationUnixTimestamp__milliseconds = 0;
16112
+ this.deactivationUnixTimestamp__milliseconds = 0;
16113
+ }
16114
+ }
16115
+ exports["default"] = Stopwatch;
16116
+
16117
+
16118
+ /***/ }),
16119
+
16120
+ /***/ "./UtilsIncubator/Strings/addPenultimateFileNameExtension.ts":
16121
+ /*!*******************************************************************!*\
16122
+ !*** ./UtilsIncubator/Strings/addPenultimateFileNameExtension.ts ***!
16123
+ \*******************************************************************/
16124
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16125
+
16126
+
16127
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16128
+ exports["default"] = addPenultimateFileNameExtension;
16129
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
16130
+ function addPenultimateFileNameExtension({ targetPath, targetFileNamePenultimateExtensionWithOrWithoutLeadingDot, mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist }) {
16131
+ const targetFileNamePenultimateExtensionWithoutLeadingDot = (0, es_extensions_1.removeSpecificCharacterFromCertainPosition)({
16132
+ targetString: targetFileNamePenultimateExtensionWithOrWithoutLeadingDot,
16133
+ targetCharacter: ".",
16134
+ fromFirstPosition: true
16135
+ });
16136
+ if (!targetPath.includes(".")) {
16137
+ const { updatedString: targetPathWihtoutFragment, extractedMatching: targetPathFragmentWithLeadingHash } = (0, es_extensions_1.extractMatchingsWithRegularExpression)(targetPath, /#.+$/u, { mustExpectOneOrZeroMatchings: true });
16138
+ return mustAppendDuplicateEvenIfTargetPenultimateFileNameExtensionAlreadyExist ?
16139
+ `${targetPathWihtoutFragment}.${targetFileNamePenultimateExtensionWithoutLeadingDot}` +
16140
+ targetPathFragmentWithLeadingHash :
16141
+ targetPath;
16142
+ }
16143
+ const pathDotSeparatedSegments = (0, es_extensions_1.splitString)(targetPath, ".");
16144
+ return (0, es_extensions_1.addElementsToArray)({
16145
+ targetArray: pathDotSeparatedSegments,
16146
+ newElements: [targetFileNamePenultimateExtensionWithoutLeadingDot],
16147
+ mutably: true,
16148
+ toPosition__numerationFrom1: pathDotSeparatedSegments.length
16149
+ }).join(".");
16150
+ }
16151
+
16152
+
16153
+ /***/ }),
16154
+
16155
+ /***/ "./UtilsIncubator/Strings/replaceLinesSeparators.ts":
16156
+ /*!**********************************************************!*\
16157
+ !*** ./UtilsIncubator/Strings/replaceLinesSeparators.ts ***!
16158
+ \**********************************************************/
16159
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
16160
+
16161
+
16162
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16163
+ exports["default"] = replaceLinesSeparators;
16164
+ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
16165
+ function replaceLinesSeparators(targetString, lineSeparators) {
16166
+ return (0, es_extensions_1.explodeStringToLines)({ targetString, mustIgnoreCarriageReturn: false }).join(lineSeparators);
16167
+ }
16168
+
16169
+
15191
16170
  /***/ }),
15192
16171
 
15193
16172
  /***/ "@yamato-daiwa/es-extensions":
@@ -15230,6 +16209,16 @@ module.exports = require("browser-sync");
15230
16209
 
15231
16210
  /***/ }),
15232
16211
 
16212
+ /***/ "chalk":
16213
+ /*!************************!*\
16214
+ !*** external "chalk" ***!
16215
+ \************************/
16216
+ /***/ ((module) => {
16217
+
16218
+ module.exports = require("chalk");
16219
+
16220
+ /***/ }),
16221
+
15233
16222
  /***/ "cssnano":
15234
16223
  /*!**************************!*\
15235
16224
  !*** external "cssnano" ***!
@@ -15240,6 +16229,16 @@ module.exports = require("cssnano");
15240
16229
 
15241
16230
  /***/ }),
15242
16231
 
16232
+ /***/ "dotenv":
16233
+ /*!*************************!*\
16234
+ !*** external "dotenv" ***!
16235
+ \*************************/
16236
+ /***/ ((module) => {
16237
+
16238
+ module.exports = require("dotenv");
16239
+
16240
+ /***/ }),
16241
+
15243
16242
  /***/ "eslint":
15244
16243
  /*!*************************!*\
15245
16244
  !*** external "eslint" ***!
@@ -15250,6 +16249,16 @@ module.exports = require("eslint");
15250
16249
 
15251
16250
  /***/ }),
15252
16251
 
16252
+ /***/ "fancy-log":
16253
+ /*!****************************!*\
16254
+ !*** external "fancy-log" ***!
16255
+ \****************************/
16256
+ /***/ ((module) => {
16257
+
16258
+ module.exports = require("fancy-log");
16259
+
16260
+ /***/ }),
16261
+
15253
16262
  /***/ "fork-ts-checker-webpack-plugin":
15254
16263
  /*!*************************************************!*\
15255
16264
  !*** external "fork-ts-checker-webpack-plugin" ***!
@@ -15260,6 +16269,16 @@ module.exports = require("fork-ts-checker-webpack-plugin");
15260
16269
 
15261
16270
  /***/ }),
15262
16271
 
16272
+ /***/ "fs":
16273
+ /*!*********************!*\
16274
+ !*** external "fs" ***!
16275
+ \*********************/
16276
+ /***/ ((module) => {
16277
+
16278
+ module.exports = require("fs");
16279
+
16280
+ /***/ }),
16281
+
15263
16282
  /***/ "gulp":
15264
16283
  /*!***********************!*\
15265
16284
  !*** external "gulp" ***!
@@ -15280,16 +16299,6 @@ module.exports = require("gulp-data");
15280
16299
 
15281
16300
  /***/ }),
15282
16301
 
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
16302
  /***/ "gulp-if":
15294
16303
  /*!**************************!*\
15295
16304
  !*** external "gulp-if" ***!
@@ -15380,6 +16389,16 @@ module.exports = require("imagemin-pngquant");
15380
16389
 
15381
16390
  /***/ }),
15382
16391
 
16392
+ /***/ "js-beautify":
16393
+ /*!******************************!*\
16394
+ !*** external "js-beautify" ***!
16395
+ \******************************/
16396
+ /***/ ((module) => {
16397
+
16398
+ module.exports = require("js-beautify");
16399
+
16400
+ /***/ }),
16401
+
15383
16402
  /***/ "node-html-parser":
15384
16403
  /*!***********************************!*\
15385
16404
  !*** external "node-html-parser" ***!
@@ -15400,6 +16419,36 @@ module.exports = require("node-notifier");
15400
16419
 
15401
16420
  /***/ }),
15402
16421
 
16422
+ /***/ "node:crypto":
16423
+ /*!******************************!*\
16424
+ !*** external "node:crypto" ***!
16425
+ \******************************/
16426
+ /***/ ((module) => {
16427
+
16428
+ module.exports = require("node:crypto");
16429
+
16430
+ /***/ }),
16431
+
16432
+ /***/ "node:util":
16433
+ /*!****************************!*\
16434
+ !*** external "node:util" ***!
16435
+ \****************************/
16436
+ /***/ ((module) => {
16437
+
16438
+ module.exports = require("node:util");
16439
+
16440
+ /***/ }),
16441
+
16442
+ /***/ "os":
16443
+ /*!*********************!*\
16444
+ !*** external "os" ***!
16445
+ \*********************/
16446
+ /***/ ((module) => {
16447
+
16448
+ module.exports = require("os");
16449
+
16450
+ /***/ }),
16451
+
15403
16452
  /***/ "pa11y":
15404
16453
  /*!************************!*\
15405
16454
  !*** external "pa11y" ***!
@@ -15410,6 +16459,16 @@ module.exports = require("pa11y");
15410
16459
 
15411
16460
  /***/ }),
15412
16461
 
16462
+ /***/ "path":
16463
+ /*!***********************!*\
16464
+ !*** external "path" ***!
16465
+ \***********************/
16466
+ /***/ ((module) => {
16467
+
16468
+ module.exports = require("path");
16469
+
16470
+ /***/ }),
16471
+
15413
16472
  /***/ "probe-image-size":
15414
16473
  /*!***********************************!*\
15415
16474
  !*** external "probe-image-size" ***!
@@ -15450,6 +16509,26 @@ module.exports = require("puppeteer");
15450
16509
 
15451
16510
  /***/ }),
15452
16511
 
16512
+ /***/ "slash":
16513
+ /*!************************!*\
16514
+ !*** external "slash" ***!
16515
+ \************************/
16516
+ /***/ ((module) => {
16517
+
16518
+ module.exports = require("slash");
16519
+
16520
+ /***/ }),
16521
+
16522
+ /***/ "stream":
16523
+ /*!*************************!*\
16524
+ !*** external "stream" ***!
16525
+ \*************************/
16526
+ /***/ ((module) => {
16527
+
16528
+ module.exports = require("stream");
16529
+
16530
+ /***/ }),
16531
+
15453
16532
  /***/ "stream-combiner2":
15454
16533
  /*!***********************************!*\
15455
16534
  !*** external "stream-combiner2" ***!
@@ -15460,6 +16539,16 @@ module.exports = require("stream-combiner2");
15460
16539
 
15461
16540
  /***/ }),
15462
16541
 
16542
+ /***/ "superagent":
16543
+ /*!*****************************!*\
16544
+ !*** external "superagent" ***!
16545
+ \*****************************/
16546
+ /***/ ((module) => {
16547
+
16548
+ module.exports = require("superagent");
16549
+
16550
+ /***/ }),
16551
+
15463
16552
  /***/ "typescript":
15464
16553
  /*!*****************************!*\
15465
16554
  !*** external "typescript" ***!
@@ -15490,16 +16579,6 @@ module.exports = require("vue-loader");
15490
16579
 
15491
16580
  /***/ }),
15492
16581
 
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
16582
  /***/ "webpack":
15504
16583
  /*!**************************!*\
15505
16584
  !*** external "webpack" ***!
@@ -15528,102 +16607,6 @@ module.exports = require("webpack-node-externals");
15528
16607
 
15529
16608
  module.exports = require("webpack-stream");
15530
16609
 
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
16610
  /***/ })
15628
16611
 
15629
16612
  /******/ });
@@ -15688,7 +16671,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","ve
15688
16671
  /******/ // This entry module is referenced by other modules so it can't be inlined
15689
16672
  /******/ var __webpack_exports__ = __webpack_require__("./EntryPoint.ts");
15690
16673
  /******/ var __webpack_export_target__ = exports;
15691
- /******/ for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
16674
+ /******/ for(var __webpack_i__ in __webpack_exports__) __webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
15692
16675
  /******/ if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
15693
16676
  /******/
15694
16677
  /******/ })()