@yamato-daiwa/automation 0.9.0-alpha.0 → 0.9.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/EntryPoint.js +213 -55
  2. package/package.json +20 -20
package/EntryPoint.js CHANGED
@@ -34,7 +34,7 @@ function revisionHash(data) {
34
34
  \***********************/
35
35
  /***/ ((module) => {
36
36
 
37
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.9.0-alpha.0","description":"The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.","keywords":["build","pug","stylus","tool","typescript"],"engines":{"node":">=20.0.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@eslint-community/eslint-plugin-eslint-comments":"4.5.0","@stylistic/eslint-plugin":"5.4.0","@typescript-eslint/eslint-plugin":"8.46.1","@typescript-eslint/parser":"8.46.1","@vue/compiler-sfc":"3.5.22","@webdiscus/pug-loader":"2.11.1","@yamato-daiwa/es-extensions":"1.8.1","@yamato-daiwa/es-extensions-nodejs":"1.8.1","@yamato-daiwa/style_guides":"0.10.1","@yamato-daiwa/universal-reactive-webpack-loader":"0.0.0","autoprefixer":"10.4.21","browser-sync":"3.0.4","css-loader":"7.1.2","cssnano":"7.1.1","dotenv":"17.2.3","eslint":"9.38.0","eslint-plugin-import":"2.32.0","eslint-plugin-n":"17.23.1","eslint-plugin-react":"7.37.5","eslint-plugin-vue":"9.33.0","eslint-plugin-vue-pug":"0.6.2","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","htmlnano":"2.1.5","imagemin-pngquant":"9.0.2","js-beautify":"1.15.4","json5-loader":"4.0.1","nanoid":"5.1.6","node-html-parser":"7.0.1","node-notifier":"10.0.1","pa11y":"9.0.1","postcss-loader":"8.2.0","postcss-normalize-stylus-compatible-container-query-syntax":"1.1.0","probe-image-size":"7.2.3","pug-lint":"2.7.0","puppeteer":"24.10.0","require-from-string":"2.0.2","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.2","ts-loader":"9.5.4","vinyl":"2.2.1","vnu-jar":"24.10.17","vue-loader":"17.4.2","vue-style-loader":"4.1.3","vue-tsc":"3.1.1","webpack":"5.102.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-if":"3.0.5","@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.15.30","@types/node-notifier":"8.0.5","@types/pa11y":"5.3.7","@types/probe-image-size":"7.2.5","@types/pug":"2.0.10","@types/require-from-string":"1.2.3","@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.9.3","webpack-cli":"6.0.1"},"scripts":{"Incremental Development Building":"webpack --mode development","Production Building":"webpack --mode production","Linting":"eslint Source"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation.git"},"homepage":"https://automation.yamato-daiwa.com/","funding":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation?sponsor=1","bugs":{"url":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation/issues","email":"tokugawa.takesi@gmail.com"}}');
37
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.9.0-alpha.2","description":"The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.","keywords":["build","pug","stylus","tool","typescript"],"engines":{"node":">=20.0.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@eslint-community/eslint-plugin-eslint-comments":"4.5.0","@stylistic/eslint-plugin":"5.6.1","@typescript-eslint/eslint-plugin":"8.51.0","@typescript-eslint/parser":"8.51.0","@vue/compiler-sfc":"3.5.26","@webdiscus/pug-loader":"2.11.1","@yamato-daiwa/es-extensions":"1.8.4","@yamato-daiwa/es-extensions-nodejs":"1.8.4","@yamato-daiwa/style_guides":"0.11.6","@yamato-daiwa/universal-reactive-webpack-loader":"0.1.0","autoprefixer":"10.4.23","browser-sync":"3.0.4","css-loader":"7.1.2","cssnano":"7.1.2","dotenv":"17.2.3","eslint":"9.39.2","eslint-plugin-import":"2.32.0","eslint-plugin-n":"17.23.1","eslint-plugin-react":"7.37.5","eslint-plugin-vue":"9.33.0","eslint-plugin-vue-pug":"0.6.2","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","htmlnano":"2.1.5","imagemin-pngquant":"9.0.2","js-beautify":"1.15.4","json5-loader":"4.0.1","nanoid":"5.1.6","node-html-parser":"7.0.1","node-notifier":"10.0.1","pa11y":"9.0.1","postcss-loader":"8.2.0","postcss-normalize-stylus-compatible-container-query-syntax":"1.1.2","probe-image-size":"7.2.3","pug-lint":"2.7.0","puppeteer":"24.34.0","require-from-string":"2.0.2","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.2","ts-loader":"9.5.4","vinyl":"2.2.1","vnu-jar":"24.10.17","vue-loader":"17.4.2","vue-style-loader":"4.1.3","vue-tsc":"3.2.1","webpack":"5.103.0","webpack-node-externals":"3.0.0","webpack-stream":"7.0.0","worker-loader":"3.0.8","yaml-loader":"0.9.0"},"devDependencies":{"@types/browser-sync":"2.29.1","@types/cssnano":"5.0.0","@types/gulp":"4.0.18","@types/gulp-if":"3.0.5","@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.15.30","@types/node-notifier":"8.0.5","@types/pa11y":"5.3.7","@types/probe-image-size":"7.2.5","@types/pug":"2.0.10","@types/require-from-string":"1.2.3","@types/vnu-jar":"17.11.2","@types/webpack-node-externals":"3.0.4","@types/webpack-stream":"3.2.16","eslint-webpack-plugin":"4.2.0","ts-node":"10.9.2","typescript":"5.9.3","webpack-cli":"6.0.1"},"scripts":{"Incremental Development Building":"webpack --mode development","Production Building":"webpack --mode production","Linting":"eslint Source"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation.git"},"homepage":"https://automation.yamato-daiwa.com/","funding":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation?sponsor=1","bugs":{"url":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation/issues","email":"tokugawa.takesi@gmail.com"}}');
38
38
 
39
39
  /***/ }),
40
40
 
@@ -1730,8 +1730,7 @@ class BrowserCoordinatorRelatedFilesWatcher extends FilesPassiveWatcher_1.defaul
1730
1730
  ID: "BROWSER_COORDINATOR_RELATED_FILES_WATCHER",
1731
1731
  targetFilesGlobSelectors: [
1732
1732
  es_extensions_nodejs_1.ImprovedGlob.buildAllFilesInCurrentDirectoryAndBelowGlobSelector({
1733
- basicDirectoryPath: browserLiveReloadingSettingsRepresentative.targetFilesRootDirectoryAbsolutePath,
1734
- fileNamesExtensions: ["html", "js"]
1733
+ basicDirectoryPath: browserLiveReloadingSettingsRepresentative.targetFilesRootDirectoryAbsolutePath
1735
1734
  })
1736
1735
  ],
1737
1736
  mustLogEvents: browserLiveReloadingSettingsRepresentative.mustLogOutputFileChangeDetection
@@ -1758,7 +1757,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
1758
1757
  return (mod && mod.__esModule) ? mod : { "default": mod };
1759
1758
  };
1760
1759
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1761
- /* ─── Shared state ───────────────────────────────────────────────────────────────────────────────────────────────── */
1760
+ /* ─── Shared State ───────────────────────────────────────────────────────────────────────────────────────────────── */
1762
1761
  const MarkupProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSharedState.ts"));
1763
1762
  /* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
1764
1763
  const browser_sync_1 = __importDefault(__webpack_require__(/*! browser-sync */ "browser-sync"));
@@ -1768,34 +1767,49 @@ const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensio
1768
1767
  /* ─── Localization ───────────────────────────────────────────────────────────────────────────────────────────────── */
1769
1768
  const BrowserLiveReloaderLocalization_english_1 = __importDefault(__webpack_require__(/*! @BrowserLiveReloading/BrowserLiveReloaderLocalization.english */ "./ProjectBuilding/BrowserLiveReloading/BrowserLiveReloaderLocalization.english.ts"));
1770
1769
  class BrowserLiveReloader {
1770
+ /* ━━━ Static Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
1771
+ /* ┅┅┅ Public ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
1772
+ static selfSingleInstance;
1771
1773
  static localization = BrowserLiveReloaderLocalization_english_1.default;
1772
- static onURI_ChangedEventHandlers = [];
1773
- static EXPERIMENTAL_LOGGING = false;
1774
+ /* ┅┅┅ Private ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
1775
+ static onNewPageOpenedEventHandlers = new Map();
1776
+ static EXPERIMENTAL_LOGGING = true;
1777
+ /* ━━━ Instance Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
1774
1778
  browserLiveReloadingSettingsRepresentative;
1779
+ markupProcessingSettingsRepresentative;
1775
1780
  waitingForSubsequentFilesWillBeUpdatedCountdown;
1776
- currentHTML_File__EXPERIMENTAL = null;
1781
+ currentHTML_File = null;
1782
+ hasAcceptedAtLeastOneRequestPreviously = false;
1783
+ /* ━━━ Public Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
1777
1784
  static provideBrowserLiveReloadingIfMust(masterConfigRepresentative) {
1778
1785
  const browserLiveReloadingConfigRepresentative = masterConfigRepresentative.getBrowserLiveReloadingSettingsRepresentativeIfMustProvideBrowserLiveReloading();
1779
1786
  if ((0, es_extensions_1.isNull)(browserLiveReloadingConfigRepresentative)) {
1780
1787
  return (callback) => { callback(); };
1781
1788
  }
1782
- const dataHoldingSelfInstance = new BrowserLiveReloader(browserLiveReloadingConfigRepresentative);
1789
+ const selfInstance = new BrowserLiveReloader(browserLiveReloadingConfigRepresentative, masterConfigRepresentative.markupProcessingSettingsRepresentative);
1790
+ BrowserLiveReloader.selfSingleInstance = selfInstance;
1783
1791
  return (callback) => {
1784
1792
  BrowserCoordinatorRelatedFilesWatcher_1.default.initialize({
1785
- onAnyEventRelatedWithActualFilesHandler: dataHoldingSelfInstance.onAnyChangeInRelatedFiles.
1786
- bind(dataHoldingSelfInstance),
1793
+ onAnyEventRelatedWithActualFilesHandler: selfInstance.onAnyChangeInRelatedFiles.
1794
+ bind(selfInstance),
1787
1795
  browserLiveReloadingSettingsRepresentative: browserLiveReloadingConfigRepresentative
1788
1796
  });
1789
- dataHoldingSelfInstance.initializeBrowsersync();
1797
+ selfInstance.initializeBrowsersync();
1790
1798
  callback();
1791
1799
  };
1792
1800
  }
1793
- static addOnURI_ChangedEventHandler(onURI_ChangedEventHandler) {
1794
- this.onURI_ChangedEventHandlers.push(onURI_ChangedEventHandler);
1801
+ static addOnNewPageOpenedEventHandler({ handlerID, handler }) {
1802
+ BrowserLiveReloader.onNewPageOpenedEventHandlers.set(handlerID, handler);
1795
1803
  }
1796
- constructor(browserLiveReloadingConfigRepresentative) {
1804
+ static reload() {
1805
+ browser_sync_1.default.reload();
1806
+ }
1807
+ /* ━━━ Constructor ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
1808
+ constructor(browserLiveReloadingConfigRepresentative, markupProcessingSettingsRepresentative) {
1797
1809
  this.browserLiveReloadingSettingsRepresentative = browserLiveReloadingConfigRepresentative;
1810
+ this.markupProcessingSettingsRepresentative = markupProcessingSettingsRepresentative;
1798
1811
  }
1812
+ /* ━━━ Private Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
1799
1813
  initializeBrowsersync() {
1800
1814
  browser_sync_1.default.init({
1801
1815
  /* [ Browsersync theory ] Either "server" or "proxy" could be specified but not both. */
@@ -1837,12 +1851,27 @@ class BrowserLiveReloader {
1837
1851
  { port: this.browserLiveReloadingSettingsRepresentative.browsersyncUserInterfaceCustomPort } : null
1838
1852
  } :
1839
1853
  false,
1840
- logLevel: "warn",
1841
1854
  notify: this.browserLiveReloadingSettingsRepresentative.mustDisplayBrowsersyncConnectedPopupInBrowser,
1842
1855
  middleware: this.onRequest.bind(this)
1843
1856
  });
1844
1857
  }
1845
- onAnyChangeInRelatedFiles() {
1858
+ // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1859
+ onAnyChangeInRelatedFiles(targetFileAbsolutePath__forwardSlashesPathSeparators) {
1860
+ es_extensions_1.Logger.logWarning({
1861
+ badge: { customText: "Experimental" },
1862
+ title: "BrowserLiveReloader.onAnyChangeInRelatedFiles,",
1863
+ description: targetFileAbsolutePath__forwardSlashesPathSeparators,
1864
+ compactLayout: true,
1865
+ mustOutputIf: BrowserLiveReloader.EXPERIMENTAL_LOGGING
1866
+ });
1867
+ if (this.markupProcessingSettingsRepresentative?.processingOnDemandSettings.enabled === true &&
1868
+ (0, es_extensions_1.extractLastExtensionOfFileName)({
1869
+ targetPath: targetFileAbsolutePath__forwardSlashesPathSeparators,
1870
+ withLeadingDot: true
1871
+ }) === "html") {
1872
+ console.log("ok!!!");
1873
+ return;
1874
+ }
1846
1875
  clearTimeout(this.waitingForSubsequentFilesWillBeUpdatedCountdown);
1847
1876
  this.waitingForSubsequentFilesWillBeUpdatedCountdown = setTimeout(() => {
1848
1877
  es_extensions_1.Logger.logInfo({
@@ -1852,13 +1881,18 @@ class BrowserLiveReloader {
1852
1881
  browser_sync_1.default.reload();
1853
1882
  }, (0, es_extensions_1.secondsToMilliseconds)(this.browserLiveReloadingSettingsRepresentative.periodBetweenFileUpdatingAndBrowserReloading__seconds));
1854
1883
  }
1855
- onRequest(request, _response, letPass) {
1884
+ onRequest(request, response, letPass) {
1856
1885
  es_extensions_1.Logger.logWarning({
1857
1886
  badge: { customText: "Experimental" },
1858
- title: "Local Server, Request:",
1887
+ title: "BrowserLiveReloader.onRequest, URI:",
1859
1888
  description: request.url ?? "No URI",
1889
+ compactLayout: true,
1860
1890
  mustOutputIf: BrowserLiveReloader.EXPERIMENTAL_LOGGING
1861
1891
  });
1892
+ if (this.markupProcessingSettingsRepresentative?.processingOnDemandSettings.enabled !== true) {
1893
+ letPass();
1894
+ return;
1895
+ }
1862
1896
  if ((0, es_extensions_1.isUndefined)(request.url)) {
1863
1897
  letPass();
1864
1898
  return;
@@ -1876,21 +1910,33 @@ class BrowserLiveReloader {
1876
1910
  letPass();
1877
1911
  return;
1878
1912
  }
1913
+ const correspondingSourcePugFileAbsolutePath__forwardSlashSeparators = (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MarkupProcessingSharedState_1.default.outputHTML_FilesAndSourcePugFilesAbsolutePathsCorrespondenceMap, targetHTML_FileAbsolutePath);
1914
+ const hasPageChanged = this.currentHTML_File !== targetHTML_FileAbsolutePath;
1879
1915
  es_extensions_1.Logger.logWarning({
1880
1916
  badge: { customText: "Experimental" },
1881
- title: "Local Server, Target HTML File",
1917
+ title: "BrowserLiveReloader.onRequest, Target HTML File:",
1882
1918
  description: targetHTML_FileAbsolutePath,
1883
1919
  mustOutputIf: BrowserLiveReloader.EXPERIMENTAL_LOGGING,
1884
1920
  additionalData: {
1885
- hasPageChanged: this.currentHTML_File__EXPERIMENTAL !== targetHTML_FileAbsolutePath,
1886
- relatedEntryPointsSourceFiles: Array.from(MarkupProcessingSharedState_1.default.entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap.entries()).
1887
- filter(([, entryPointOutputFileAbsolutePath]) => targetHTML_FileAbsolutePath === entryPointOutputFileAbsolutePath).
1888
- map(([entryPointSourceFileAbsolutePath]) => entryPointSourceFileAbsolutePath)
1921
+ hasPageChanged,
1922
+ relatedEntryPointsSourceFiles: correspondingSourcePugFileAbsolutePath__forwardSlashSeparators
1889
1923
  }
1890
1924
  });
1891
- this.currentHTML_File__EXPERIMENTAL = targetHTML_FileAbsolutePath;
1892
- for (const handler of BrowserLiveReloader.onURI_ChangedEventHandlers) {
1893
- handler(targetHTML_FileAbsolutePath);
1925
+ this.currentHTML_File = targetHTML_FileAbsolutePath;
1926
+ if (hasPageChanged) {
1927
+ for (const handler of BrowserLiveReloader.onNewPageOpenedEventHandlers.values()) {
1928
+ handler({
1929
+ relatedSourcePugFileAbsolutePath__forwardSlashSeparators: correspondingSourcePugFileAbsolutePath__forwardSlashSeparators,
1930
+ HTML_FileAbsolutePath__forwardSlashSeparators: targetHTML_FileAbsolutePath
1931
+ });
1932
+ }
1933
+ }
1934
+ if (!this.hasAcceptedAtLeastOneRequestPreviously) {
1935
+ this.hasAcceptedAtLeastOneRequestPreviously = true;
1936
+ response.setHeader("Content-Type", "text/html");
1937
+ response.write("<body><h1>Please wait</h1></body>");
1938
+ response.end();
1939
+ return;
1894
1940
  }
1895
1941
  letPass();
1896
1942
  }
@@ -1908,7 +1954,7 @@ exports["default"] = BrowserLiveReloader;
1908
1954
 
1909
1955
 
1910
1956
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1911
- const BrowserLiveReloaderLocalization__English = {
1957
+ const browserLiveReloaderLocalization__english = {
1912
1958
  generateOutputFileChangeDetectionLog: (namedParameters) => ({
1913
1959
  title: "Browser live reloader, file status changing detected",
1914
1960
  description: `\tEvent : ${namedParameters.eventLocalizedInterpretation}\n` +
@@ -1920,7 +1966,7 @@ const BrowserLiveReloaderLocalization__English = {
1920
1966
  description: "The waiting period of other files will be saved elapsed. Browser will be reloaded soon."
1921
1967
  }
1922
1968
  };
1923
- exports["default"] = BrowserLiveReloaderLocalization__English;
1969
+ exports["default"] = browserLiveReloaderLocalization__english;
1924
1970
 
1925
1971
 
1926
1972
  /***/ }),
@@ -3279,7 +3325,7 @@ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "
3279
3325
  var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
3280
3326
  (function (SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid) {
3281
3327
  /* ━━━ Properties Specification ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
3282
- function generatePropertiesSpecification({ entryPointsGroupBuildingModeIndependentSpecificSettingsLocalizedPropertiesSpecification = {}, entryPointsGroupBuildingModeDependentSpecificSettingsLocalizedPropertiesSpecification = {} }) {
3328
+ function generatePropertiesSpecification({ entryPointsGroupBuildingModeIndependentSpecificSettingsLocalizedPropertiesSpecification = {}, entryPointsGroupBuildingModeDependentSpecificSettingsLocalizedPropertiesSpecification }) {
3283
3329
  return {
3284
3330
  $entryPointsGroups: {
3285
3331
  newName: "entryPointsGroups",
@@ -7043,7 +7089,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
7043
7089
  var ECMA_ScriptLogicProcessingRestrictions;
7044
7090
  (function (ECMA_ScriptLogicProcessingRestrictions) {
7045
7091
  ECMA_ScriptLogicProcessingRestrictions.supportedEntryPointsSourceFilesNamesExtensionsWithoutLeadingDots = new Set([
7046
- "js", "mjs", "ts", "mts"
7092
+ "js", "mjs", "ts", "mts", "jsx", "tsx"
7047
7093
  ]);
7048
7094
  ECMA_ScriptLogicProcessingRestrictions.supportedAdditionalFilesNamesExtensionsWithoutLeadingDotsOfChildrenFiles = new Set([
7049
7095
  "jsx", "tsx", "vue"
@@ -7082,12 +7128,14 @@ const SourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_req
7082
7128
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
7083
7129
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
7084
7130
  class ECMA_ScriptLogicProcessingSettingsRepresentative extends SourceCodeProcessingConfigRepresentative_1.default {
7131
+ /* ━━━ Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
7132
+ /* ┅┅┅ Superclasses' Requirements ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
7085
7133
  /* [ Theory ] Below two fields could be even or not. */
7086
7134
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots;
7087
7135
  actualFileNameExtensionsWithoutLeadingDots;
7088
- TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "ECMAScript logic";
7089
- TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "ECMAScript logic";
7090
- TASK_NAME_FOR_LOGGING = "ECMAScript Logic Processing";
7136
+ TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "ECMAScript Logic";
7137
+ TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "ECMAScript Logic";
7138
+ /* ┅┅┅ Specific ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
7091
7139
  entryPointsGroupsNormalizedSettingsMappedByReferences;
7092
7140
  relevantEntryPointsGroupsSettings;
7093
7141
  electronSettings;
@@ -8813,8 +8861,8 @@ class WebpackConfigGenerator {
8813
8861
  loader: "ts-loader",
8814
8862
  options: {
8815
8863
  configFile: entryPointsGroupSettings.typeScriptConfigurationFileAbsolutePath,
8816
- /* [ Performance Optimization ] Type checking is been executed externally and once for all files. */
8817
- transpileOnly: false,
8864
+ /* [ Performance Optimization ] Type checking is being executed externally and once for all files. */
8865
+ transpileOnly: true,
8818
8866
  /* [ Theory ] This option allows TypeScript to process the code extracted from a single file component.
8819
8867
  * [ Reference ] https://github.com/Microsoft/TypeScript-Vue-Starter#single-file-components */
8820
8868
  appendTsSuffixTo: [/\.vue$/u]
@@ -8849,7 +8897,10 @@ class WebpackConfigGenerator {
8849
8897
  },
8850
8898
  {
8851
8899
  test: /\.ydur\.pug$/u,
8852
- loader: "@yamato-daiwa/universal-reactive-webpack-loader"
8900
+ loader: "@yamato-daiwa/universal-reactive-webpack-loader",
8901
+ options: {
8902
+ debug: false
8903
+ }
8853
8904
  },
8854
8905
  {
8855
8906
  loader: "@webdiscus/pug-loader",
@@ -9225,20 +9276,25 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
9225
9276
  /* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
9226
9277
  const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingRestrictions */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingRestrictions.ts"));
9227
9278
  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"));
9228
- 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"));
9229
9279
  const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative.ts"));
9230
9280
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
9231
9281
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
9232
9282
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
9233
9283
  class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodeProcessingConfigRepresentative_1.default {
9284
+ /* ━━━ Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9285
+ /* ┅┅┅ Superclasses' Requirements ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
9234
9286
  /* [ Theory ] Below two fields could be even or not. */
9235
9287
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots;
9236
9288
  actualFileNameExtensionsWithoutLeadingDots;
9237
- TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
9238
9289
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Markup";
9239
- TASK_NAME_FOR_LOGGING = "Markup Processing";
9240
- PLAIN_COPIED_FILES_ALIAS_PREFIX = PLAIN_COPIED_FILES_POINTER_ALIAS_PREFIX_1.default;
9290
+ TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
9291
+ /* ┅┅┅ Specific ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
9292
+ /* ╍╍╍ Settings ╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍ */
9293
+ /* ─── Common ───────────────────────────────────────────────────────────────────────────────────────────────────── */
9241
9294
  WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS;
9295
+ processingOnDemandSettings;
9296
+ /* ╍╍╍ Other ╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍ */
9297
+ TASK_NAME_FOR_LOGGING = "Markup Processing";
9242
9298
  entryPointsGroupsNormalizedSettingsMappedByReferences;
9243
9299
  sourceCodeLintingCommonSettings;
9244
9300
  importingFromTypeScriptSettings;
@@ -9250,9 +9306,14 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
9250
9306
  mustValidateHTML;
9251
9307
  mustInspectAccessibility;
9252
9308
  sourceCodeProcessingCommonSettings;
9253
- mustResolveResourcesReferencesToAbsolutePath;
9254
9309
  constructor(normalizedMarkupProcessingSettings, projectBuildingMasterConfigRepresentative) {
9255
9310
  super(projectBuildingMasterConfigRepresentative);
9311
+ this.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots = normalizedMarkupProcessingSettings.common.
9312
+ supportedEntryPointsSourceFilesNamesExtensionsWithoutLeadingDots;
9313
+ this.actualFileNameExtensionsWithoutLeadingDots = (0, es_extensions_1.mergeSets)(this.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots, normalizedMarkupProcessingSettings.common.supportedAdditionalFilesNamesExtensionsWithoutLeadingDotsOfChildrenFiles);
9314
+ this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = normalizedMarkupProcessingSettings.common.
9315
+ secondsBetweenFileUpdatingAndStartingOfRebuilding;
9316
+ this.processingOnDemandSettings = normalizedMarkupProcessingSettings.common.processingOnDemand;
9256
9317
  this.sourceCodeLintingCommonSettings = normalizedMarkupProcessingSettings.linting;
9257
9318
  this.importingFromTypeScriptSettings = normalizedMarkupProcessingSettings.importingFromTypeScript;
9258
9319
  this.importingFromJavaScriptSettings = normalizedMarkupProcessingSettings.importingFromJavaScript;
@@ -9260,11 +9321,6 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
9260
9321
  this.routingSettings = normalizedMarkupProcessingSettings.routing;
9261
9322
  this.relevantEntryPointsGroupsSettings = normalizedMarkupProcessingSettings.relevantEntryPointsGroups;
9262
9323
  this.loggingSettings = normalizedMarkupProcessingSettings.logging;
9263
- this.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots = normalizedMarkupProcessingSettings.common.
9264
- supportedEntryPointsSourceFilesNamesExtensionsWithoutLeadingDots;
9265
- this.actualFileNameExtensionsWithoutLeadingDots = (0, es_extensions_1.mergeSets)(this.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots, normalizedMarkupProcessingSettings.common.supportedAdditionalFilesNamesExtensionsWithoutLeadingDotsOfChildrenFiles);
9266
- this.WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS = normalizedMarkupProcessingSettings.common.
9267
- secondsBetweenFileUpdatingAndStartingOfRebuilding;
9268
9324
  this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
9269
9325
  `${PROCESSABLE_FILES_POINTER_ALIAS_PREFIX_1.default}${entryPointsGroupSettings.ID}`,
9270
9326
  entryPointsGroupSettings
@@ -9272,8 +9328,6 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
9272
9328
  this.mustValidateHTML = Array.from(this.relevantEntryPointsGroupsSettings.values()).some((entryPointsGroupSettings) => entryPointsGroupSettings.HTML_Validation.mustExecute);
9273
9329
  this.mustInspectAccessibility = Array.from(this.relevantEntryPointsGroupsSettings.values()).some((entryPointsGroupSettings) => entryPointsGroupSettings.accessibilityInspection.mustExecute);
9274
9330
  this.sourceCodeProcessingCommonSettings = normalizedMarkupProcessingSettings.common;
9275
- this.mustResolveResourcesReferencesToAbsolutePath = normalizedMarkupProcessingSettings.common.
9276
- mustResolveResourcesReferencesToAbsolutePath;
9277
9331
  }
9278
9332
  /* ━━━ Common ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
9279
9333
  computeOutputFileNameExtension(compoundParameter) {
@@ -9439,6 +9493,7 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
9439
9493
  }
9440
9494
  return {
9441
9495
  mustInitialFileBeKept: !areLocalizedVersionsRequiredForCurrentFile,
9496
+ initialSourceFileAbsolutePath: sourceFileAbsolutePath__forwardSlashesSeparators,
9442
9497
  sourceAndOutputAbsolutePathsOfAllVariations,
9443
9498
  absoluteSourcePathsOfAllVariations,
9444
9499
  dataForPugBySourceFilesAbsolutePaths
@@ -9465,6 +9520,10 @@ const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @
9465
9520
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
9466
9521
  const MarkupProcessingSettings__Default = {
9467
9522
  periodBetweenFileUpdatingAndRebuildingStarting__seconds: 1,
9523
+ processingOnDemand: {
9524
+ enabled: false,
9525
+ fullInitialBuilding: false
9526
+ },
9468
9527
  staticPreview: {
9469
9528
  typeScriptConfigurationFileRelativePath: "tsconfig.json"
9470
9529
  },
@@ -9703,12 +9762,14 @@ var MarkupProcessingSettings__FromFile__RawValid;
9703
9762
  areNullTypeValuesForbidden: true,
9704
9763
  minimalEntriesCount: 1,
9705
9764
  allowedKeys: [
9765
+ "$staticPreview",
9706
9766
  "$localDevelopment",
9707
9767
  "$testing",
9708
9768
  "$staging",
9709
9769
  "$production"
9710
9770
  ],
9711
9771
  keysRenamings: {
9772
+ $staticPreview: ConsumingProjectBuildingModes_1.default.staticPreview,
9712
9773
  $localDevelopment: ConsumingProjectBuildingModes_1.default.localDevelopment,
9713
9774
  $testing: ConsumingProjectBuildingModes_1.default.testing,
9714
9775
  $staging: ConsumingProjectBuildingModes_1.default.staging,
@@ -9720,16 +9781,50 @@ var MarkupProcessingSettings__FromFile__RawValid;
9720
9781
  $secondsBetweenFileUpdatingAndStartingOfRebuilding: {
9721
9782
  newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
9722
9783
  type: Number,
9723
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
9784
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveRealNumber,
9724
9785
  isNaN_Forbidden: true,
9725
9786
  isUndefinedForbidden: false,
9726
9787
  isNullForbidden: true
9727
9788
  },
9789
+ // TODO Must be undefined if static preview
9728
9790
  $mustResolveResourcesPointersToRelativePaths: {
9729
9791
  newName: "mustResolveResourcesPointersToRelativePaths",
9730
9792
  type: Boolean,
9731
9793
  isUndefinedForbidden: false,
9732
9794
  isNullForbidden: true
9795
+ },
9796
+ $processingOnDemand: {
9797
+ newName: "processingOnDemand",
9798
+ type: Object,
9799
+ isUndefinedForbidden: false,
9800
+ mustBeUndefinedIf: {
9801
+ predicate: ({ targetPropertyDotSeparatedPath }) => ![
9802
+ "$staticPreview",
9803
+ "$localDevelopment"
9804
+ /* eslint-disable-next-line @typescript-eslint/no-magic-numbers --
9805
+ * No clear name for `-2` value.
9806
+ * Refers to the last 2 elements in split full qualified name like `$localDevelopment.
9807
+ * $processingOnDemand` in
9808
+ * `$projectBuilding.$markupProcessing.$common.$buildingModeDependent.$localDevelopment.
9809
+ * $processingOnDemand`. */
9810
+ ].includes((0, es_extensions_1.splitString)(targetPropertyDotSeparatedPath, ".").slice(-2)[0]),
9811
+ descriptionForLogging: "building mode is production-like (testing, staging, production)"
9812
+ },
9813
+ mustTransformNullToUndefined: true,
9814
+ properties: {
9815
+ $enabled: {
9816
+ newName: "enabled",
9817
+ type: Boolean,
9818
+ isUndefinedForbidden: false,
9819
+ isNullForbidden: true
9820
+ },
9821
+ $fullInitialBuilding: {
9822
+ newName: "fullInitialBuilding",
9823
+ type: Boolean,
9824
+ isUndefinedForbidden: false,
9825
+ isNullForbidden: true
9826
+ }
9827
+ }
9733
9828
  }
9734
9829
  }
9735
9830
  }
@@ -10181,7 +10276,15 @@ class MarkupProcessingSharedState {
10181
10276
  static importsFromTypeScript;
10182
10277
  static importsFromJavaScript;
10183
10278
  static pagesVariationsMetadata = new Map();
10184
- static get entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap() {
10279
+ /**
10280
+ * @description
10281
+ * For the state-dependent variations of static preview and/or static localizations cases, the output files number is
10282
+ * greater than the number of source ones. To resolve internal links like
10283
+ * `@Pages/Task/Management/TasksManagementPage__Loading.english` to file
10284
+ * `[PagesDirectory]/Task/Management/TasksManagementPage.pug`, the path to the fictive
10285
+ * `[PagesDirectory]/Task/Management/TasksManagementPageLoading.english.pug` file must be stored.
10286
+ */
10287
+ static get entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap__includingFictiveOnes() {
10185
10288
  return Array.from(MarkupProcessingSharedState.pagesVariationsMetadata.values()).
10186
10289
  reduce((interimConcatenatedMap, { sourceAndOutputAbsolutePathsOfAllVariations }) => (0, es_extensions_1.addEntriesToMap)({
10187
10290
  targetMap: interimConcatenatedMap,
@@ -10189,6 +10292,15 @@ class MarkupProcessingSharedState {
10189
10292
  newEntries: sourceAndOutputAbsolutePathsOfAllVariations
10190
10293
  }), new Map());
10191
10294
  }
10295
+ static get outputHTML_FilesAndSourcePugFilesAbsolutePathsCorrespondenceMap() {
10296
+ return Array.from(MarkupProcessingSharedState.pagesVariationsMetadata.values()).
10297
+ reduce((interimConcatenatedMap, { initialSourceFileAbsolutePath, sourceAndOutputAbsolutePathsOfAllVariations }) => (0, es_extensions_1.addEntriesToMap)({
10298
+ targetMap: interimConcatenatedMap,
10299
+ mutably: true,
10300
+ newEntries: Array.from(sourceAndOutputAbsolutePathsOfAllVariations.values()).
10301
+ map((outputHTML_FieldAbsolutePath) => [outputHTML_FieldAbsolutePath, initialSourceFileAbsolutePath])
10302
+ }), new Map());
10303
+ }
10192
10304
  }
10193
10305
  exports["default"] = MarkupProcessingSharedState;
10194
10306
 
@@ -10239,6 +10351,7 @@ const htmlnano_1 = __importDefault(__webpack_require__(/*! htmlnano */ "htmlnano
10239
10351
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
10240
10352
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
10241
10353
  const node_html_parser_1 = __webpack_require__(/*! node-html-parser */ "node-html-parser");
10354
+ const BrowserLiveReloader_1 = __importDefault(__webpack_require__(/*! @BrowserLiveReloading/BrowserLiveReloader */ "./ProjectBuilding/BrowserLiveReloading/BrowserLiveReloader.ts"));
10242
10355
  class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
10243
10356
  static CACHED_ACCESSIBILITY_INSPECTION_RESULTS_DIRECTORY_NAME = "AccessibilityInspection";
10244
10357
  static ENTRY_POINTS_AND_PARTIAL_FILES_MAPPING_CACHE_FILE_NAME_WITH_EXTENSION = "MarkupEntryPointsAndAffiliatedFilesMappingCache.json";
@@ -10316,13 +10429,24 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
10316
10429
  handlerID: "ON_MARKUP_ENTRY_POINT_FILE_DELETED--BY_MARKUP_PROCESSOR",
10317
10430
  handler: MarkupProcessor.onEntryPointFileDeleted
10318
10431
  });
10432
+ if (markupProcessingSettingsRepresentative.processingOnDemandSettings.enabled) {
10433
+ BrowserLiveReloader_1.default.addOnNewPageOpenedEventHandler({
10434
+ handlerID: "ON_PAGE_CHANGE_EVENT_HANDLER--BY_MARKUP_PROCESSOR",
10435
+ handler({ relatedSourcePugFileAbsolutePath__forwardSlashSeparators }) {
10436
+ dataHoldingSelfInstance.processEntryPoints([relatedSourcePugFileAbsolutePath__forwardSlashSeparators])();
10437
+ }
10438
+ });
10439
+ if (!markupProcessingSettingsRepresentative.processingOnDemandSettings.fullInitialBuilding) {
10440
+ return (0, createImmediatelyEndingEmptyStream_1.default)();
10441
+ }
10442
+ }
10319
10443
  }
10320
10444
  return dataHoldingSelfInstance.processEntryPoints(markupProcessingSettingsRepresentative.initialRelevantEntryPointsSourceFilesAbsolutePaths);
10321
10445
  }
10322
10446
  constructor(markupProcessingSettingsRepresentative, projectBuildingMasterConfigRepresentative) {
10323
10447
  super({
10324
10448
  projectBuildingMasterConfigRepresentative,
10325
- taskTitleForLogging: "Markup Processing"
10449
+ taskTitleForLogging: markupProcessingSettingsRepresentative.TASK_NAME_FOR_LOGGING
10326
10450
  });
10327
10451
  this.logging = {
10328
10452
  pathsOfFilesWillBeProcessed: markupProcessingSettingsRepresentative.loggingSettings.filesPaths,
@@ -10508,6 +10632,10 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
10508
10632
  AccessibilityInspector_1.default.reportCachedValidationsResultsAndFinalize();
10509
10633
  }
10510
10634
  }
10635
+ if (this.markupProcessingSettingsRepresentative.processingOnDemandSettings.enabled) {
10636
+ // TODO Грохнется, если BrowserSYnc Не готов
10637
+ BrowserLiveReloader_1.default.reload();
10638
+ }
10511
10639
  }
10512
10640
  /* ━━━ Rebuilding ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10513
10641
  onSourceFilesWatcherEmitsAnyEvent(targetFileAbsolutePath__forwardSlashesSeparators) {
@@ -12481,7 +12609,7 @@ class ResourcesPointersResolverForHTML {
12481
12609
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: this.markupProcessingSettingsRepresentative.
12482
12610
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
12483
12611
  sourceAndOutputFilesAbsolutePathsCorrespondenceMap: MarkupProcessingSharedState_1.default.
12484
- entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap,
12612
+ entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap__includingFictiveOnes,
12485
12613
  fileTypeForLogging__singularForm: this.markupProcessingSettingsRepresentative.
12486
12614
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM,
12487
12615
  fileTypeForLogging__pluralForm: this.markupProcessingSettingsRepresentative.
@@ -13122,7 +13250,21 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
13122
13250
  common?.
13123
13251
  buildingModeDependent?.[dataHoldingSelfInstance.consumingProjectBuildingMode]?.
13124
13252
  secondsBetweenFileUpdatingAndStartingOfRebuilding ??
13125
- MarkupProcessingSettings__Default_1.default.periodBetweenFileUpdatingAndRebuildingStarting__seconds
13253
+ MarkupProcessingSettings__Default_1.default.periodBetweenFileUpdatingAndRebuildingStarting__seconds,
13254
+ processingOnDemand: {
13255
+ enabled: dataHoldingSelfInstance.markupProcessingSettings__fromFile__rawValid.
13256
+ common?.
13257
+ buildingModeDependent?.[dataHoldingSelfInstance.consumingProjectBuildingMode]?.
13258
+ processingOnDemand?.
13259
+ enabled ??
13260
+ MarkupProcessingSettings__Default_1.default.processingOnDemand.enabled,
13261
+ fullInitialBuilding: dataHoldingSelfInstance.markupProcessingSettings__fromFile__rawValid.
13262
+ common?.
13263
+ buildingModeDependent?.[dataHoldingSelfInstance.consumingProjectBuildingMode]?.
13264
+ processingOnDemand?.
13265
+ fullInitialBuilding ??
13266
+ MarkupProcessingSettings__Default_1.default.processingOnDemand.fullInitialBuilding
13267
+ }
13126
13268
  },
13127
13269
  linting: dataHoldingSelfInstance.normalizeLintingSettings(),
13128
13270
  ...(0, es_extensions_1.isNotUndefined)(markupProcessingSettings__fromFile__rawValid.importingFromTypeScript) ?
@@ -14829,12 +14971,16 @@ const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefaul
14829
14971
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
14830
14972
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
14831
14973
  class StylesProcessingSettingsRepresentative extends GulpStreamBasedSourceCodeProcessingConfigRepresentative_1.default {
14974
+ /* ━━━ Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
14975
+ /* ┅┅┅ Superclasses' Requirements ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
14832
14976
  /* [ Theory ] Below two fields could be even or not. */
14833
14977
  supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots;
14834
14978
  actualFileNameExtensionsWithoutLeadingDots;
14835
14979
  TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Stylesheet";
14836
14980
  TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Stylesheets";
14837
- TASK_NAME_FOR_LOGGING = "Styles Processing";
14981
+ /* ┅┅┅ Specific ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
14982
+ /* ╍╍╍ Settings ╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍ */
14983
+ /* ─── Common ───────────────────────────────────────────────────────────────────────────────────────────────────── */
14838
14984
  WAITING_FOR_SUBSEQUENT_FILES_WILL_SAVED_PERIOD__SECONDS;
14839
14985
  entryPointsGroupsNormalizedSettingsMappedByReferences;
14840
14986
  sourceCodeLintingCommonSettings;
@@ -14962,7 +15108,7 @@ var StylesProcessingSettings__FromFile__RawValid;
14962
15108
  $secondsBetweenFileUpdatingAndStartingOfRebuilding: {
14963
15109
  newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
14964
15110
  type: Number,
14965
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
15111
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveRealNumber,
14966
15112
  isNaN_Forbidden: true,
14967
15113
  isUndefinedForbidden: false,
14968
15114
  isNullForbidden: true
@@ -15097,6 +15243,7 @@ const gulp_stylus_1 = __importDefault(__webpack_require__(/*! gulp-stylus */ "gu
15097
15243
  const gulp_postcss_1 = __importDefault(__webpack_require__(/*! gulp-postcss */ "gulp-postcss"));
15098
15244
  const autoprefixer_1 = __importDefault(__webpack_require__(/*! autoprefixer */ "autoprefixer"));
15099
15245
  const cssnano_1 = __importDefault(__webpack_require__(/*! cssnano */ "cssnano"));
15246
+ const postcss_normalize_stylus_compatible_container_query_syntax_1 = __importDefault(__webpack_require__(/*! postcss-normalize-stylus-compatible-container-query-syntax */ "postcss-normalize-stylus-compatible-container-query-syntax"));
15100
15247
  /* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
15101
15248
  const StylusPreProcessorSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/StylusPreProcessorSpecialist */ "./ThirdPartySolutionsSpecialists/StylusPreProcessorSpecialist.ts"));
15102
15249
  /* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
@@ -15204,6 +15351,7 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
15204
15351
  })).
15205
15352
  pipe((0, gulp_postcss_1.default)(() => ({
15206
15353
  plugins: [
15354
+ postcss_normalize_stylus_compatible_container_query_syntax_1.default,
15207
15355
  autoprefixer_1.default,
15208
15356
  (0, cssnano_1.default)({
15209
15357
  preset: [
@@ -17215,6 +17363,16 @@ module.exports = require("path");
17215
17363
 
17216
17364
  /***/ }),
17217
17365
 
17366
+ /***/ "postcss-normalize-stylus-compatible-container-query-syntax":
17367
+ /*!*****************************************************************************!*\
17368
+ !*** external "postcss-normalize-stylus-compatible-container-query-syntax" ***!
17369
+ \*****************************************************************************/
17370
+ /***/ ((module) => {
17371
+
17372
+ module.exports = require("postcss-normalize-stylus-compatible-container-query-syntax");
17373
+
17374
+ /***/ }),
17375
+
17218
17376
  /***/ "probe-image-size":
17219
17377
  /*!***********************************!*\
17220
17378
  !*** external "probe-image-size" ***!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yamato-daiwa/automation",
3
- "version": "0.9.0-alpha.0",
3
+ "version": "0.9.0-alpha.2",
4
4
  "description": "The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.",
5
5
  "keywords": [
6
6
  "build",
@@ -20,21 +20,21 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@eslint-community/eslint-plugin-eslint-comments": "4.5.0",
23
- "@stylistic/eslint-plugin": "5.4.0",
24
- "@typescript-eslint/eslint-plugin": "8.46.1",
25
- "@typescript-eslint/parser": "8.46.1",
26
- "@vue/compiler-sfc": "3.5.22",
23
+ "@stylistic/eslint-plugin": "5.6.1",
24
+ "@typescript-eslint/eslint-plugin": "8.51.0",
25
+ "@typescript-eslint/parser": "8.51.0",
26
+ "@vue/compiler-sfc": "3.5.26",
27
27
  "@webdiscus/pug-loader": "2.11.1",
28
- "@yamato-daiwa/es-extensions": "1.8.1",
29
- "@yamato-daiwa/es-extensions-nodejs": "1.8.1",
30
- "@yamato-daiwa/style_guides": "0.10.1",
31
- "@yamato-daiwa/universal-reactive-webpack-loader": "0.0.0",
32
- "autoprefixer": "10.4.21",
28
+ "@yamato-daiwa/es-extensions": "1.8.4",
29
+ "@yamato-daiwa/es-extensions-nodejs": "1.8.4",
30
+ "@yamato-daiwa/style_guides": "0.11.6",
31
+ "@yamato-daiwa/universal-reactive-webpack-loader": "0.1.0",
32
+ "autoprefixer": "10.4.23",
33
33
  "browser-sync": "3.0.4",
34
34
  "css-loader": "7.1.2",
35
- "cssnano": "7.1.1",
35
+ "cssnano": "7.1.2",
36
36
  "dotenv": "17.2.3",
37
- "eslint": "9.38.0",
37
+ "eslint": "9.39.2",
38
38
  "eslint-plugin-import": "2.32.0",
39
39
  "eslint-plugin-n": "17.23.1",
40
40
  "eslint-plugin-react": "7.37.5",
@@ -59,10 +59,10 @@
59
59
  "node-notifier": "10.0.1",
60
60
  "pa11y": "9.0.1",
61
61
  "postcss-loader": "8.2.0",
62
- "postcss-normalize-stylus-compatible-container-query-syntax": "1.1.0",
62
+ "postcss-normalize-stylus-compatible-container-query-syntax": "1.1.2",
63
63
  "probe-image-size": "7.2.3",
64
64
  "pug-lint": "2.7.0",
65
- "puppeteer": "24.10.0",
65
+ "puppeteer": "24.34.0",
66
66
  "require-from-string": "2.0.2",
67
67
  "rev-hash": "4.1.0",
68
68
  "stlint": "1.0.65",
@@ -75,17 +75,17 @@
75
75
  "vnu-jar": "24.10.17",
76
76
  "vue-loader": "17.4.2",
77
77
  "vue-style-loader": "4.1.3",
78
- "vue-tsc": "3.1.1",
79
- "webpack": "5.102.1",
78
+ "vue-tsc": "3.2.1",
79
+ "webpack": "5.103.0",
80
80
  "webpack-node-externals": "3.0.0",
81
81
  "webpack-stream": "7.0.0",
82
82
  "worker-loader": "3.0.8",
83
- "yaml-loader": "0.8.1"
83
+ "yaml-loader": "0.9.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@types/browser-sync": "2.29.0",
86
+ "@types/browser-sync": "2.29.1",
87
87
  "@types/cssnano": "5.0.0",
88
- "@types/gulp": "4.0.17",
88
+ "@types/gulp": "4.0.18",
89
89
  "@types/gulp-if": "3.0.5",
90
90
  "@types/gulp-imagemin": "7.0.3",
91
91
  "@types/gulp-nodemon": "0.0.37",
@@ -102,7 +102,7 @@
102
102
  "@types/require-from-string": "1.2.3",
103
103
  "@types/vnu-jar": "17.11.2",
104
104
  "@types/webpack-node-externals": "3.0.4",
105
- "@types/webpack-stream": "3.2.15",
105
+ "@types/webpack-stream": "3.2.16",
106
106
  "eslint-webpack-plugin": "4.2.0",
107
107
  "ts-node": "10.9.2",
108
108
  "typescript": "5.9.3",