@yamato-daiwa/automation 0.7.0-alpha.5 → 0.7.0-alpha.7

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 +792 -449
  2. package/package.json +12 -12
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.7.0-alpha.5","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":"3.1.0","@typescript-eslint/eslint-plugin":"8.32.1","@typescript-eslint/parser":"8.32.1","@vue/compiler-sfc":"3.5.14","@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.9","autoprefixer":"10.4.21","browser-sync":"3.0.4","css-loader":"7.1.2","cssnano":"7.0.7","dotenv":"16.5.0","eslint":"9.27.0","eslint-plugin-import":"2.31.0","eslint-plugin-n":"17.18.0","eslint-plugin-react":"7.37.5","eslint-plugin-vue":"9.33.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","htmlnano":"2.1.2","imagemin-pngquant":"9.0.2","js-beautify":"1.15.4","json5-loader":"4.0.1","nanoid":"5.1.5","node-html-parser":"7.0.1","node-notifier":"10.0.1","pa11y":"9.0.0","probe-image-size":"7.2.3","pug-lint":"2.7.0","pug3-ast-loader":"0.0.0","puppeteer":"24.9.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.1","ts-loader":"9.5.2","vinyl":"2.2.1","vnu-jar":"24.10.17","vue-loader":"17.4.2","vue-style-loader":"4.1.3","vue-tsc":"2.2.10","webpack":"5.99.9","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.15.21","@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.8.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.7.0-alpha.7","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":"4.4.1","@typescript-eslint/eslint-plugin":"8.33.1","@typescript-eslint/parser":"8.33.1","@vue/compiler-sfc":"3.5.16","@webdiscus/pug-loader":"2.11.1","@yamato-daiwa/es-extensions":"1.8.0-alpha.16","@yamato-daiwa/es-extensions-nodejs":"1.8.0-alpha.16","@yamato-daiwa/style_guides":"0.7.0","autoprefixer":"10.4.21","browser-sync":"3.0.4","css-loader":"7.1.2","cssnano":"7.0.7","dotenv":"16.5.0","eslint":"9.28.0","eslint-plugin-import":"2.31.0","eslint-plugin-n":"17.19.0","eslint-plugin-react":"7.37.5","eslint-plugin-vue":"9.33.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","htmlnano":"2.1.2","imagemin-pngquant":"9.0.2","js-beautify":"1.15.4","json5-loader":"4.0.1","nanoid":"5.1.5","node-html-parser":"7.0.1","node-notifier":"10.0.1","pa11y":"9.0.0","probe-image-size":"7.2.3","pug-lint":"2.7.0","pug3-ast-loader":"0.0.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.1","ts-loader":"9.5.2","vinyl":"2.2.1","vnu-jar":"24.10.17","vue-loader":"17.4.2","vue-style-loader":"4.1.3","vue-tsc":"2.2.10","webpack":"5.99.9","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.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.8.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
 
@@ -248,7 +248,7 @@ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "
248
248
  class ProjectBuilder {
249
249
  static buildProject({ consumingProjectRootDirectoryAbsolutePath, projectBuildingConfig__fromConsole, rawConfigFromFile }) {
250
250
  const rawDataProcessingResult = es_extensions_1.RawObjectDataProcessor.process(rawConfigFromFile, ProjectBuildingConfig__FromFile__RawValid_1.default.propertiesSpecification);
251
- if (rawDataProcessingResult.rawDataIsInvalid) {
251
+ if (rawDataProcessingResult.isRawDataInvalid) {
252
252
  es_extensions_1.Logger.throwErrorAndLog({
253
253
  errorInstance: new es_extensions_1.InvalidConfigError({
254
254
  mentionToConfig: "@yamato-daiwa/automation (project building)",
@@ -1879,8 +1879,11 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1879
1879
  BrowserLiveReloadingSettings__FromFile__RawValid.propertiesSpecification = {
1880
1880
  $setups: {
1881
1881
  newName: "setups",
1882
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
1883
- required: true,
1882
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
1883
+ isUndefinedForbidden: true,
1884
+ isNullForbidden: true,
1885
+ areUndefinedTypeValuesForbidden: true,
1886
+ areNullTypeValuesForbidden: true,
1884
1887
  minimalEntriesCount: 1,
1885
1888
  value: {
1886
1889
  type: Object,
@@ -1888,19 +1891,23 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1888
1891
  $localServer: {
1889
1892
  newName: "localServer",
1890
1893
  type: Object,
1891
- required: true,
1894
+ isUndefinedForbidden: true,
1895
+ isNullForbidden: true,
1892
1896
  properties: {
1893
1897
  $rootDirectoryRelativePath: {
1894
1898
  newName: "rootDirectoryRelativePath",
1895
1899
  type: String,
1896
- required: true,
1900
+ isUndefinedForbidden: true,
1901
+ isNullForbidden: true,
1897
1902
  minimalCharactersCount: 1
1898
1903
  },
1899
1904
  $ignoredFilesAndDirectoriesRelativePaths: {
1900
1905
  newName: "ignoredFilesAndDirectoriesRelativePaths",
1901
1906
  type: Array,
1902
- required: false,
1903
- preValidationModifications: es_extensions_1.nullToUndefined,
1907
+ isUndefinedForbidden: false,
1908
+ mustTransformNullToUndefined: true,
1909
+ areUndefinedElementsForbidden: true,
1910
+ areNullElementsForbidden: true,
1904
1911
  element: {
1905
1912
  type: String,
1906
1913
  minimalCharactersCount: 1
@@ -1909,32 +1916,36 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1909
1916
  $customPort: {
1910
1917
  newName: "customPort",
1911
1918
  type: Number,
1912
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
1913
- required: false,
1919
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
1920
+ isUndefinedForbidden: false,
1921
+ isNullForbidden: true,
1914
1922
  maximalValue: 65536
1915
1923
  },
1916
1924
  $customStartingFileNameWithExtension: {
1917
1925
  newName: "customStartingFileNameWithExtension",
1918
1926
  type: String,
1919
- required: false,
1927
+ isUndefinedForbidden: false,
1928
+ isNullForbidden: true,
1920
1929
  minimalCharactersCount: 1
1921
1930
  },
1922
1931
  $HTTPS: {
1923
1932
  newName: "HTTPS",
1924
1933
  type: Object,
1925
- required: false,
1926
- preValidationModifications: es_extensions_1.nullToUndefined,
1934
+ isUndefinedForbidden: false,
1935
+ mustTransformNullToUndefined: true,
1927
1936
  properties: {
1928
1937
  $SSL_KeyRelativePath: {
1929
1938
  newName: "SSL_KeyRelativePath",
1930
1939
  type: String,
1931
- required: true,
1940
+ isUndefinedForbidden: true,
1941
+ isNullForbidden: true,
1932
1942
  minimalCharactersCount: 1
1933
1943
  },
1934
1944
  $SSL_CertificateRelativePath: {
1935
1945
  newName: "SSL_CertificateRelativePath",
1936
1946
  type: String,
1937
- required: true,
1947
+ isUndefinedForbidden: true,
1948
+ isNullForbidden: true,
1938
1949
  minimalCharactersCount: 1
1939
1950
  }
1940
1951
  }
@@ -1942,23 +1953,28 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1942
1953
  $useCORS: {
1943
1954
  newName: "useCORS",
1944
1955
  type: Boolean,
1945
- required: false
1956
+ isUndefinedForbidden: false,
1957
+ isNullForbidden: true
1946
1958
  }
1947
1959
  }
1948
1960
  },
1949
1961
  $proxy: {
1950
1962
  newName: "proxy",
1951
1963
  type: String,
1952
- required: false,
1964
+ isUndefinedForbidden: false,
1965
+ isNullForbidden: true,
1953
1966
  minimalCharactersCount: 1
1954
1967
  },
1955
1968
  $openInBrowsers: {
1956
1969
  newName: "openInBrowsers",
1957
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
1958
- required: false,
1970
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
1971
+ isUndefinedForbidden: false,
1972
+ isNullForbidden: true,
1959
1973
  alternatives: [
1960
1974
  {
1961
1975
  type: Array,
1976
+ areUndefinedElementsForbidden: true,
1977
+ areNullElementsForbidden: true,
1962
1978
  minimalElementsCount: 1,
1963
1979
  element: {
1964
1980
  type: String,
@@ -1974,27 +1990,30 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1974
1990
  $browserSyncUserInterface: {
1975
1991
  newName: "browserSyncUserInterface",
1976
1992
  type: Object,
1977
- required: false,
1978
- preValidationModifications: es_extensions_1.nullToUndefined,
1993
+ isUndefinedForbidden: false,
1994
+ mustTransformNullToUndefined: true,
1979
1995
  properties: {
1980
1996
  $customPort: {
1981
1997
  newName: "customPort",
1982
1998
  type: Number,
1983
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
1984
- required: false,
1999
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
2000
+ isUndefinedForbidden: false,
2001
+ isNullForbidden: true,
1985
2002
  maximalValue: 65536
1986
2003
  },
1987
2004
  $disable: {
1988
2005
  newName: "disable",
1989
2006
  type: Boolean,
1990
- required: false
2007
+ isUndefinedForbidden: false,
2008
+ isNullForbidden: true
1991
2009
  }
1992
2010
  }
1993
2011
  },
1994
2012
  $periodBetweenFileUpdatingAndBrowserReloading__seconds: {
1995
2013
  newName: "periodBetweenFileUpdatingAndBrowserReloading__seconds",
1996
2014
  type: Number,
1997
- required: false,
2015
+ isUndefinedForbidden: false,
2016
+ isNullForbidden: true,
1998
2017
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.anyRealNumber
1999
2018
  }
2000
2019
  }
@@ -2003,23 +2022,26 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
2003
2022
  $logging: {
2004
2023
  newName: "logging",
2005
2024
  type: Object,
2006
- required: false,
2007
- preValidationModifications: es_extensions_1.nullToUndefined,
2025
+ isUndefinedForbidden: false,
2026
+ mustTransformNullToUndefined: true,
2008
2027
  properties: {
2009
2028
  $outputFileChangeDetection: {
2010
2029
  newName: "outputFileChangeDetection",
2011
2030
  type: Boolean,
2012
- required: false
2031
+ isUndefinedForbidden: false,
2032
+ isNullForbidden: true
2013
2033
  },
2014
2034
  $browserTabWillBeReloadedSoon: {
2015
2035
  newName: "browserTabWillBeReloadedSoon",
2016
2036
  type: Boolean,
2017
- required: false
2037
+ isUndefinedForbidden: false,
2038
+ isNullForbidden: true
2018
2039
  },
2019
2040
  $browsersyncConnection: {
2020
2041
  newName: "browsersyncConnection",
2021
2042
  type: Boolean,
2022
- required: false
2043
+ isUndefinedForbidden: false,
2044
+ isNullForbidden: true
2023
2045
  }
2024
2046
  }
2025
2047
  }
@@ -2562,43 +2584,51 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
2562
2584
  AssetsProcessingSettingsGenericProperties__FromFile__RawValid.propertiesSpecification = {
2563
2585
  $common: {
2564
2586
  newName: "common",
2565
- preValidationModifications: es_extensions_1.nullToUndefined,
2566
2587
  type: Object,
2567
- required: false,
2588
+ isUndefinedForbidden: false,
2589
+ mustTransformNullToUndefined: true,
2568
2590
  properties: {
2569
2591
  $periodBetweenFileUpdatingAndRebuildingStarting__seconds: {
2570
2592
  newName: "periodBetweenFileUpdatingAndRebuildingStarting__seconds",
2571
2593
  type: Number,
2572
- required: false,
2594
+ isUndefinedForbidden: false,
2595
+ isNullForbidden: true,
2573
2596
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
2574
2597
  }
2575
2598
  }
2576
2599
  },
2577
2600
  $assetsGroups: {
2578
2601
  newName: "assetsGroups",
2579
- preValidationModifications: es_extensions_1.nullToUndefined,
2580
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2581
- required: true,
2602
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2603
+ isUndefinedForbidden: true,
2604
+ isNullForbidden: true,
2605
+ areUndefinedTypeValuesForbidden: true,
2606
+ areNullTypeValuesForbidden: true,
2582
2607
  value: {
2583
2608
  type: Object,
2584
2609
  properties: {
2585
2610
  $sourceFilesTopDirectoryRelativePath: {
2586
2611
  newName: "sourceFilesTopDirectoryRelativePath",
2587
2612
  type: String,
2588
- required: true,
2613
+ isUndefinedForbidden: true,
2614
+ isNullForbidden: true,
2589
2615
  minimalCharactersCount: 1
2590
2616
  },
2591
2617
  $sourceFilesTopDirectoryPathAliasForReferencingFromHTML: {
2592
2618
  newName: "sourceFilesTopDirectoryPathAliasForReferencingFromHTML",
2593
2619
  type: String,
2594
- required: false,
2620
+ isUndefinedForbidden: false,
2621
+ isNullForbidden: true,
2595
2622
  minimalCharactersCount: 1
2596
2623
  },
2597
2624
  $buildingModeDependent: {
2598
2625
  newName: "buildingModeDependent",
2599
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2600
- required: true,
2626
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2627
+ isUndefinedForbidden: true,
2628
+ isNullForbidden: true,
2601
2629
  minimalEntriesCount: 1,
2630
+ areUndefinedTypeValuesForbidden: true,
2631
+ areNullTypeValuesForbidden: true,
2602
2632
  allowedKeys: [
2603
2633
  "$staticPreview",
2604
2634
  "$localDevelopment",
@@ -2620,8 +2650,8 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
2620
2650
  $revisioning: {
2621
2651
  newName: "revisioning",
2622
2652
  type: Object,
2623
- required: false,
2624
- preValidationModifications: es_extensions_1.nullToUndefined,
2653
+ isUndefinedForbidden: false,
2654
+ mustTransformNullToUndefined: true,
2625
2655
  properties: RevisioningSettings__FromFile__RawValid_1.default.propertiesSpecification
2626
2656
  }
2627
2657
  }
@@ -2633,23 +2663,26 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
2633
2663
  $logging: {
2634
2664
  newName: "logging",
2635
2665
  type: Object,
2636
- required: false,
2637
- preValidationModifications: es_extensions_1.nullToUndefined,
2666
+ isUndefinedForbidden: false,
2667
+ mustTransformNullToUndefined: true,
2638
2668
  properties: {
2639
2669
  $filesPaths: {
2640
2670
  newName: "filesPaths",
2641
2671
  type: Boolean,
2642
- required: false
2672
+ isUndefinedForbidden: false,
2673
+ isNullForbidden: true
2643
2674
  },
2644
2675
  $filesCount: {
2645
2676
  newName: "filesCount",
2646
2677
  type: Boolean,
2647
- required: false
2678
+ isUndefinedForbidden: false,
2679
+ isNullForbidden: true
2648
2680
  },
2649
2681
  $filesWatcherEvents: {
2650
2682
  newName: "filesWatcherEvents",
2651
2683
  type: Boolean,
2652
- required: false
2684
+ isUndefinedForbidden: false,
2685
+ isNullForbidden: true
2653
2686
  }
2654
2687
  }
2655
2688
  }
@@ -2709,17 +2742,22 @@ var ProjectBuildingCommonSettings__FromFile__RawValid;
2709
2742
  ProjectBuildingCommonSettings__FromFile__RawValid.propertiesSpecification = {
2710
2743
  $selectiveExecutions: {
2711
2744
  newName: "selectiveExecutions",
2712
- preValidationModifications: es_extensions_1.nullToUndefined,
2713
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2714
- required: false,
2745
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2746
+ isUndefinedForbidden: false,
2747
+ mustTransformNullToUndefined: true,
2748
+ areUndefinedTypeValuesForbidden: true,
2749
+ areNullTypeValuesForbidden: true,
2715
2750
  minimalEntriesCount: 1,
2716
2751
  value: {
2717
2752
  type: Object,
2718
2753
  properties: {
2719
2754
  $tasksAndSourceFilesSelection: {
2720
2755
  newName: "tasksAndSourceFilesSelection",
2721
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2722
- required: true,
2756
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2757
+ isUndefinedForbidden: true,
2758
+ isNullForbidden: true,
2759
+ areUndefinedTypeValuesForbidden: true,
2760
+ areNullTypeValuesForbidden: true,
2723
2761
  allowedKeys: [
2724
2762
  "$markupProcessing",
2725
2763
  "$stylesProcessing",
@@ -2745,6 +2783,8 @@ var ProjectBuildingCommonSettings__FromFile__RawValid;
2745
2783
  value: {
2746
2784
  type: Array,
2747
2785
  minimalElementsCount: 1,
2786
+ areUndefinedElementsForbidden: true,
2787
+ areNullElementsForbidden: true,
2748
2788
  element: {
2749
2789
  type: String,
2750
2790
  minimalCharactersCount: 1
@@ -2754,20 +2794,25 @@ var ProjectBuildingCommonSettings__FromFile__RawValid;
2754
2794
  $browserLiveReloadingSetupID: {
2755
2795
  newName: "browserLiveReloadingSetupID",
2756
2796
  type: String,
2757
- required: false
2797
+ isUndefinedForbidden: false,
2798
+ isNullForbidden: true
2758
2799
  },
2759
2800
  $distributablePackageJSON_Generating: {
2760
2801
  newName: "distributablePackageJSON_Generating",
2761
2802
  type: Boolean,
2762
- required: false
2803
+ isUndefinedForbidden: false,
2804
+ isNullForbidden: true
2763
2805
  }
2764
2806
  }
2765
2807
  }
2766
2808
  },
2767
2809
  $publicDirectoriesRelativePaths: {
2768
2810
  newName: "publicDirectoriesRelativePaths",
2769
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2770
- required: false,
2811
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2812
+ isUndefinedForbidden: false,
2813
+ mustTransformNullToUndefined: true,
2814
+ areUndefinedTypeValuesForbidden: true,
2815
+ areNullTypeValuesForbidden: true,
2771
2816
  allowedKeys: [
2772
2817
  "$localDevelopment",
2773
2818
  "$testing",
@@ -2806,13 +2851,15 @@ var LintingSettings__FromFile__RawValid;
2806
2851
  $presetFileRelativePath: {
2807
2852
  newName: "presetFileRelativePath",
2808
2853
  type: String,
2809
- required: false,
2854
+ isUndefinedForbidden: false,
2855
+ isNullForbidden: true,
2810
2856
  minimalCharactersCount: 1
2811
2857
  },
2812
2858
  $disable: {
2813
2859
  newName: "disable",
2814
2860
  type: Boolean,
2815
- required: false
2861
+ isUndefinedForbidden: false,
2862
+ isNullForbidden: true
2816
2863
  }
2817
2864
  };
2818
2865
  })(LintingSettings__FromFile__RawValid || (LintingSettings__FromFile__RawValid = {}));
@@ -2836,7 +2883,10 @@ var OutputDirectoryPathTransformationsSettings__FromFile__RawValid;
2836
2883
  $segmentsWhichMustBeRemoved: {
2837
2884
  newName: "segmentsWhichMustBeRemoved",
2838
2885
  type: Array,
2839
- required: false,
2886
+ isUndefinedForbidden: false,
2887
+ isNullForbidden: true,
2888
+ areUndefinedElementsForbidden: true,
2889
+ areNullElementsForbidden: true,
2840
2890
  element: {
2841
2891
  type: String,
2842
2892
  minimalCharactersCount: 1
@@ -2845,7 +2895,10 @@ var OutputDirectoryPathTransformationsSettings__FromFile__RawValid;
2845
2895
  $segmentsWhichLastDuplicatesMustBeRemoved: {
2846
2896
  newName: "segmentsWhichLastDuplicatesMustBeRemoved",
2847
2897
  type: Array,
2848
- required: false,
2898
+ isUndefinedForbidden: false,
2899
+ isNullForbidden: true,
2900
+ areUndefinedElementsForbidden: true,
2901
+ areNullElementsForbidden: true,
2849
2902
  element: {
2850
2903
  type: String,
2851
2904
  minimalCharactersCount: 1
@@ -2855,7 +2908,8 @@ var OutputDirectoryPathTransformationsSettings__FromFile__RawValid;
2855
2908
  newName: "segmentsCountRelativeToGroupTopDirectoryWhichMustBeRemoved",
2856
2909
  type: Number,
2857
2910
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
2858
- required: false
2911
+ isUndefinedForbidden: false,
2912
+ isNullForbidden: true
2859
2913
  }
2860
2914
  };
2861
2915
  })(OutputDirectoryPathTransformationsSettings__FromFile__RawValid || (OutputDirectoryPathTransformationsSettings__FromFile__RawValid = {}));
@@ -2882,12 +2936,14 @@ var ResourceFilesGroupBuildingModeDependentOutputGenericSettings__FromFile__RawV
2882
2936
  $outputTopDirectoryRelativePath: {
2883
2937
  newName: "outputTopDirectoryRelativePath",
2884
2938
  type: String,
2885
- required: true
2939
+ isUndefinedForbidden: false,
2940
+ isNullForbidden: true
2886
2941
  },
2887
2942
  $outputPathTransformations: {
2888
2943
  newName: "outputPathTransformations",
2889
2944
  type: Object,
2890
- required: false,
2945
+ isUndefinedForbidden: false,
2946
+ isNullForbidden: true,
2891
2947
  properties: OutputDirectoryPathTransformationsSettings__FromFile__RawValid_1.default.propertiesSpecification
2892
2948
  }
2893
2949
  };
@@ -2911,12 +2967,14 @@ var RevisioningSettings__FromFile__RawValid;
2911
2967
  $disable: {
2912
2968
  newName: "disable",
2913
2969
  type: Boolean,
2914
- required: false
2970
+ isUndefinedForbidden: false,
2971
+ isNullForbidden: true
2915
2972
  },
2916
2973
  $contentHashPostfixSeparator: {
2917
2974
  newName: "contentHashPostfixSeparator",
2918
2975
  type: String,
2919
- required: false,
2976
+ isUndefinedForbidden: false,
2977
+ isNullForbidden: true,
2920
2978
  minimalCharactersCount: 1
2921
2979
  }
2922
2980
  };
@@ -2950,42 +3008,50 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
2950
3008
  return {
2951
3009
  $entryPointsGroups: {
2952
3010
  newName: "entryPointsGroups",
2953
- preValidationModifications: es_extensions_1.nullToUndefined,
2954
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2955
- required: true,
3011
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
3012
+ isUndefinedForbidden: true,
3013
+ mustTransformNullToUndefined: true,
3014
+ areUndefinedTypeValuesForbidden: true,
3015
+ areNullTypeValuesForbidden: true,
2956
3016
  value: {
2957
3017
  type: Object,
2958
3018
  properties: {
2959
3019
  $sourceFilesTopDirectoryRelativePath: {
2960
3020
  newName: "sourceFilesTopDirectoryRelativePath",
2961
3021
  type: String,
2962
- required: false,
3022
+ isUndefinedForbidden: false,
3023
+ isNullForbidden: true,
2963
3024
  minimalCharactersCount: 1
2964
3025
  },
2965
3026
  $sourceFilesTopDirectoryPathAliasName: {
2966
3027
  newName: "sourceFilesTopDirectoryPathAliasName",
2967
3028
  type: String,
2968
- required: false,
3029
+ isUndefinedForbidden: false,
3030
+ isNullForbidden: true,
2969
3031
  minimalCharactersCount: 1
2970
3032
  },
2971
3033
  $partialsRecognition: {
2972
3034
  newName: "partialsRecognition",
2973
- preValidationModifications: es_extensions_1.nullToUndefined,
2974
3035
  type: Object,
2975
- required: false,
3036
+ isUndefinedForbidden: false,
3037
+ mustTransformNullToUndefined: true,
2976
3038
  properties: {
2977
3039
  $excludeAllSubdirectories: {
2978
3040
  newName: "excludeAllSubdirectories",
2979
3041
  type: Boolean,
2980
- required: false
3042
+ isUndefinedForbidden: false,
3043
+ isNullForbidden: true
2981
3044
  },
2982
3045
  $excludeSubdirectoriesWithNames: {
2983
3046
  newName: "excludeSubdirectoriesWithNames",
2984
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
2985
- required: false,
3047
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
3048
+ isUndefinedForbidden: false,
3049
+ isNullForbidden: true,
2986
3050
  alternatives: [
2987
3051
  {
2988
3052
  type: Array,
3053
+ areUndefinedElementsForbidden: true,
3054
+ areNullElementsForbidden: true,
2989
3055
  minimalElementsCount: 1,
2990
3056
  element: {
2991
3057
  type: String,
@@ -3000,11 +3066,14 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
3000
3066
  },
3001
3067
  $excludeSubdirectoriesWithPrefixes: {
3002
3068
  newName: "excludeSubdirectoriesWithPrefixes",
3003
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
3004
- required: false,
3069
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
3070
+ isUndefinedForbidden: false,
3071
+ isNullForbidden: true,
3005
3072
  alternatives: [
3006
3073
  {
3007
3074
  type: Array,
3075
+ areUndefinedElementsForbidden: true,
3076
+ areNullElementsForbidden: true,
3008
3077
  minimalElementsCount: 1,
3009
3078
  element: {
3010
3079
  type: String,
@@ -3019,11 +3088,14 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
3019
3088
  },
3020
3089
  $excludeFilesWithPrefixes: {
3021
3090
  newName: "excludeFilesWithPrefixes",
3022
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
3023
- required: false,
3091
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
3092
+ isUndefinedForbidden: false,
3093
+ isNullForbidden: true,
3024
3094
  alternatives: [
3025
3095
  {
3026
3096
  type: Array,
3097
+ areUndefinedElementsForbidden: true,
3098
+ areNullElementsForbidden: true,
3027
3099
  minimalElementsCount: 1,
3028
3100
  element: {
3029
3101
  type: String
@@ -3040,23 +3112,28 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
3040
3112
  $singleEntryPointSourceFileRelativePath: {
3041
3113
  newName: "singleEntryPointSourceFileRelativePath",
3042
3114
  type: String,
3043
- requiredIf: {
3044
- predicate: (rawObjectOfCurrentDepthLevel) => !(0, es_extensions_1.isNonEmptyString)(rawObjectOfCurrentDepthLevel.$sourceFilesTopDirectoryRelativePath),
3045
- descriptionForLogging: "\"$sourceFilesTopDirectoryRelativePath\" has not been specified"
3115
+ undefinedForbiddenIf: {
3116
+ predicate: ({ rawData__currentObjectDepth: entryPointsGroup }) => !(0, es_extensions_1.isNonEmptyString)(entryPointsGroup.$sourceFilesTopDirectoryRelativePath),
3117
+ descriptionForLogging: "`$sourceFilesTopDirectoryRelativePath` has not been specified"
3046
3118
  },
3119
+ isNullForbidden: true,
3047
3120
  minimalCharactersCount: 1
3048
3121
  },
3049
3122
  $singleEntryPointSourceFilePathAliasName: {
3050
3123
  newName: "singleEntryPointSourceFilePathAliasName",
3051
3124
  type: String,
3052
- required: false,
3125
+ isUndefinedForbidden: false,
3126
+ isNullForbidden: true,
3053
3127
  minimalCharactersCount: 1
3054
3128
  },
3055
3129
  ...entryPointsGroupBuildingModeIndependentSpecificSettingsLocalizedPropertiesSpecification,
3056
3130
  $buildingModeDependent: {
3057
3131
  newName: "buildingModeDependent",
3058
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
3059
- required: true,
3132
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
3133
+ isUndefinedForbidden: true,
3134
+ isNullForbidden: true,
3135
+ areUndefinedTypeValuesForbidden: true,
3136
+ areNullTypeValuesForbidden: true,
3060
3137
  minimalEntriesCount: 1,
3061
3138
  allowedKeys: [
3062
3139
  "$staticPreview",
@@ -4393,7 +4470,10 @@ var FilesWatchingSettings__FromFile__RawValid;
4393
4470
  $relativePathsOfExcludeFiles: {
4394
4471
  newName: "relativePathsOfExcludeFiles",
4395
4472
  type: Array,
4396
- required: false,
4473
+ isUndefinedForbidden: false,
4474
+ isNullForbidden: true,
4475
+ areUndefinedElementsForbidden: true,
4476
+ areNullElementsForbidden: true,
4397
4477
  element: {
4398
4478
  type: String,
4399
4479
  minimalCharactersCount: 1
@@ -4402,7 +4482,10 @@ var FilesWatchingSettings__FromFile__RawValid;
4402
4482
  $relativePathsOfExcludeDirectories: {
4403
4483
  newName: "relativePathsOfExcludeDirectories",
4404
4484
  type: Array,
4405
- required: false,
4485
+ isUndefinedForbidden: false,
4486
+ isNullForbidden: true,
4487
+ areUndefinedElementsForbidden: true,
4488
+ areNullElementsForbidden: true,
4406
4489
  element: {
4407
4490
  type: String,
4408
4491
  minimalCharactersCount: 1
@@ -4854,26 +4937,35 @@ class OutputPackageJSON_GeneratingSettingsNormalizer {
4854
4937
  const extractionFromPackageJSON_OfConsumingProject = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
4855
4938
  filePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([commonSettings__normalized.projectRootDirectoryAbsolutePath, "package.json"], { alwaysForwardSlashSeparators: true }),
4856
4939
  validDataSpecification: {
4857
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
4940
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
4858
4941
  nameForLogging: "PackageJSON_OfConsumingProject",
4859
4942
  properties: {
4860
4943
  scripts: {
4861
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4862
- defaultValue: {},
4944
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
4945
+ undefinedValueSubstitution: {},
4946
+ isNullForbidden: true,
4947
+ areUndefinedTypeValuesForbidden: true,
4948
+ areNullTypeValuesForbidden: true,
4863
4949
  value: {
4864
4950
  type: String
4865
4951
  }
4866
4952
  },
4867
4953
  dependencies: {
4868
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4869
- defaultValue: {},
4954
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
4955
+ undefinedValueSubstitution: {},
4956
+ isNullForbidden: true,
4957
+ areUndefinedTypeValuesForbidden: true,
4958
+ areNullTypeValuesForbidden: true,
4870
4959
  value: {
4871
4960
  type: String
4872
4961
  }
4873
4962
  },
4874
4963
  devDependencies: {
4875
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4876
- defaultValue: {},
4964
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
4965
+ undefinedValueSubstitution: {},
4966
+ isNullForbidden: true,
4967
+ areUndefinedTypeValuesForbidden: true,
4968
+ areNullTypeValuesForbidden: true,
4877
4969
  value: {
4878
4970
  type: String
4879
4971
  }
@@ -4985,7 +5077,10 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
4985
5077
  $inheritedDependencies: {
4986
5078
  newName: "inheritedDependencies",
4987
5079
  type: Array,
4988
- required: false,
5080
+ isUndefinedForbidden: false,
5081
+ isNullForbidden: true,
5082
+ areUndefinedElementsForbidden: true,
5083
+ areNullElementsForbidden: true,
4989
5084
  minimalElementsCount: 1,
4990
5085
  element: {
4991
5086
  type: String,
@@ -4995,7 +5090,10 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
4995
5090
  $inheritedDevelopmentDependencies: {
4996
5091
  newName: "inheritedDevelopmentDependencies",
4997
5092
  type: Array,
4998
- required: false,
5093
+ isUndefinedForbidden: false,
5094
+ isNullForbidden: true,
5095
+ areUndefinedElementsForbidden: true,
5096
+ areNullElementsForbidden: true,
4999
5097
  minimalElementsCount: 1,
5000
5098
  element: {
5001
5099
  type: String,
@@ -5005,7 +5103,10 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5005
5103
  $inheritedNPM_Scripts: {
5006
5104
  newName: "inheritedNPM_Scripts",
5007
5105
  type: Array,
5008
- required: false,
5106
+ isUndefinedForbidden: false,
5107
+ isNullForbidden: true,
5108
+ areUndefinedElementsForbidden: true,
5109
+ areNullElementsForbidden: true,
5009
5110
  minimalElementsCount: 1,
5010
5111
  element: {
5011
5112
  type: String,
@@ -5014,9 +5115,11 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5014
5115
  },
5015
5116
  $newNPM_Scripts: {
5016
5117
  newName: "newNPM_Scripts",
5017
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5018
- required: false,
5019
- preValidationModifications: es_extensions_1.nullToUndefined,
5118
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
5119
+ isUndefinedForbidden: false,
5120
+ mustTransformNullToUndefined: true,
5121
+ areUndefinedTypeValuesForbidden: true,
5122
+ areNullTypeValuesForbidden: true,
5020
5123
  minimalEntriesCount: 1,
5021
5124
  value: {
5022
5125
  type: String,
@@ -5026,19 +5129,24 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5026
5129
  $indentString: {
5027
5130
  newName: "indentString",
5028
5131
  type: String,
5029
- required: false,
5132
+ isUndefinedForbidden: false,
5133
+ isNullForbidden: true,
5030
5134
  minimalCharactersCount: 1
5031
5135
  },
5032
5136
  $linesSeparator: {
5033
5137
  newName: "linesSeparator",
5034
5138
  type: String,
5035
- required: false,
5139
+ isUndefinedForbidden: false,
5140
+ isNullForbidden: true,
5036
5141
  allowedAlternatives: Object.values(es_extensions_1.LineSeparators.lineFeed)
5037
5142
  },
5038
5143
  $buildingModeDependent: {
5039
5144
  newName: "buildingModeDependent",
5040
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5041
- required: true,
5145
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
5146
+ isUndefinedForbidden: true,
5147
+ isNullForbidden: true,
5148
+ areUndefinedTypeValuesForbidden: true,
5149
+ areNullTypeValuesForbidden: true,
5042
5150
  minimalEntriesCount: 1,
5043
5151
  allowedKeys: [
5044
5152
  "$staticPreview",
@@ -5060,19 +5168,22 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5060
5168
  $outputDirectoryRelativePath: {
5061
5169
  newName: "outputDirectoryRelativePath",
5062
5170
  type: String,
5063
- required: true,
5171
+ isUndefinedForbidden: true,
5172
+ isNullForbidden: true,
5064
5173
  minimalCharactersCount: 1
5065
5174
  },
5066
5175
  $indentString: {
5067
5176
  newName: "indentString",
5068
5177
  type: String,
5069
- required: false,
5178
+ isUndefinedForbidden: false,
5179
+ isNullForbidden: true,
5070
5180
  minimalCharactersCount: 1
5071
5181
  },
5072
5182
  $linesSeparator: {
5073
5183
  newName: "linesSeparator",
5074
5184
  type: String,
5075
- required: false,
5185
+ isUndefinedForbidden: false,
5186
+ isNullForbidden: true,
5076
5187
  allowedAlternatives: Object.values(es_extensions_1.LineSeparators.lineFeed)
5077
5188
  }
5078
5189
  }
@@ -5467,8 +5578,11 @@ var PlainCopyingSettings__FromFile__RawValid;
5467
5578
  PlainCopyingSettings__FromFile__RawValid.propertiesSpecification = {
5468
5579
  $filesGroups: {
5469
5580
  newName: "filesGroups",
5470
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5471
- required: true,
5581
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
5582
+ isUndefinedForbidden: true,
5583
+ isNullForbidden: true,
5584
+ areUndefinedTypeValuesForbidden: true,
5585
+ areNullTypeValuesForbidden: true,
5472
5586
  minimalEntriesCount: 1,
5473
5587
  value: {
5474
5588
  type: Object,
@@ -5476,29 +5590,34 @@ var PlainCopyingSettings__FromFile__RawValid;
5476
5590
  /* ─── Common ─────────────────────────────────────────────────────────────────────────────────────────── */
5477
5591
  $aliasName: {
5478
5592
  newName: "aliasName",
5479
- preValidationModifications: es_extensions_1.nullToUndefined,
5480
5593
  type: String,
5481
- required: false
5594
+ isUndefinedForbidden: false,
5595
+ isNullForbidden: true
5482
5596
  },
5483
5597
  /* ─── Singular ───────────────────────────────────────────────────────────────────────────────────────── */
5484
5598
  $sourceFileRelativePath: {
5485
5599
  newName: "sourceFileRelativePath",
5486
5600
  type: String,
5487
- required: false
5601
+ isUndefinedForbidden: false,
5602
+ isNullForbidden: true
5488
5603
  },
5489
5604
  /* ─── Plural ─────────────────────────────────────────────────────────────────────────────────────────── */
5490
5605
  $sourceTopDirectoryRelativePath: {
5491
5606
  newName: "sourceTopDirectoryRelativePath",
5492
5607
  type: String,
5493
- requiredIf: {
5494
- predicate: (filesGroup) => (0, es_extensions_1.isUndefined)(filesGroup.$sourceFileRelativePath),
5608
+ undefinedForbiddenIf: {
5609
+ predicate: ({ rawData__currentObjectDepth: filesGroup }) => (0, es_extensions_1.isUndefined)(filesGroup.$sourceFileRelativePath),
5495
5610
  descriptionForLogging: "\"$sourceFileRelativePath\" not undefined"
5496
- }
5611
+ },
5612
+ isNullForbidden: true
5497
5613
  },
5498
5614
  $fileNameLastExtensions: {
5499
5615
  newName: "fileNameLastExtensions",
5500
5616
  type: Array,
5501
- required: false,
5617
+ isUndefinedForbidden: false,
5618
+ isNullForbidden: true,
5619
+ areUndefinedElementsForbidden: true,
5620
+ areNullElementsForbidden: true,
5502
5621
  element: {
5503
5622
  type: String,
5504
5623
  minimalCharactersCount: 1
@@ -5506,8 +5625,11 @@ var PlainCopyingSettings__FromFile__RawValid;
5506
5625
  },
5507
5626
  $buildingModeDependent: {
5508
5627
  newName: "buildingModeDependent",
5509
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5510
- required: true,
5628
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
5629
+ isUndefinedForbidden: true,
5630
+ isNullForbidden: true,
5631
+ areUndefinedTypeValuesForbidden: true,
5632
+ areNullTypeValuesForbidden: true,
5511
5633
  minimalEntriesCount: 1,
5512
5634
  allowedKeys: [
5513
5635
  "$staticPreview",
@@ -5530,18 +5652,20 @@ var PlainCopyingSettings__FromFile__RawValid;
5530
5652
  $revisioning: {
5531
5653
  newName: "revisioning",
5532
5654
  type: Object,
5533
- required: false,
5534
- preValidationModifications: es_extensions_1.nullToUndefined,
5655
+ isUndefinedForbidden: false,
5656
+ mustTransformNullToUndefined: true,
5535
5657
  properties: {
5536
5658
  $enable: {
5537
5659
  newName: "enable",
5538
5660
  type: Boolean,
5539
- required: false
5661
+ isUndefinedForbidden: false,
5662
+ isNullForbidden: true
5540
5663
  },
5541
5664
  $contentHashPostfixSeparator: {
5542
5665
  newName: "contentHashPostfixSeparator",
5543
5666
  type: String,
5544
- required: false,
5667
+ isUndefinedForbidden: false,
5668
+ isNullForbidden: true,
5545
5669
  minimalCharactersCount: 1
5546
5670
  }
5547
5671
  }
@@ -5550,38 +5674,45 @@ var PlainCopyingSettings__FromFile__RawValid;
5550
5674
  $outputDirectoryRelativePath: {
5551
5675
  newName: "outputDirectoryRelativePath",
5552
5676
  type: String,
5553
- required: false
5677
+ isUndefinedForbidden: false,
5678
+ isNullForbidden: true
5554
5679
  },
5555
5680
  $newFileNameWithExtension: {
5556
5681
  newName: "newFileNameWithExtension",
5557
5682
  type: String,
5558
- required: false,
5683
+ isUndefinedForbidden: false,
5684
+ isNullForbidden: true,
5559
5685
  minimalCharactersCount: 1
5560
5686
  },
5561
5687
  /* ─── Plural ───────────────────────────────────────────────────────────────────────────────────── */
5562
5688
  $outputTopDirectoryRelativePath: {
5563
5689
  newName: "outputTopDirectoryRelativePath",
5564
5690
  type: String,
5565
- required: false
5691
+ isUndefinedForbidden: false,
5692
+ isNullForbidden: true
5566
5693
  },
5567
5694
  $filesRenamings: {
5568
5695
  newName: "filesRenamings",
5569
5696
  type: Array,
5570
- required: false,
5571
- preValidationModifications: es_extensions_1.nullToUndefined,
5697
+ isUndefinedForbidden: false,
5698
+ mustTransformNullToUndefined: true,
5699
+ areUndefinedElementsForbidden: true,
5700
+ areNullElementsForbidden: true,
5572
5701
  element: {
5573
5702
  type: Object,
5574
5703
  properties: {
5575
5704
  $pathRelativeToSourceDirectory: {
5576
5705
  newName: "pathRelativeToSourceDirectory",
5577
5706
  type: String,
5578
- required: true,
5707
+ isUndefinedForbidden: true,
5708
+ isNullForbidden: true,
5579
5709
  minimalCharactersCount: 1
5580
5710
  },
5581
5711
  $newFileNameWithExtension: {
5582
5712
  newName: "newFileNameWithExtension",
5583
5713
  type: String,
5584
- required: true,
5714
+ isUndefinedForbidden: true,
5715
+ isNullForbidden: true,
5585
5716
  minimalCharactersCount: 1
5586
5717
  }
5587
5718
  }
@@ -5590,8 +5721,8 @@ var PlainCopyingSettings__FromFile__RawValid;
5590
5721
  $outputDirectoryPathTransformations: {
5591
5722
  newName: "outputDirectoryPathTransformations",
5592
5723
  type: Object,
5593
- required: false,
5594
- preValidationModifications: es_extensions_1.nullToUndefined,
5724
+ isUndefinedForbidden: false,
5725
+ mustTransformNullToUndefined: true,
5595
5726
  properties: OutputDirectoryPathTransformationsSettings__FromFile__RawValid_1.default.propertiesSpecification
5596
5727
  }
5597
5728
  }
@@ -5912,96 +6043,96 @@ var ProjectBuildingConfig__FromFile__RawValid;
5912
6043
  the property as optional. */
5913
6044
  ProjectBuildingConfig__FromFile__RawValid.propertiesSpecification = {
5914
6045
  nameForLogging: "ProjectBuildingConfig__FromFile__RawValid",
5915
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
6046
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
5916
6047
  properties: {
5917
6048
  $projectBuilding: {
5918
6049
  newName: "projectBuilding",
5919
- preValidationModifications: es_extensions_1.nullToUndefined,
5920
6050
  type: Object,
5921
- required: true,
6051
+ isUndefinedForbidden: true,
6052
+ isNullForbidden: true,
5922
6053
  properties: {
5923
6054
  $commonSettings: {
5924
6055
  newName: "commonSettings",
5925
- preValidationModifications: es_extensions_1.nullToUndefined,
5926
6056
  type: Object,
5927
- required: false,
6057
+ isUndefinedForbidden: false,
6058
+ mustTransformNullToUndefined: true,
5928
6059
  properties: ProjectBuildingCommonSettings__FromFile__RawValid_1.default.propertiesSpecification
5929
6060
  },
5930
6061
  $markupProcessing: {
5931
6062
  newName: "markupProcessing",
5932
- preValidationModifications: es_extensions_1.nullToUndefined,
5933
6063
  type: Object,
5934
- required: false,
6064
+ isUndefinedForbidden: false,
6065
+ mustTransformNullToUndefined: true,
5935
6066
  properties: MarkupProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5936
6067
  },
5937
6068
  $stylesProcessing: {
5938
6069
  newName: "stylesProcessing",
5939
- preValidationModifications: es_extensions_1.nullToUndefined,
5940
6070
  type: Object,
5941
- required: false,
6071
+ isUndefinedForbidden: false,
6072
+ mustTransformNullToUndefined: true,
5942
6073
  properties: StylesProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5943
6074
  },
5944
6075
  $ECMA_ScriptLogicProcessing: {
5945
6076
  newName: "ECMA_ScriptLogicProcessing",
5946
- preValidationModifications: es_extensions_1.nullToUndefined,
5947
6077
  type: Object,
5948
- required: false,
6078
+ isUndefinedForbidden: false,
6079
+ mustTransformNullToUndefined: true,
5949
6080
  properties: ECMA_ScriptLogicProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5950
6081
  },
5951
6082
  $imagesProcessing: {
5952
6083
  newName: "imagesProcessing",
5953
6084
  type: Object,
5954
- required: false,
5955
- preValidationModifications: es_extensions_1.nullToUndefined,
6085
+ isUndefinedForbidden: false,
6086
+ mustTransformNullToUndefined: true,
5956
6087
  properties: ImagesProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5957
6088
  },
5958
6089
  $fontsProcessing: {
5959
6090
  newName: "fontsProcessing",
5960
6091
  type: Object,
5961
- required: false,
5962
- preValidationModifications: es_extensions_1.nullToUndefined,
6092
+ isUndefinedForbidden: false,
6093
+ mustTransformNullToUndefined: true,
5963
6094
  properties: FontsProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5964
6095
  },
5965
6096
  $videosProcessing: {
5966
6097
  newName: "videosProcessing",
5967
6098
  type: Object,
5968
- required: false,
5969
- preValidationModifications: es_extensions_1.nullToUndefined,
6099
+ isUndefinedForbidden: false,
6100
+ mustTransformNullToUndefined: true,
5970
6101
  properties: VideosProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5971
6102
  },
5972
6103
  $audiosProcessing: {
5973
6104
  newName: "audiosProcessing",
5974
6105
  type: Object,
5975
- required: false,
5976
- preValidationModifications: es_extensions_1.nullToUndefined,
6106
+ isUndefinedForbidden: false,
6107
+ mustTransformNullToUndefined: true,
5977
6108
  properties: AudiosProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5978
6109
  },
5979
6110
  $plainCopying: {
5980
6111
  newName: "plainCopying",
5981
6112
  type: Object,
5982
- required: false,
5983
- preValidationModifications: es_extensions_1.nullToUndefined,
6113
+ isUndefinedForbidden: false,
6114
+ mustTransformNullToUndefined: true,
5984
6115
  properties: PlainCopyingSettings__FromFile__RawValid_1.default.propertiesSpecification
5985
6116
  },
5986
6117
  $filesWatching: {
5987
6118
  newName: "filesWatching",
5988
6119
  type: Object,
5989
- required: false,
5990
- preValidationModifications: es_extensions_1.nullToUndefined,
6120
+ isUndefinedForbidden: false,
6121
+ mustTransformNullToUndefined: true,
5991
6122
  properties: FilesWatchingSettings__FromFile__RawValid_1.default.propertiesSpecification
5992
6123
  },
5993
6124
  $browserLiveReloading: {
5994
6125
  newName: "browserLiveReloading",
5995
6126
  type: Object,
5996
- required: false,
5997
- preValidationModifications: es_extensions_1.nullToUndefined,
6127
+ isUndefinedForbidden: false,
6128
+ mustTransformNullToUndefined: true,
5998
6129
  properties: BrowserLiveReloadingSettings__FromFile__RawValid_1.default.propertiesSpecification
5999
6130
  },
6000
6131
  $outputPackageJSON_Generating: {
6001
6132
  newName: "outputPackageJSON_Generating",
6002
6133
  type: Object,
6003
- required: false,
6004
- preValidationModifications: es_extensions_1.nullToUndefined,
6134
+ isUndefinedForbidden: false,
6135
+ mustTransformNullToUndefined: true,
6005
6136
  properties: OutputPackageJSON_GeneratingSettings__FromFile__RawValid_1.default.propertiesSpecification
6006
6137
  }
6007
6138
  }
@@ -6563,9 +6694,9 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6563
6694
  ECMA_ScriptLogicProcessingSettings__FromFile__RawValid.propertiesSpecification = {
6564
6695
  $linting: {
6565
6696
  newName: "linting",
6566
- preValidationModifications: es_extensions_1.nullToUndefined,
6567
6697
  type: Object,
6568
- required: false,
6698
+ isUndefinedForbidden: false,
6699
+ mustTransformNullToUndefined: true,
6569
6700
  properties: LintingSettings__FromFile__RawValid_1.default.propertiesSpecification
6570
6701
  },
6571
6702
  ...SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid_1.default.generatePropertiesSpecification({
@@ -6573,32 +6704,37 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6573
6704
  $targetRuntime: {
6574
6705
  newName: "targetRuntime",
6575
6706
  type: Object,
6576
- required: true,
6707
+ isUndefinedForbidden: true,
6708
+ isNullForbidden: true,
6577
6709
  properties: {
6578
6710
  $type: {
6579
6711
  newName: "type",
6580
6712
  type: String,
6581
- required: true,
6713
+ isUndefinedForbidden: true,
6714
+ isNullForbidden: true,
6582
6715
  allowedAlternatives: Object.values(SupportedECMA_ScriptRuntimesTypes)
6583
6716
  },
6584
6717
  $minimalVersion: {
6585
6718
  newName: "minimalVersion",
6586
6719
  type: Object,
6587
- requiredIf: {
6720
+ undefinedForbiddenIf: {
6588
6721
  predicate: (runtimeConfig) => runtimeConfig.type === SupportedECMA_ScriptRuntimesTypes.nodeJS,
6589
6722
  descriptionForLogging: "Target runtime is NodeJS"
6590
6723
  },
6724
+ isNullForbidden: true,
6591
6725
  properties: {
6592
6726
  $major: {
6593
6727
  newName: "major",
6594
6728
  type: Number,
6595
- required: true,
6729
+ isUndefinedForbidden: true,
6730
+ isNullForbidden: true,
6596
6731
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
6597
6732
  },
6598
6733
  $minor: {
6599
6734
  newName: "minor",
6600
6735
  type: Number,
6601
- required: false,
6736
+ isUndefinedForbidden: false,
6737
+ isNullForbidden: true,
6602
6738
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
6603
6739
  }
6604
6740
  }
@@ -6608,47 +6744,56 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6608
6744
  $associatedMarkupEntryPointsGroupID_ForDynamicModulesLoadingWithoutDevelopmentServer: {
6609
6745
  newName: "associatedMarkupEntryPointsGroupID_ForDynamicModulesLoadingWithoutDevelopmentServer",
6610
6746
  type: String,
6611
- required: false,
6747
+ isUndefinedForbidden: false,
6748
+ isNullForbidden: true,
6612
6749
  minimalCharactersCount: 1
6613
6750
  },
6614
6751
  $typeScriptConfigurationFileRelativePath: {
6615
6752
  newName: "typeScriptConfigurationFileRelativePath",
6616
6753
  type: String,
6617
- required: false,
6754
+ isUndefinedForbidden: false,
6755
+ isNullForbidden: true,
6618
6756
  minimalCharactersCount: 1
6619
6757
  },
6620
6758
  $distributing: {
6621
6759
  newName: "distributing",
6622
6760
  type: Object,
6623
- required: false,
6761
+ isUndefinedForbidden: false,
6762
+ isNullForbidden: true,
6624
6763
  properties: {
6625
6764
  $exposingOfExportsFromEntryPoints: {
6626
6765
  newName: "exposingOfExportsFromEntryPoints",
6627
6766
  type: Object,
6628
- required: false,
6767
+ isUndefinedForbidden: false,
6768
+ isNullForbidden: true,
6629
6769
  properties: {
6630
6770
  $mustExpose: {
6631
6771
  newName: "mustExpose",
6632
6772
  type: Boolean,
6633
- required: true
6773
+ isUndefinedForbidden: true,
6774
+ isNullForbidden: true
6634
6775
  },
6635
6776
  $namespace: {
6636
6777
  newName: "namespace",
6637
6778
  type: String,
6638
- required: false
6779
+ isUndefinedForbidden: false,
6780
+ isNullForbidden: true
6639
6781
  },
6640
6782
  $mustAssignToWindowObject: {
6641
6783
  newName: "mustAssignToWindowObject",
6642
6784
  type: String,
6643
- required: false
6785
+ isUndefinedForbidden: false,
6786
+ isNullForbidden: true
6644
6787
  }
6645
6788
  }
6646
6789
  },
6647
6790
  $externalizingDependencies: {
6648
6791
  newName: "externalizingDependencies",
6649
- required: false,
6792
+ isUndefinedForbidden: false,
6793
+ mustTransformNullToUndefined: true,
6794
+ areUndefinedElementsForbidden: true,
6795
+ areNullElementsForbidden: true,
6650
6796
  type: Array,
6651
- preValidationModifications: es_extensions_1.nullToUndefined,
6652
6797
  element: {
6653
6798
  type: String,
6654
6799
  minimalCharactersCount: 1
@@ -6657,17 +6802,20 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6657
6802
  $typeScriptTypesDeclarations: {
6658
6803
  newName: "typeScriptTypesDeclarations",
6659
6804
  type: Object,
6660
- required: false,
6805
+ isUndefinedForbidden: false,
6806
+ mustTransformNullToUndefined: true,
6661
6807
  properties: {
6662
6808
  $mustGenerate: {
6663
6809
  newName: "mustGenerate",
6664
6810
  type: Boolean,
6665
- required: false
6811
+ isUndefinedForbidden: false,
6812
+ isNullForbidden: true
6666
6813
  },
6667
6814
  $fileNameWithoutExtension: {
6668
6815
  newName: "fileNameWithoutExtension",
6669
6816
  type: String,
6670
- required: false
6817
+ isUndefinedForbidden: false,
6818
+ isNullForbidden: true
6671
6819
  }
6672
6820
  }
6673
6821
  }
@@ -6678,20 +6826,22 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6678
6826
  $revisioning: {
6679
6827
  newName: "revisioning",
6680
6828
  type: Object,
6681
- required: false,
6682
- preValidationModifications: es_extensions_1.nullToUndefined,
6829
+ isUndefinedForbidden: false,
6830
+ mustTransformNullToUndefined: true,
6683
6831
  properties: RevisioningSettings__FromFile__RawValid_1.default.propertiesSpecification
6684
6832
  },
6685
6833
  $dynamicallyLoadedFilesSubdirectory: {
6686
6834
  newName: "dynamicallyLoadedFilesSubdirectory",
6687
6835
  type: String,
6688
- required: false,
6836
+ isUndefinedForbidden: false,
6837
+ isNullForbidden: true,
6689
6838
  minimalCharactersCount: 1
6690
6839
  },
6691
6840
  $dynamicallyLoadedFilesNamesTemplate: {
6692
6841
  newName: "dynamicallyLoadedFilesNamesTemplate",
6693
6842
  type: String,
6694
- required: false,
6843
+ isUndefinedForbidden: false,
6844
+ isNullForbidden: true,
6695
6845
  minimalCharactersCount: 1
6696
6846
  }
6697
6847
  }
@@ -6699,44 +6849,50 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6699
6849
  $logging: {
6700
6850
  newName: "logging",
6701
6851
  type: Object,
6702
- required: false,
6703
- preValidationModifications: es_extensions_1.nullToUndefined,
6852
+ isUndefinedForbidden: false,
6853
+ mustTransformNullToUndefined: true,
6704
6854
  properties: {
6705
6855
  $filesPaths: {
6706
6856
  newName: "filesPaths",
6707
6857
  type: Boolean,
6708
- required: false
6858
+ isUndefinedForbidden: false,
6859
+ isNullForbidden: true
6709
6860
  },
6710
6861
  $filesCount: {
6711
6862
  newName: "filesCount",
6712
6863
  type: Boolean,
6713
- required: false
6864
+ isUndefinedForbidden: false,
6865
+ isNullForbidden: true
6714
6866
  },
6715
6867
  $partialFilesAndParentEntryPointsCorrespondence: {
6716
6868
  newName: "partialFilesAndParentEntryPointsCorrespondence",
6717
6869
  type: Boolean,
6718
- required: false
6870
+ isUndefinedForbidden: false,
6871
+ isNullForbidden: true
6719
6872
  },
6720
6873
  $filesWatcherEvents: {
6721
6874
  newName: "filesWatcherEvents",
6722
6875
  type: Boolean,
6723
- required: false
6876
+ isUndefinedForbidden: false,
6877
+ isNullForbidden: true
6724
6878
  },
6725
6879
  $linting: {
6726
6880
  newName: "linting",
6727
6881
  type: Object,
6728
- required: false,
6729
- preValidationModifications: es_extensions_1.nullToUndefined,
6882
+ isUndefinedForbidden: false,
6883
+ isNullForbidden: true,
6730
6884
  properties: {
6731
6885
  $starting: {
6732
6886
  newName: "starting",
6733
6887
  type: Boolean,
6734
- required: false
6888
+ isUndefinedForbidden: false,
6889
+ isNullForbidden: true
6735
6890
  },
6736
6891
  $completionWithoutIssues: {
6737
6892
  newName: "completionWithoutIssues",
6738
6893
  type: Boolean,
6739
- required: false
6894
+ isUndefinedForbidden: false,
6895
+ isNullForbidden: true
6740
6896
  }
6741
6897
  }
6742
6898
  }
@@ -6745,19 +6901,23 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6745
6901
  $localDevelopmentServerOrchestration: {
6746
6902
  newName: "localDevelopmentServerOrchestration",
6747
6903
  type: Object,
6748
- required: false,
6749
- preValidationModifications: es_extensions_1.nullToUndefined,
6904
+ isUndefinedForbidden: false,
6905
+ mustTransformNullToUndefined: true,
6750
6906
  properties: {
6751
6907
  $targetSingularEntryPointsGroupID: {
6752
6908
  newName: "targetSingularEntryPointsGroupID",
6753
6909
  type: String,
6754
- required: true,
6910
+ isUndefinedForbidden: true,
6911
+ isNullForbidden: true,
6755
6912
  minimalCharactersCount: 1
6756
6913
  },
6757
6914
  $arguments: {
6758
6915
  newName: "arguments",
6759
6916
  type: Array,
6760
- required: false,
6917
+ isUndefinedForbidden: false,
6918
+ isNullForbidden: true,
6919
+ areUndefinedElementsForbidden: true,
6920
+ areNullElementsForbidden: true,
6761
6921
  element: {
6762
6922
  type: String,
6763
6923
  minimalCharactersCount: 1
@@ -6765,8 +6925,11 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6765
6925
  },
6766
6926
  $environmentVariables: {
6767
6927
  newName: "environmentVariables",
6768
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
6769
- required: false,
6928
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
6929
+ isUndefinedForbidden: false,
6930
+ isNullForbidden: true,
6931
+ areUndefinedTypeValuesForbidden: true,
6932
+ areNullTypeValuesForbidden: true,
6770
6933
  value: {
6771
6934
  type: String,
6772
6935
  minimalCharactersCount: 1
@@ -6775,7 +6938,8 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6775
6938
  $environmentVariablesFileRelativePath: {
6776
6939
  newName: "environmentVariablesFileRelativePath",
6777
6940
  type: String,
6778
- required: false,
6941
+ isUndefinedForbidden: false,
6942
+ isNullForbidden: true,
6779
6943
  minimalCharactersCount: 1
6780
6944
  }
6781
6945
  }
@@ -7159,70 +7323,87 @@ class ECMA_ScriptSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
7159
7323
  sourceFilesCachedCheckingResults: {
7160
7324
  fileNameWithExtension: "ECMA_ScriptLintingCache.json",
7161
7325
  contentSpecification: {
7162
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
7326
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
7163
7327
  nameForLogging: "CachedMarkupLintingResultsFileContent",
7164
7328
  properties: {
7165
7329
  files: {
7166
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
7167
- required: true,
7330
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
7331
+ isUndefinedForbidden: true,
7332
+ isNullForbidden: true,
7333
+ areUndefinedTypeValuesForbidden: true,
7334
+ areNullTypeValuesForbidden: true,
7168
7335
  value: {
7169
7336
  type: Object,
7170
7337
  properties: {
7171
7338
  issues: {
7172
7339
  type: Array,
7173
- required: true,
7340
+ isUndefinedForbidden: true,
7341
+ isNullForbidden: true,
7342
+ areUndefinedElementsForbidden: true,
7343
+ areNullElementsForbidden: true,
7174
7344
  element: {
7175
7345
  type: Object,
7176
7346
  properties: {
7177
7347
  ruleID: {
7178
7348
  type: String,
7179
- required: false
7349
+ isUndefinedForbidden: false,
7350
+ isNullForbidden: true
7180
7351
  },
7181
7352
  message: {
7182
7353
  type: String,
7183
- required: true
7354
+ isUndefinedForbidden: true,
7355
+ isNullForbidden: true
7184
7356
  },
7185
7357
  codeFragment: {
7186
7358
  type: Object,
7187
- required: true,
7359
+ isUndefinedForbidden: true,
7360
+ isNullForbidden: true,
7188
7361
  properties: {
7189
7362
  beforeHighlighting: {
7190
7363
  type: String,
7191
- required: true
7364
+ isUndefinedForbidden: true,
7365
+ isNullForbidden: true
7192
7366
  },
7193
7367
  highlighted: {
7194
7368
  type: String,
7195
- required: true
7369
+ isUndefinedForbidden: true,
7370
+ isNullForbidden: true
7196
7371
  },
7197
7372
  afterHighlighting: {
7198
7373
  type: String,
7199
- required: true
7374
+ isUndefinedForbidden: true,
7375
+ isNullForbidden: true
7200
7376
  }
7201
7377
  }
7202
7378
  },
7203
7379
  location: {
7204
7380
  type: Object,
7205
- required: true,
7381
+ isUndefinedForbidden: true,
7382
+ isNullForbidden: true,
7206
7383
  properties: {
7207
7384
  startingLineNumber__numerationFrom1: {
7208
7385
  type: Number,
7209
7386
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7210
- required: false
7387
+ isUndefinedForbidden: false,
7388
+ isNullForbidden: true
7211
7389
  },
7212
7390
  endingLineNumber__numerationFrom1: {
7213
7391
  type: Number,
7214
7392
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7215
- required: false
7393
+ isUndefinedForbidden: false,
7394
+ isNullForbidden: true
7216
7395
  },
7217
7396
  startingColumnNumber__numerationFrom1: {
7218
7397
  type: Number,
7219
7398
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7220
- required: false
7399
+ isUndefinedForbidden: false,
7400
+ isNullForbidden: true
7221
7401
  },
7222
7402
  endingColumnNumber__numerationFrom1: {
7223
7403
  type: Number,
7224
7404
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7225
- required: false
7405
+ isUndefinedForbidden: false,
7406
+ isNullForbidden: true
7226
7407
  }
7227
7408
  }
7228
7409
  }
@@ -7231,7 +7412,8 @@ class ECMA_ScriptSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
7231
7412
  },
7232
7413
  modificationDateTime__ISO_8601: {
7233
7414
  type: String,
7234
- required: true,
7415
+ isUndefinedForbidden: true,
7416
+ isNullForbidden: true,
7235
7417
  minimalCharactersCount: 1
7236
7418
  }
7237
7419
  }
@@ -8448,37 +8630,44 @@ var MarkupProcessingSettings__FromFile__RawValid;
8448
8630
  return {
8449
8631
  newName: "localization",
8450
8632
  type: Object,
8451
- required: false,
8452
- preValidationModifications: es_extensions_1.nullToUndefined,
8633
+ isUndefinedForbidden: false,
8634
+ mustTransformNullToUndefined: true,
8453
8635
  properties: {
8454
8636
  $stringResourcesFileRelativePath: {
8455
8637
  newName: "stringResourcesFileRelativePath",
8456
8638
  type: String,
8457
- required: false,
8639
+ isUndefinedForbidden: false,
8640
+ isNullForbidden: true,
8458
8641
  minimalCharactersCount: 1
8459
8642
  },
8460
8643
  $localizedStringResourcesConstantName: {
8461
8644
  newName: "localizedStringResourcesConstantName",
8462
8645
  type: String,
8463
- required: false,
8646
+ isUndefinedForbidden: false,
8647
+ isNullForbidden: true,
8464
8648
  minimalCharactersCount: 1
8465
8649
  },
8466
8650
  $localeConstantName: {
8467
8651
  newName: "localeConstantName",
8468
8652
  type: String,
8469
- required: false,
8653
+ isUndefinedForbidden: false,
8654
+ isNullForbidden: true,
8470
8655
  minimalCharactersCount: 1
8471
8656
  },
8472
8657
  $nameOfConstantForInterpolationToLangHTML_Attribute: {
8473
8658
  newName: "nameOfConstantForInterpolationToLangHTML_Attribute",
8474
8659
  type: String,
8475
- required: false,
8660
+ isUndefinedForbidden: false,
8661
+ isNullForbidden: true,
8476
8662
  minimalCharactersCount: 1
8477
8663
  },
8478
8664
  $locales: {
8479
8665
  newName: "locales",
8480
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8481
- required: true,
8666
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
8667
+ isUndefinedForbidden: true,
8668
+ isNullForbidden: true,
8669
+ areUndefinedTypeValuesForbidden: true,
8670
+ areNullTypeValuesForbidden: true,
8482
8671
  minimalEntriesCount: 1,
8483
8672
  value: {
8484
8673
  type: Object,
@@ -8486,25 +8675,29 @@ var MarkupProcessingSettings__FromFile__RawValid;
8486
8675
  $outputFileInterimNameExtensionWithoutDot: {
8487
8676
  newName: "outputFileInterimNameExtensionWithoutDot",
8488
8677
  type: String,
8489
- required: true,
8678
+ isUndefinedForbidden: true,
8679
+ isNullForbidden: true,
8490
8680
  minimalCharactersCount: 1
8491
8681
  },
8492
8682
  $localeConstantValue: {
8493
8683
  newName: "localeConstantValue",
8494
8684
  type: String,
8495
- required: false,
8685
+ isUndefinedForbidden: false,
8686
+ isNullForbidden: true,
8496
8687
  minimalCharactersCount: 1
8497
8688
  },
8498
8689
  $keyInLocalizedStringResourcesObject: {
8499
8690
  newName: "keyInLocalizedStringResourcesObject",
8500
8691
  type: String,
8501
- required: false,
8692
+ isUndefinedForbidden: false,
8693
+ isNullForbidden: true,
8502
8694
  minimalCharactersCount: 1
8503
8695
  },
8504
8696
  $valueOfConstantForInterpolationToLangHTML_Attribute: {
8505
8697
  newName: "valueOfConstantForInterpolationToLangHTML_Attribute",
8506
8698
  type: String,
8507
- required: false,
8699
+ isUndefinedForbidden: false,
8700
+ isNullForbidden: true,
8508
8701
  minimalCharactersCount: 1
8509
8702
  }
8510
8703
  }
@@ -8520,14 +8713,17 @@ var MarkupProcessingSettings__FromFile__RawValid;
8520
8713
  $common: {
8521
8714
  newName: "common",
8522
8715
  type: Object,
8523
- required: false,
8524
- preValidationModifications: es_extensions_1.nullToUndefined,
8716
+ isUndefinedForbidden: false,
8717
+ mustTransformNullToUndefined: true,
8525
8718
  properties: {
8526
8719
  $localization: generateLocalizationPropertiesSpecification({
8527
8720
  $excludedFilesPathsRelativeRelativeToProjectRootDirectory: {
8528
8721
  newName: "excludedFilesPathsRelativeRelativeToProjectRootDirectory",
8529
8722
  type: Array,
8530
- required: false,
8723
+ isUndefinedForbidden: false,
8724
+ isNullForbidden: true,
8725
+ areUndefinedElementsForbidden: true,
8726
+ areNullElementsForbidden: true,
8531
8727
  element: {
8532
8728
  type: String,
8533
8729
  minimalCharactersCount: 1
@@ -8536,8 +8732,11 @@ var MarkupProcessingSettings__FromFile__RawValid;
8536
8732
  }),
8537
8733
  $buildingModeDependent: {
8538
8734
  newName: "buildingModeDependent",
8539
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8540
- required: false,
8735
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
8736
+ isUndefinedForbidden: false,
8737
+ mustTransformNullToUndefined: true,
8738
+ areUndefinedTypeValuesForbidden: true,
8739
+ areNullTypeValuesForbidden: true,
8541
8740
  minimalEntriesCount: 1,
8542
8741
  allowedKeys: [
8543
8742
  "$localDevelopment",
@@ -8558,12 +8757,14 @@ var MarkupProcessingSettings__FromFile__RawValid;
8558
8757
  newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
8559
8758
  type: Number,
8560
8759
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
8561
- required: false
8760
+ isUndefinedForbidden: false,
8761
+ isNullForbidden: true
8562
8762
  },
8563
8763
  $mustResolveResourcesPointersToRelativePaths: {
8564
8764
  newName: "mustResolveResourcesPointersToRelativePaths",
8565
8765
  type: Boolean,
8566
- required: false
8766
+ isUndefinedForbidden: false,
8767
+ isNullForbidden: true
8567
8768
  }
8568
8769
  }
8569
8770
  }
@@ -8573,42 +8774,47 @@ var MarkupProcessingSettings__FromFile__RawValid;
8573
8774
  /* ━━━ Static Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8574
8775
  $staticPreview: {
8575
8776
  newName: "staticPreview",
8576
- preValidationModifications: es_extensions_1.nullToUndefined,
8577
8777
  type: Object,
8578
- required: false,
8778
+ isUndefinedForbidden: false,
8779
+ mustTransformNullToUndefined: true,
8579
8780
  properties: {
8580
8781
  $stateDependentPagesVariations: {
8581
8782
  newName: "stateDependentPagesVariations",
8582
8783
  type: Object,
8583
- required: false,
8584
- preValidationModifications: es_extensions_1.nullToUndefined,
8784
+ isUndefinedForbidden: false,
8785
+ mustTransformNullToUndefined: true,
8585
8786
  properties: {
8586
8787
  $specificationFileRelativePath: {
8587
8788
  newName: "specificationFileRelativePath",
8588
8789
  type: String,
8589
- required: true,
8790
+ isUndefinedForbidden: true,
8791
+ isNullForbidden: true,
8590
8792
  minimalCharactersCount: 1
8591
8793
  }
8592
8794
  }
8593
8795
  },
8594
8796
  $importsFromStaticDataFiles: {
8595
8797
  newName: "importsFromStaticDataFiles",
8596
- preValidationModifications: es_extensions_1.nullToUndefined,
8597
8798
  type: Array,
8598
- required: false,
8799
+ isUndefinedForbidden: false,
8800
+ mustTransformNullToUndefined: true,
8801
+ areUndefinedElementsForbidden: true,
8802
+ areNullElementsForbidden: true,
8599
8803
  element: {
8600
8804
  type: Object,
8601
8805
  properties: {
8602
8806
  $importedVariableName: {
8603
8807
  newName: "importedVariableName",
8604
8808
  type: String,
8605
- required: true,
8809
+ isUndefinedForbidden: true,
8810
+ isNullForbidden: true,
8606
8811
  minimalCharactersCount: 1
8607
8812
  },
8608
8813
  $fileRelativePath: {
8609
8814
  newName: "fileRelativePath",
8610
8815
  type: String,
8611
- required: true,
8816
+ isUndefinedForbidden: true,
8817
+ isNullForbidden: true,
8612
8818
  minimalCharactersCount: 1
8613
8819
  }
8614
8820
  }
@@ -8619,34 +8825,37 @@ var MarkupProcessingSettings__FromFile__RawValid;
8619
8825
  /* ━━━ Linting ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8620
8826
  $linting: {
8621
8827
  newName: "linting",
8622
- preValidationModifications: es_extensions_1.nullToUndefined,
8623
8828
  type: Object,
8624
- required: false,
8829
+ isUndefinedForbidden: false,
8830
+ mustTransformNullToUndefined: true,
8625
8831
  properties: LintingSettings__FromFile__RawValid_1.default.propertiesSpecification
8626
8832
  },
8627
8833
  /* ━━━ Importing From TypeScript ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8628
8834
  $importingFromTypeScript: {
8629
8835
  newName: "importingFromTypeScript",
8630
- preValidationModifications: es_extensions_1.nullToUndefined,
8631
8836
  type: Object,
8632
- required: false,
8837
+ isUndefinedForbidden: false,
8838
+ mustTransformNullToUndefined: true,
8633
8839
  properties: {
8634
8840
  $typeScriptConfigurationFileRelativePath: {
8635
8841
  newName: "typeScriptConfigurationFileRelativePath",
8636
8842
  type: String,
8637
- required: false,
8843
+ isUndefinedForbidden: false,
8844
+ isNullForbidden: true,
8638
8845
  minimalCharactersCount: 1
8639
8846
  },
8640
8847
  $importedNamespace: {
8641
8848
  newName: "importedNamespace",
8642
8849
  type: String,
8643
- required: true,
8850
+ isUndefinedForbidden: true,
8851
+ isNullForbidden: true,
8644
8852
  minimalCharactersCount: 1
8645
8853
  },
8646
8854
  $sourceFileRelativePath: {
8647
8855
  newName: "sourceFileRelativePath",
8648
8856
  type: String,
8649
- required: true,
8857
+ isUndefinedForbidden: true,
8858
+ isNullForbidden: true,
8650
8859
  minimalCharactersCount: 1
8651
8860
  }
8652
8861
  }
@@ -8654,20 +8863,22 @@ var MarkupProcessingSettings__FromFile__RawValid;
8654
8863
  /* ━━━ Importing from JavaScript ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8655
8864
  $importingFromJavaScript: {
8656
8865
  newName: "importingFromJavaScript",
8657
- preValidationModifications: es_extensions_1.nullToUndefined,
8658
8866
  type: Object,
8659
- required: false,
8867
+ isUndefinedForbidden: false,
8868
+ mustTransformNullToUndefined: true,
8660
8869
  properties: {
8661
8870
  $sourceFileRelativePath: {
8662
8871
  newName: "sourceFileRelativePath",
8663
8872
  type: String,
8664
- required: true,
8873
+ isUndefinedForbidden: true,
8874
+ isNullForbidden: true,
8665
8875
  minimalCharactersCount: 1
8666
8876
  },
8667
8877
  $nameOfGlobalConstantForStoringOfImports: {
8668
8878
  newName: "nameOfGlobalConstantForStoringOfImports",
8669
8879
  type: String,
8670
- required: true,
8880
+ isUndefinedForbidden: true,
8881
+ isNullForbidden: true,
8671
8882
  minimalCharactersCount: 1
8672
8883
  }
8673
8884
  }
@@ -8676,26 +8887,30 @@ var MarkupProcessingSettings__FromFile__RawValid;
8676
8887
  $routing: {
8677
8888
  newName: "routing",
8678
8889
  type: Object,
8679
- required: false,
8680
- preValidationModifications: es_extensions_1.nullToUndefined,
8890
+ isUndefinedForbidden: false,
8891
+ mustTransformNullToUndefined: true,
8681
8892
  properties: {
8682
8893
  $specificationFileRelativePath: {
8683
8894
  newName: "specificationFileRelativePath",
8684
8895
  type: String,
8685
- required: true,
8896
+ isUndefinedForbidden: true,
8897
+ isNullForbidden: true,
8686
8898
  minimalCharactersCount: 1
8687
8899
  },
8688
8900
  $variable: {
8689
8901
  newName: "variable",
8690
8902
  type: String,
8691
- required: true,
8903
+ isUndefinedForbidden: true,
8904
+ isNullForbidden: true,
8692
8905
  minimalCharactersCount: 1
8693
8906
  },
8694
8907
  $localizations: {
8695
8908
  newName: "localizations",
8696
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8697
- required: false,
8698
- preValidationModifications: es_extensions_1.nullToUndefined,
8909
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
8910
+ isUndefinedForbidden: false,
8911
+ mustTransformNullToUndefined: true,
8912
+ areUndefinedTypeValuesForbidden: true,
8913
+ areNullTypeValuesForbidden: true,
8699
8914
  value: {
8700
8915
  type: String,
8701
8916
  minimalCharactersCount: 1
@@ -8709,13 +8924,17 @@ var MarkupProcessingSettings__FromFile__RawValid;
8709
8924
  newName: "outputFormat",
8710
8925
  type: String,
8711
8926
  allowedAlternatives: Object.values(MarkupProcessingRestrictions_1.default.OutputFormats),
8712
- required: false
8927
+ isUndefinedForbidden: false,
8928
+ isNullForbidden: true
8713
8929
  },
8714
8930
  $localization: generateLocalizationPropertiesSpecification({
8715
8931
  $excludedFilesPathsRelativeToSourcesFilesTopDirectory: {
8716
8932
  newName: "excludedFilesPathsRelativeToSourcesFilesTopDirectory",
8717
8933
  type: Array,
8718
- required: false,
8934
+ isUndefinedForbidden: false,
8935
+ isNullForbidden: true,
8936
+ areUndefinedElementsForbidden: true,
8937
+ areNullElementsForbidden: true,
8719
8938
  element: {
8720
8939
  type: String,
8721
8940
  minimalCharactersCount: 1
@@ -8724,25 +8943,29 @@ var MarkupProcessingSettings__FromFile__RawValid;
8724
8943
  }),
8725
8944
  $HTML_Validation: {
8726
8945
  newName: "HTML_Validation",
8727
- preValidationModifications: es_extensions_1.nullToUndefined,
8728
8946
  type: Object,
8729
- required: false,
8947
+ isUndefinedForbidden: false,
8948
+ mustTransformNullToUndefined: true,
8730
8949
  properties: {
8731
8950
  $disable: {
8732
8951
  newName: "disable",
8733
8952
  type: Boolean,
8734
- required: false
8953
+ isUndefinedForbidden: false,
8954
+ isNullForbidden: true
8735
8955
  },
8736
8956
  $ignoring: {
8737
8957
  newName: "ignoring",
8738
- preValidationModifications: es_extensions_1.nullToUndefined,
8739
8958
  type: Object,
8740
- required: false,
8959
+ isUndefinedForbidden: false,
8960
+ mustTransformNullToUndefined: true,
8741
8961
  properties: {
8742
8962
  $files: {
8743
8963
  newName: "files",
8744
8964
  type: Array,
8745
- required: false,
8965
+ isUndefinedForbidden: false,
8966
+ isNullForbidden: true,
8967
+ areUndefinedElementsForbidden: true,
8968
+ areNullElementsForbidden: true,
8746
8969
  element: {
8747
8970
  type: String,
8748
8971
  minimalCharactersCount: 1
@@ -8751,7 +8974,10 @@ var MarkupProcessingSettings__FromFile__RawValid;
8751
8974
  $directories: {
8752
8975
  newName: "directories",
8753
8976
  type: Array,
8754
- required: false,
8977
+ isUndefinedForbidden: false,
8978
+ isNullForbidden: true,
8979
+ areUndefinedElementsForbidden: true,
8980
+ areNullElementsForbidden: true,
8755
8981
  element: {
8756
8982
  type: String,
8757
8983
  minimalCharactersCount: 1
@@ -8763,31 +8989,36 @@ var MarkupProcessingSettings__FromFile__RawValid;
8763
8989
  },
8764
8990
  $accessibilityInspection: {
8765
8991
  newName: "accessibilityInspection",
8766
- preValidationModifications: es_extensions_1.nullToUndefined,
8767
8992
  type: Object,
8768
- required: false,
8993
+ isUndefinedForbidden: false,
8994
+ mustTransformNullToUndefined: true,
8769
8995
  properties: {
8770
8996
  $standard: {
8771
8997
  newName: "standard",
8772
8998
  type: String,
8773
- required: false,
8999
+ isUndefinedForbidden: false,
9000
+ isNullForbidden: true,
8774
9001
  allowedAlternatives: Object.values(MarkupProcessingRestrictions_1.default.SupportedAccessibilityStandards)
8775
9002
  },
8776
9003
  $disable: {
8777
9004
  newName: "disable",
8778
9005
  type: Boolean,
8779
- required: false
9006
+ isUndefinedForbidden: false,
9007
+ isNullForbidden: true
8780
9008
  },
8781
9009
  $ignoring: {
8782
9010
  newName: "ignoring",
8783
- preValidationModifications: es_extensions_1.nullToUndefined,
8784
9011
  type: Object,
8785
- required: false,
9012
+ isUndefinedForbidden: false,
9013
+ mustTransformNullToUndefined: true,
8786
9014
  properties: {
8787
9015
  $files: {
8788
9016
  newName: "files",
8789
9017
  type: Array,
8790
- required: false,
9018
+ isUndefinedForbidden: false,
9019
+ isNullForbidden: true,
9020
+ areUndefinedElementsForbidden: true,
9021
+ areNullElementsForbidden: true,
8791
9022
  element: {
8792
9023
  type: String,
8793
9024
  minimalCharactersCount: 1
@@ -8796,7 +9027,10 @@ var MarkupProcessingSettings__FromFile__RawValid;
8796
9027
  $directories: {
8797
9028
  newName: "directories",
8798
9029
  type: Array,
8799
- required: false,
9030
+ isUndefinedForbidden: false,
9031
+ isNullForbidden: true,
9032
+ areUndefinedElementsForbidden: true,
9033
+ areNullElementsForbidden: true,
8800
9034
  element: {
8801
9035
  type: String,
8802
9036
  minimalCharactersCount: 1
@@ -8811,63 +9045,72 @@ var MarkupProcessingSettings__FromFile__RawValid;
8811
9045
  $outputCodeFormatting: {
8812
9046
  newName: "outputCodeFormatting",
8813
9047
  type: Object,
8814
- required: false,
8815
- preValidationModifications: es_extensions_1.nullToUndefined,
9048
+ isUndefinedForbidden: false,
9049
+ mustTransformNullToUndefined: true,
8816
9050
  properties: {
8817
9051
  $enable: {
8818
9052
  newName: "enable",
8819
9053
  type: Boolean,
8820
- required: false
9054
+ isUndefinedForbidden: false,
9055
+ isNullForbidden: true
8821
9056
  },
8822
9057
  $indentationString: {
8823
9058
  newName: "indentationString",
8824
9059
  type: String,
8825
- required: false,
9060
+ isUndefinedForbidden: false,
9061
+ isNullForbidden: true,
8826
9062
  validValueRegularExpression: /^\s+$/u
8827
9063
  },
8828
9064
  $lineSeparators: {
8829
9065
  newName: "lineSeparators",
8830
9066
  type: String,
8831
- required: false,
9067
+ isUndefinedForbidden: false,
9068
+ isNullForbidden: true,
8832
9069
  allowedAlternatives: Object.values(es_extensions_1.LineSeparators)
8833
9070
  },
8834
9071
  $mustGuaranteeTrailingEmptyLine: {
8835
9072
  newName: "mustGuaranteeTrailingEmptyLine",
8836
9073
  type: Boolean,
8837
- required: false
9074
+ isUndefinedForbidden: false,
9075
+ isNullForbidden: true
8838
9076
  },
8839
9077
  $mustIndentHeadAndBodyTags: {
8840
9078
  newName: "mustIndentHeadAndBodyTags",
8841
9079
  type: Boolean,
8842
- required: false
9080
+ isUndefinedForbidden: false,
9081
+ isNullForbidden: true
8843
9082
  }
8844
9083
  }
8845
9084
  },
8846
9085
  $outputCodeMinifying: {
8847
9086
  newName: "outputCodeMinifying",
8848
9087
  type: Object,
8849
- required: false,
8850
- preValidationModifications: es_extensions_1.nullToUndefined,
9088
+ isUndefinedForbidden: false,
9089
+ mustTransformNullToUndefined: true,
8851
9090
  properties: {
8852
9091
  $enable: {
8853
9092
  newName: "enable",
8854
9093
  type: Boolean,
8855
- required: false
9094
+ isUndefinedForbidden: false,
9095
+ isNullForbidden: true
8856
9096
  },
8857
9097
  $attributesExtraWhitespacesCollapsing: {
8858
9098
  newName: "attributesExtraWhitespacesCollapsing",
8859
9099
  type: Boolean,
8860
- required: false
9100
+ isUndefinedForbidden: false,
9101
+ isNullForbidden: true
8861
9102
  },
8862
9103
  $attributesValuesDeduplication: {
8863
9104
  newName: "attributesValuesDeduplication",
8864
9105
  type: Boolean,
8865
- required: false
9106
+ isUndefinedForbidden: false,
9107
+ isNullForbidden: true
8866
9108
  },
8867
9109
  $commentsRemoving: {
8868
9110
  newName: "commentsRemoving",
8869
9111
  type: Boolean,
8870
- required: false
9112
+ isUndefinedForbidden: false,
9113
+ isNullForbidden: true
8871
9114
  }
8872
9115
  }
8873
9116
  }
@@ -8876,80 +9119,90 @@ var MarkupProcessingSettings__FromFile__RawValid;
8876
9119
  $logging: {
8877
9120
  newName: "logging",
8878
9121
  type: Object,
8879
- required: false,
8880
- preValidationModifications: es_extensions_1.nullToUndefined,
9122
+ isUndefinedForbidden: false,
9123
+ mustTransformNullToUndefined: true,
8881
9124
  properties: {
8882
9125
  $filesPaths: {
8883
9126
  newName: "filesPaths",
8884
9127
  type: Boolean,
8885
- required: false
9128
+ isUndefinedForbidden: false,
9129
+ isNullForbidden: true
8886
9130
  },
8887
9131
  $filesCount: {
8888
9132
  newName: "filesCount",
8889
9133
  type: Boolean,
8890
- required: false
9134
+ isUndefinedForbidden: false,
9135
+ isNullForbidden: true
8891
9136
  },
8892
9137
  $partialFilesAndParentEntryPointsCorrespondence: {
8893
9138
  newName: "partialFilesAndParentEntryPointsCorrespondence",
8894
9139
  type: Boolean,
8895
- required: false
9140
+ isUndefinedForbidden: false,
9141
+ isNullForbidden: true
8896
9142
  },
8897
9143
  $filesWatcherEvents: {
8898
9144
  newName: "filesWatcherEvents",
8899
9145
  type: Boolean,
8900
- required: false
9146
+ isUndefinedForbidden: false,
9147
+ isNullForbidden: true
8901
9148
  },
8902
9149
  $HTML_Validation: {
8903
9150
  newName: "HTML_Validation",
8904
9151
  type: Object,
8905
- required: false,
8906
- preValidationModifications: es_extensions_1.nullToUndefined,
9152
+ isUndefinedForbidden: false,
9153
+ mustTransformNullToUndefined: true,
8907
9154
  properties: {
8908
9155
  $starting4: {
8909
9156
  newName: "starting",
8910
9157
  type: Boolean,
8911
- required: false
9158
+ isUndefinedForbidden: false,
9159
+ isNullForbidden: true
8912
9160
  },
8913
9161
  $completionWithoutIssues: {
8914
9162
  newName: "completionWithoutIssues",
8915
9163
  type: Boolean,
8916
- required: false
9164
+ isUndefinedForbidden: false,
9165
+ isNullForbidden: true
8917
9166
  }
8918
9167
  }
8919
9168
  },
8920
9169
  $accessibilityChecking: {
8921
9170
  newName: "accessibilityChecking",
8922
9171
  type: Object,
8923
- required: false,
8924
- preValidationModifications: es_extensions_1.nullToUndefined,
9172
+ isUndefinedForbidden: false,
9173
+ mustTransformNullToUndefined: true,
8925
9174
  properties: {
8926
9175
  $starting: {
8927
9176
  newName: "starting",
8928
9177
  type: Boolean,
8929
- required: false
9178
+ isUndefinedForbidden: false,
9179
+ isNullForbidden: true
8930
9180
  },
8931
9181
  $completionWithoutIssues: {
8932
9182
  newName: "completionWithoutIssues",
8933
9183
  type: Boolean,
8934
- required: false
9184
+ isUndefinedForbidden: false,
9185
+ isNullForbidden: true
8935
9186
  }
8936
9187
  }
8937
9188
  },
8938
9189
  $linting: {
8939
9190
  newName: "linting",
8940
9191
  type: Object,
8941
- required: false,
8942
- preValidationModifications: es_extensions_1.nullToUndefined,
9192
+ isUndefinedForbidden: false,
9193
+ mustTransformNullToUndefined: true,
8943
9194
  properties: {
8944
9195
  $starting: {
8945
9196
  newName: "starting",
8946
9197
  type: Boolean,
8947
- required: false
9198
+ isUndefinedForbidden: false,
9199
+ isNullForbidden: true
8948
9200
  },
8949
9201
  $completionWithoutIssues: {
8950
9202
  newName: "completionWithoutIssues",
8951
9203
  type: Boolean,
8952
- required: false
9204
+ isUndefinedForbidden: false,
9205
+ isNullForbidden: true
8953
9206
  }
8954
9207
  }
8955
9208
  }
@@ -9266,7 +9519,7 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9266
9519
  HTML_Validator_1.default.enqueueFileForValidation({
9267
9520
  formattedHTML_Content: formattedHTML_CodeForReports,
9268
9521
  HTML_ContentMD5_Hash: semiFinishedHTML_CodeMD5_Checksum,
9269
- pathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly: entryPointFileContentRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly
9522
+ originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly: entryPointFileContentRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly
9270
9523
  });
9271
9524
  }
9272
9525
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.mustExecute) {
@@ -9448,44 +9701,56 @@ class AccessibilityInspector {
9448
9701
  static cachedInspectionsResultsFileContentSpecification = {
9449
9702
  nameForLogging: "AccessibilityInspector.CachedInspectionResultsFileContentSpecification",
9450
9703
  subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.associativeArray,
9704
+ areUndefinedTypeValuesForbidden: true,
9705
+ areNullTypeValuesForbidden: true,
9451
9706
  value: {
9452
9707
  type: Object,
9453
9708
  properties: {
9454
9709
  contentMD5Checksum: {
9455
9710
  type: String,
9456
- required: true
9711
+ isUndefinedForbidden: true,
9712
+ isNullForbidden: true
9457
9713
  },
9458
9714
  issues: {
9459
9715
  type: Array,
9460
- required: true,
9716
+ isUndefinedForbidden: true,
9717
+ isNullForbidden: true,
9718
+ areUndefinedElementsForbidden: true,
9719
+ areNullElementsForbidden: true,
9461
9720
  element: {
9462
9721
  type: Object,
9463
9722
  properties: {
9464
9723
  ID: {
9465
9724
  type: String,
9466
- required: true
9725
+ isUndefinedForbidden: true,
9726
+ isNullForbidden: true
9467
9727
  },
9468
9728
  codeFragment: {
9469
9729
  type: Object,
9470
- required: true,
9730
+ isUndefinedForbidden: true,
9731
+ isNullForbidden: true,
9471
9732
  properties: {
9472
9733
  beforeHighlighting: {
9473
9734
  type: String,
9474
- required: true
9735
+ isUndefinedForbidden: true,
9736
+ isNullForbidden: true
9475
9737
  },
9476
9738
  highlighted: {
9477
9739
  type: String,
9478
- required: true
9740
+ isUndefinedForbidden: true,
9741
+ isNullForbidden: true
9479
9742
  },
9480
9743
  afterHighlighting: {
9481
9744
  type: String,
9482
- required: true
9745
+ isUndefinedForbidden: true,
9746
+ isNullForbidden: true
9483
9747
  }
9484
9748
  }
9485
9749
  },
9486
9750
  message: {
9487
9751
  type: String,
9488
- required: true
9752
+ isUndefinedForbidden: true,
9753
+ isNullForbidden: true
9489
9754
  }
9490
9755
  }
9491
9756
  }
@@ -10193,7 +10458,10 @@ class HTML_Validator {
10193
10458
  /* ━━━ Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10194
10459
  static selfSingleInstance = null;
10195
10460
  /* ─── Work Variables ───────────────────────────────────────────────────────────────────────────────────────────── */
10196
- queuedFilesMetadata = [];
10461
+ /* [ Approach ]
10462
+ * Although "queue" usually means the order, here is order does not matter unlike the files' uniqueness theat is why
10463
+ * set instead of simple Array used. */
10464
+ queuedFilesMetadata = new Set();
10197
10465
  consumingProjectRootDirectoryAbsolutePath;
10198
10466
  /* ─── Raw Validations Results Specification (Third-party Library Dependent) ────────────────────────────────────── */
10199
10467
  /** @description
@@ -10204,62 +10472,75 @@ class HTML_Validator {
10204
10472
  * + The order of properties has been matched with the output of parsed JSON to console. */
10205
10473
  static validationsResultsSpecification = {
10206
10474
  nameForLogging: "Nu HTML Checker (v.Nu) Output",
10207
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
10475
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
10208
10476
  properties: {
10209
10477
  messages: {
10210
10478
  type: Array,
10211
- required: true,
10479
+ isUndefinedForbidden: true,
10480
+ isNullForbidden: true,
10481
+ areUndefinedElementsForbidden: true,
10482
+ areNullElementsForbidden: true,
10212
10483
  element: {
10213
10484
  type: Object,
10214
10485
  properties: {
10215
10486
  type: {
10216
10487
  type: String,
10217
- required: true,
10488
+ isUndefinedForbidden: true,
10489
+ isNullForbidden: true,
10218
10490
  allowedAlternatives: ["info", "error", "non-document-error", "network-error"]
10219
10491
  },
10220
10492
  url: {
10221
10493
  type: String,
10222
- required: true,
10494
+ isUndefinedForbidden: true,
10495
+ isNullForbidden: true,
10223
10496
  minimalCharactersCount: 7
10224
10497
  },
10225
10498
  lastLine: {
10226
10499
  type: Number,
10227
- required: false,
10500
+ isUndefinedForbidden: false,
10501
+ isNullForbidden: true,
10228
10502
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10229
10503
  },
10230
10504
  lastColumn: {
10231
10505
  type: Number,
10232
- required: false,
10506
+ isUndefinedForbidden: false,
10507
+ isNullForbidden: true,
10233
10508
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10234
10509
  },
10235
10510
  firstColumn: {
10236
10511
  type: Number,
10237
- required: false,
10512
+ isUndefinedForbidden: false,
10513
+ isNullForbidden: true,
10238
10514
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10239
10515
  },
10240
10516
  subType: {
10241
10517
  type: String,
10242
- required: false,
10518
+ isUndefinedForbidden: false,
10519
+ isNullForbidden: true,
10243
10520
  allowedAlternatives: ["warning", "fatal", "io", "schema", "internal"]
10244
10521
  },
10245
10522
  message: {
10246
10523
  type: String,
10247
- required: true,
10524
+ isUndefinedForbidden: true,
10525
+ isNullForbidden: true,
10248
10526
  minimalCharactersCount: 1
10249
10527
  },
10250
10528
  extract: {
10251
10529
  type: String,
10252
- required: false
10530
+ isUndefinedForbidden: false,
10531
+ isNullForbidden: true
10253
10532
  },
10254
10533
  hiliteStart: {
10255
10534
  type: Number,
10256
- required: false,
10535
+ isUndefinedForbidden: false,
10536
+ isNullForbidden: true,
10257
10537
  /* [ Theory ] The 0 is rare but possible (at least was possible for May 2025). */
10258
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger
10538
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero
10259
10539
  },
10260
10540
  hiliteLength: {
10261
10541
  type: Number,
10262
- required: false,
10542
+ isUndefinedForbidden: false,
10543
+ isNullForbidden: true,
10263
10544
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10264
10545
  }
10265
10546
  }
@@ -10267,16 +10548,10 @@ class HTML_Validator {
10267
10548
  }
10268
10549
  }
10269
10550
  };
10270
- /* ─── Logging ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10271
- logging;
10272
- static DISPLAYING_LINES_COUNT_BEFORE_ISSUE_IN_CODE_LISTING = 2;
10273
- static DISPLAYING_LINES_COUNT_AFTER_ISSUE_IN_CODE_LISTING = 1;
10274
- /* [ Theory ] 120 columns is about the half of the 1920x1080 screen. */
10275
- static DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG = 120;
10276
10551
  /* ─── Caching ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10277
10552
  /* [ Theory ]
10278
- * Between 2 project buildings, the content of most HTML files could not change (especially since the project has
10279
- * become mature). Thanks to checksums, it is possible to detect has page content changed quickly. */
10553
+ * Between 2 project buildings, the content of most HTML files may not change (especially since the project has
10554
+ * become mature). Thanks to checksums, it is possible to detect has page content changes quickly. */
10280
10555
  static CACHED_VALIDATIONS_RESULTS_FOLDER_NAME = "HTML_Validation";
10281
10556
  static CACHED_VALIDATIONS_RESULTS_FILE_CONSTANT_NAME_PART = "HTML_Validation";
10282
10557
  absolutePathOfParentDirectoryOfCachedValidationsResultsFile;
@@ -10285,63 +10560,79 @@ class HTML_Validator {
10285
10560
  static cachedValidationsResultsFileContentSpecification = {
10286
10561
  nameForLogging: "HTML_Validator.CachedValidationResultsFileContentSpecification",
10287
10562
  subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.associativeArray,
10563
+ areUndefinedTypeValuesForbidden: true,
10564
+ areNullTypeValuesForbidden: true,
10288
10565
  value: {
10289
10566
  type: Object,
10290
10567
  properties: {
10291
10568
  contentMD5Checksum: {
10292
10569
  type: String,
10293
- required: true
10570
+ isUndefinedForbidden: true,
10571
+ isNullForbidden: true
10294
10572
  },
10295
10573
  issues: {
10296
10574
  type: Array,
10297
- required: true,
10575
+ isUndefinedForbidden: true,
10576
+ isNullForbidden: true,
10577
+ areUndefinedElementsForbidden: true,
10578
+ areNullElementsForbidden: true,
10298
10579
  element: {
10299
10580
  type: Object,
10300
10581
  properties: {
10301
10582
  type: {
10302
10583
  type: String,
10303
- required: true,
10584
+ isUndefinedForbidden: true,
10585
+ isNullForbidden: true,
10304
10586
  allowedAlternatives: ["info", "error", "non-document-error", "network-error"]
10305
10587
  },
10306
10588
  subType: {
10307
10589
  type: String,
10308
- required: false,
10590
+ isUndefinedForbidden: false,
10591
+ isNullForbidden: true,
10309
10592
  allowedAlternatives: ["warning", "fatal", "io", "schema", "internal"]
10310
10593
  },
10311
10594
  message: {
10312
10595
  type: String,
10313
- required: true
10596
+ isUndefinedForbidden: true,
10597
+ isNullForbidden: true
10314
10598
  },
10315
10599
  lineNumber__numerationFrom1: {
10316
10600
  type: Number,
10317
10601
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
10318
- required: true
10602
+ isUndefinedForbidden: true,
10603
+ isNullForbidden: true
10319
10604
  },
10320
10605
  startingColumnNumber__numerationFrom1: {
10321
10606
  type: Number,
10322
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
10323
- required: true
10607
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
10608
+ isUndefinedForbidden: true,
10609
+ isNullForbidden: true
10324
10610
  },
10325
10611
  endingColumnNumber__numerationFrom1: {
10326
10612
  type: Number,
10327
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
10328
- required: true
10613
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
10614
+ isUndefinedForbidden: true,
10615
+ isNullForbidden: true
10329
10616
  },
10330
10617
  codeFragment: {
10331
10618
  type: Object,
10332
- required: true,
10619
+ isUndefinedForbidden: true,
10620
+ isNullForbidden: true,
10333
10621
  properties: {
10334
10622
  beforeHighlighting: {
10335
10623
  type: String,
10336
- required: true
10624
+ isUndefinedForbidden: true,
10625
+ isNullForbidden: true
10337
10626
  },
10338
10627
  highlighted: {
10339
10628
  type: String,
10340
- required: true
10629
+ isUndefinedForbidden: true,
10630
+ isNullForbidden: true
10341
10631
  },
10342
10632
  afterHighlighting: {
10343
10633
  type: String,
10344
- required: true
10634
+ isUndefinedForbidden: true,
10635
+ isNullForbidden: true
10345
10636
  }
10346
10637
  }
10347
10638
  }
@@ -10351,10 +10642,16 @@ class HTML_Validator {
10351
10642
  }
10352
10643
  }
10353
10644
  };
10645
+ /* ─── Logging ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10646
+ logging;
10647
+ static DISPLAYING_LINES_COUNT_BEFORE_ISSUE_IN_CODE_LISTING = 2;
10648
+ static DISPLAYING_LINES_COUNT_AFTER_ISSUE_IN_CODE_LISTING = 1;
10649
+ /* [ Theory ] 120 columns is about the half of the 1920x1080 screen. */
10650
+ static DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG = 120;
10354
10651
  /* ─── Temporary Files ──────────────────────────────────────────────────────────────────────────────────────────── */
10355
10652
  static TEMPORARY_FORMATTED_HTML_FILES_FOLDER_NAME = "HTML_Validation";
10356
10653
  absolutePathOfParentDirectoryOfTemporaryFormattedHTML_Files;
10357
- parenRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files;
10654
+ pathRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files;
10358
10655
  /* ─── Localization ─────────────────────────────────────────────────────────────────────────────────────────────── */
10359
10656
  static localization = HTML_ValidatorLocalization_english_1.default;
10360
10657
  /* ━━━ Public Static Methods (Facade) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@@ -10374,12 +10671,13 @@ class HTML_Validator {
10374
10671
  HTML_Validator.selfSingleInstance = new HTML_Validator(requirements);
10375
10672
  }
10376
10673
  /** @description
10377
- * Separate launching of `vnu-jar` per each file may cause the performance impact thus more efficient is to accumulate
10674
+ * Separate launch of `vnu-jar` per file may cause the performance impact thus it is more efficient to accumulate
10378
10675
  * the files and validate them at once. */
10379
10676
  static enqueueFileForValidation(targetFileMetadata) {
10380
- const selfSingleInstance = HTML_Validator.
10381
- getExpectedToBeInitializedSelfSingleInstance();
10382
- selfSingleInstance.queuedFilesMetadata.push(targetFileMetadata);
10677
+ HTML_Validator.
10678
+ getExpectedToBeInitializedSelfSingleInstance().
10679
+ queuedFilesMetadata.
10680
+ add(targetFileMetadata);
10383
10681
  }
10384
10682
  static validateQueuedFilesButReportAll() {
10385
10683
  HTML_Validator.
@@ -10426,14 +10724,14 @@ class HTML_Validator {
10426
10724
  }
10427
10725
  }
10428
10726
  this.cachedValidationsResults = new Map(Object.entries(cachedValidationsResults ?? {}));
10429
- /* ─── Logging ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10727
+ /* ─── Logging ────────────────────────────────────────────────────────────────────────────────────────────────── */
10430
10728
  this.logging = logging;
10431
10729
  /* ─── Temporary Files ────────────────────────────────────────────────────────────────────────────────────────── */
10432
10730
  this.absolutePathOfParentDirectoryOfTemporaryFormattedHTML_Files = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10433
10731
  temporaryFileDirectoryAbsolutePath,
10434
10732
  HTML_Validator.TEMPORARY_FORMATTED_HTML_FILES_FOLDER_NAME
10435
10733
  ]);
10436
- this.parenRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files = es_extensions_nodejs_1.ImprovedPath.
10734
+ this.pathRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files = es_extensions_nodejs_1.ImprovedPath.
10437
10735
  computeRelativePath({
10438
10736
  basePath: projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
10439
10737
  comparedPath: this.absolutePathOfParentDirectoryOfTemporaryFormattedHTML_Files,
@@ -10443,40 +10741,38 @@ class HTML_Validator {
10443
10741
  /* ━━━ Private Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10444
10742
  /* ─── Validation ───────────────────────────────────────────────────────────────────────────────────────────────── */
10445
10743
  async validateQueuedFilesButReportAll() {
10446
- // ━━━ TODO Есть вопросы ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10447
- // TODO Почему это не соответствует типу NormalizedValidationsResults? И почему семантически не понятен ключ карты?
10448
- const validationsResults = (0, es_extensions_1.createMapBasedOnOtherMap)(this.cachedValidationsResults, (filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, { issues }) => [filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, issues]);
10449
10744
  /* [ Approach ]
10450
- * To get readable logs with code fragment, the original output HTML files could not be used because they possibly
10745
+ * To get readable logs with code fragment, the original output HTML files can not be used because they possibly
10451
10746
  * contains the minified HTML code.
10452
- * The saving of temporary HTML files with formatted HTML code could be the solution.
10453
- * Anyway the Nu HTML Checker does not work with HTML strings — it accepts only relative paths of file saved to drive. */
10747
+ * The saving of temporary HTML files with formatted HTML code is the solution.
10748
+ * Anyway, the Nu HTML Checker does not work with HTML strings — it accepts only relative paths of files saved to
10749
+ * drive. */
10454
10750
  const formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = [];
10455
10751
  /* [ Theory ]
10456
- * Nu HTML Checker can inspect the multiple files at once while returns the single array with issues data for all files.
10457
- * How to understand for which file Nu HTML Checker emitted the specific issue?
10752
+ * Nu HTML Checker can inspect the multiple files at once but returns the single array with issues data for all files.
10753
+ * But how to understand for which file Nu HTML Checker emitted the specific issue (array element)?
10458
10754
  * The data of each issue will include the URI like
10459
10755
  * "file:/D:/IntelliJ%20IDEA/SampleProject/.yda/Temporary/HTML_Validation/4834cf5c-253f-4147-b00c-b8ca53922315.html"
10460
10756
  * It is the encoded (`encodeURI()` for ECMAScript) absolute path of temporary formatted HTML file with "file:/" prefix. */
10461
10757
  const temporaryFormattedHTML_FilesEncodedURIsAndOriginalHTML_FilesRelativePathsCorrespondence = new Map();
10462
10758
  /* [ Theory ]
10463
- * Nu HTML Checker will not output the data for valid files while their paths is still required for summary. */
10759
+ * Nu HTML Checker will not output the data for valid files while their paths are still required for summary. */
10464
10760
  const relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly = new Set();
10465
- const cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files = new Map();
10466
- const MD5_HashesOfHTML_ContentBySourceFilesRelativePathsOfOriginalHTML_Files = new Map();
10467
- for (const { pathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly: originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, formattedHTML_Content, HTML_ContentMD5_Hash } of this.queuedFilesMetadata) {
10468
- // TODO Почему это надо сделать даже если файл валидирован не будет?
10761
+ const MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files = new Map();
10762
+ const cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files = new Map();
10763
+ for (const { originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, formattedHTML_Content, HTML_ContentMD5_Hash } of this.queuedFilesMetadata) {
10764
+ /* [ Approach ]
10765
+ * Even there is the cached data for target files, it still must be stored to interim collections for the full report. */
10469
10766
  relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly.add(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10470
- // TODO Почему это надо сделать даже если файл валидирован не будет?
10471
- MD5_HashesOfHTML_ContentBySourceFilesRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, HTML_ContentMD5_Hash);
10767
+ MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, HTML_ContentMD5_Hash);
10472
10768
  const cachedValidationsResultsForCurrentFile = this.cachedValidationsResults.get(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10473
10769
  if (cachedValidationsResultsForCurrentFile?.contentMD5Checksum === HTML_ContentMD5_Hash) {
10474
10770
  continue;
10475
10771
  }
10476
- validationsResults.delete(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10477
- cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, (0, es_extensions_1.splitString)(formattedHTML_Content, "\n"));
10772
+ this.cachedValidationsResults.delete(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10773
+ cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, (0, es_extensions_1.splitString)(formattedHTML_Content, "\n"));
10478
10774
  const formattedTemporaryHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10479
- this.parenRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files,
10775
+ this.pathRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files,
10480
10776
  `${(0, nanoid_1.nanoid)()}.html`
10481
10777
  ], { alwaysForwardSlashSeparators: true });
10482
10778
  formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly.push(formattedTemporaryHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
@@ -10497,7 +10793,7 @@ class HTML_Validator {
10497
10793
  const validationTimeMeasuringStopwatch = new Stopwatch_1.default().startOrRestart();
10498
10794
  /* [ Theory ] If pass no files to Nu HTML Checker, it will fail with the error. */
10499
10795
  if (formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly.length === 0) {
10500
- HTML_Validator.reportValidationsResults(validationsResults);
10796
+ HTML_Validator.reportValidationsResults(this.cachedValidationsResults);
10501
10797
  return;
10502
10798
  }
10503
10799
  const rawValidationsResults = await HTML_Validator.getRawValidationsResultsFromNuHTML_Checker(formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
@@ -10507,50 +10803,52 @@ class HTML_Validator {
10507
10803
  mustThrowErrorIfSomeFileCanNotBeDeleted: false
10508
10804
  });
10509
10805
  const rawValidationsResultsInspectionOutput = es_extensions_1.RawObjectDataProcessor.process(rawValidationsResults, HTML_Validator.validationsResultsSpecification);
10510
- if (rawValidationsResultsInspectionOutput.rawDataIsInvalid) {
10806
+ if (rawValidationsResultsInspectionOutput.isRawDataInvalid) {
10511
10807
  validationTimeMeasuringStopwatch.stop();
10512
10808
  es_extensions_1.Logger.logError({
10513
10809
  errorType: es_extensions_1.UnexpectedEventError.NAME,
10514
10810
  title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
10515
10811
  description: "The Nu HTML Checker does not much with expected one.\n" +
10516
- es_extensions_1.RawObjectDataProcessor.
10517
- formatValidationErrorsList(rawValidationsResultsInspectionOutput.validationErrorsMessages),
10812
+ es_extensions_1.RawObjectDataProcessor.formatValidationErrorsList(rawValidationsResultsInspectionOutput.validationErrorsMessages),
10518
10813
  occurrenceLocation: "HTML_Validator.validateQueuedFilesButReportAll()",
10519
10814
  mustOutputIf: true
10520
10815
  });
10521
10816
  return;
10522
10817
  }
10523
- // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10524
10818
  /* [ Theory ]
10525
10819
  * The ones which called `messages` in Nu HTML Checker are not the messages.
10526
10820
  * The `messages` property is the array of objects each of which has `message` string property.
10527
10821
  * There are could be multiple objects for single file thus sorting by files required first. */
10528
10822
  for (const rawValidationIssue of rawValidationsResultsInspectionOutput.processedData.messages) {
10529
- const filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(temporaryFormattedHTML_FilesEncodedURIsAndOriginalHTML_FilesRelativePathsCorrespondence, rawValidationIssue.url);
10530
- relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly.delete(filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10531
- const issuesOfCurrentFile = validationsResults.get(filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10823
+ const originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(temporaryFormattedHTML_FilesEncodedURIsAndOriginalHTML_FilesRelativePathsCorrespondence, rawValidationIssue.url);
10824
+ relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly.delete(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10825
+ /* [ Approach ] In the first pass for each file, the value will be undefined. */
10826
+ const issuesOfCurrentFile = this.cachedValidationsResults.
10827
+ get(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly)?.
10828
+ issues;
10532
10829
  if ((0, es_extensions_1.isUndefined)(issuesOfCurrentFile)) {
10533
- validationsResults.set(filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, [
10534
- HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly))
10535
- ]);
10830
+ this.cachedValidationsResults.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, {
10831
+ contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files, originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly),
10832
+ issues: [
10833
+ HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files, originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly))
10834
+ ]
10835
+ });
10536
10836
  continue;
10537
10837
  }
10538
- issuesOfCurrentFile.push(HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly)));
10838
+ issuesOfCurrentFile.push(HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files, originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly)));
10539
10839
  }
10540
10840
  for (const relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly of relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly) {
10541
- validationsResults.set(relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly, []);
10841
+ this.cachedValidationsResults.set(relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly, {
10842
+ issues: [],
10843
+ contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files, relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly)
10844
+ });
10542
10845
  }
10543
10846
  validationTimeMeasuringStopwatch.stop();
10544
- HTML_Validator.reportValidationsResults(validationsResults);
10545
- this.cachedValidationsResults = (0, es_extensions_1.createMapBasedOnOtherMap)(validationsResults, (filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, issues) => [
10546
- filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly,
10547
- {
10548
- issues,
10549
- contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentBySourceFilesRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly)
10550
- }
10551
- ]);
10847
+ HTML_Validator.reportValidationsResults(this.cachedValidationsResults);
10552
10848
  this.writeCacheToFile();
10849
+ this.queuedFilesMetadata.clear();
10553
10850
  }
10851
+ // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10554
10852
  static async getRawValidationsResultsFromNuHTML_Checker(targetFilesPathRelativeToConsumingProjectRoot__forwardSlashesPathSeparators) {
10555
10853
  return new Promise((resolve, reject) => {
10556
10854
  /* [ Theory ] "vnu-jar" works only with relative paths. Absolute paths will not work with any path separators. */
@@ -10656,7 +10954,7 @@ class HTML_Validator {
10656
10954
  let hasAtLeastOneFileWithInvalidHTML = false;
10657
10955
  const hasEachFileIssues = new Map();
10658
10956
  const formattedIssuesForEachFile = new Map();
10659
- for (const [fileRelativePath__forwardPathSeparatorsOnly, issues] of validationsResults.entries()) {
10957
+ for (const [fileRelativePath__forwardPathSeparatorsOnly, { issues }] of validationsResults.entries()) {
10660
10958
  hasEachFileIssues.set(fileRelativePath__forwardPathSeparatorsOnly, issues.length > 0);
10661
10959
  if (issues.length > 0) {
10662
10960
  hasAtLeastOneFileWithInvalidHTML = true;
@@ -11721,32 +12019,35 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
11721
12019
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
11722
12020
  class CodeListingPugFilter {
11723
12021
  static optionsSpecification = {
11724
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
12022
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
11725
12023
  nameForLogging: "CodeListingPugFilerOptions",
11726
12024
  properties: {
11727
12025
  mustAppendEmptyLine: {
11728
12026
  type: Boolean,
11729
- defaultValue: false
12027
+ undefinedValueSubstitution: false,
12028
+ isNullForbidden: true
11730
12029
  },
11731
12030
  indentationMultiplier: {
11732
12031
  preValidationModifications: es_extensions_1.convertPotentialStringToIntegerIfPossible,
11733
12032
  type: Number,
11734
- required: false,
12033
+ isUndefinedForbidden: false,
12034
+ isNullForbidden: true,
11735
12035
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
11736
12036
  },
11737
12037
  indentationString: {
11738
12038
  type: String,
11739
- requiredIf: {
12039
+ undefinedForbiddenIf: {
11740
12040
  predicate: (rawOptions) => (0, es_extensions_1.isNotUndefined)(rawOptions.indentationMultiplier),
11741
12041
  descriptionForLogging: "\"indentationMultiplier\" has been specified"
11742
12042
  },
12043
+ isNullForbidden: true,
11743
12044
  minimalCharactersCount: 1
11744
12045
  }
11745
12046
  }
11746
12047
  };
11747
12048
  static apply(sourcePugCode, rawOptions) {
11748
12049
  const rawOptionsProcessingResult = es_extensions_1.RawObjectDataProcessor.process(rawOptions, CodeListingPugFilter.optionsSpecification);
11749
- if (rawOptionsProcessingResult.rawDataIsInvalid) {
12050
+ if (rawOptionsProcessingResult.isRawDataInvalid) {
11750
12051
  es_extensions_1.Logger.throwErrorAndLog({
11751
12052
  errorInstance: new es_extensions_1.InvalidExternalDataError({
11752
12053
  customMessage: "One or more invalid options found for \"CodeListing\" pug filer.\n" +
@@ -13124,51 +13425,63 @@ class MarkupSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
13124
13425
  sourceFilesCachedCheckingResults: {
13125
13426
  fileNameWithExtension: "MarkupLintingCache.json",
13126
13427
  contentSpecification: {
13127
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
13428
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
13128
13429
  nameForLogging: "CachedMarkupLintingResultsFileContent",
13129
13430
  properties: {
13130
13431
  files: {
13131
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
13132
- required: true,
13432
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
13433
+ isUndefinedForbidden: true,
13434
+ isNullForbidden: true,
13435
+ areUndefinedTypeValuesForbidden: true,
13436
+ areNullTypeValuesForbidden: true,
13133
13437
  value: {
13134
13438
  type: Object,
13135
13439
  properties: {
13136
13440
  issues: {
13137
13441
  type: Array,
13138
- required: true,
13442
+ isUndefinedForbidden: true,
13443
+ isNullForbidden: true,
13444
+ areUndefinedElementsForbidden: true,
13445
+ areNullElementsForbidden: true,
13139
13446
  element: {
13140
13447
  type: Object,
13141
13448
  properties: {
13142
13449
  code: {
13143
13450
  type: String,
13144
- required: true,
13451
+ isUndefinedForbidden: true,
13452
+ isNullForbidden: true,
13145
13453
  minimalCharactersCount: 1
13146
13454
  },
13147
13455
  message: {
13148
13456
  type: String,
13149
- required: true,
13457
+ isUndefinedForbidden: true,
13458
+ isNullForbidden: true,
13150
13459
  minimalCharactersCount: 1
13151
13460
  },
13152
13461
  sourceListing: {
13153
13462
  type: String,
13154
- required: true
13463
+ isUndefinedForbidden: true,
13464
+ isNullForbidden: true
13155
13465
  },
13156
13466
  lineNumber: {
13157
13467
  type: Number,
13158
- required: true,
13159
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger
13468
+ isUndefinedForbidden: true,
13469
+ isNullForbidden: true,
13470
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero
13160
13471
  },
13161
13472
  columnNumber: {
13162
13473
  type: Number,
13163
- required: false,
13164
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger
13474
+ isUndefinedForbidden: false,
13475
+ isNullForbidden: true,
13476
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero
13165
13477
  }
13166
13478
  }
13167
13479
  }
13168
13480
  },
13169
13481
  modificationDateTime__ISO_8601: {
13170
13482
  type: String,
13171
- required: true,
13483
+ isUndefinedForbidden: true,
13484
+ isNullForbidden: true,
13172
13485
  minimalCharactersCount: 1
13173
13486
  }
13174
13487
  }
@@ -13619,14 +13932,17 @@ var StylesProcessingSettings__FromFile__RawValid;
13619
13932
  StylesProcessingSettings__FromFile__RawValid.propertiesSpecification = {
13620
13933
  $common: {
13621
13934
  newName: "common",
13622
- preValidationModifications: es_extensions_1.nullToUndefined,
13623
13935
  type: Object,
13624
- required: false,
13936
+ isUndefinedForbidden: false,
13937
+ mustTransformNullToUndefined: true,
13625
13938
  properties: {
13626
13939
  $buildingModeDependent: {
13627
13940
  newName: "buildingModeDependent",
13628
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
13629
- required: false,
13941
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
13942
+ isUndefinedForbidden: false,
13943
+ isNullForbidden: true,
13944
+ areUndefinedTypeValuesForbidden: true,
13945
+ areNullTypeValuesForbidden: true,
13630
13946
  minimalEntriesCount: 1,
13631
13947
  allowedKeys: [
13632
13948
  "$staticPreview",
@@ -13649,12 +13965,14 @@ var StylesProcessingSettings__FromFile__RawValid;
13649
13965
  newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
13650
13966
  type: Number,
13651
13967
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
13652
- required: false
13968
+ isUndefinedForbidden: false,
13969
+ isNullForbidden: true
13653
13970
  },
13654
13971
  $mustResolveResourceReferencesToRelativePaths: {
13655
13972
  newName: "mustResolveResourceReferencesToRelativePaths",
13656
13973
  type: Boolean,
13657
- required: false
13974
+ isUndefinedForbidden: false,
13975
+ isNullForbidden: true
13658
13976
  }
13659
13977
  }
13660
13978
  }
@@ -13664,8 +13982,8 @@ var StylesProcessingSettings__FromFile__RawValid;
13664
13982
  $linting: {
13665
13983
  newName: "linting",
13666
13984
  type: Object,
13667
- required: false,
13668
- preValidationModifications: es_extensions_1.nullToUndefined,
13985
+ isUndefinedForbidden: false,
13986
+ mustTransformNullToUndefined: true,
13669
13987
  properties: LintingSettings__FromFile__RawValid_1.default.propertiesSpecification
13670
13988
  },
13671
13989
  ...SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid_1.default.generatePropertiesSpecification({
@@ -13673,8 +13991,8 @@ var StylesProcessingSettings__FromFile__RawValid;
13673
13991
  $revisioning: {
13674
13992
  newName: "revisioning",
13675
13993
  type: Object,
13676
- required: false,
13677
- preValidationModifications: es_extensions_1.nullToUndefined,
13994
+ isUndefinedForbidden: false,
13995
+ mustTransformNullToUndefined: true,
13678
13996
  properties: RevisioningSettings__FromFile__RawValid_1.default.propertiesSpecification
13679
13997
  }
13680
13998
  }
@@ -13682,44 +14000,50 @@ var StylesProcessingSettings__FromFile__RawValid;
13682
14000
  $logging: {
13683
14001
  newName: "logging",
13684
14002
  type: Object,
13685
- required: false,
13686
- preValidationModifications: es_extensions_1.nullToUndefined,
14003
+ isUndefinedForbidden: false,
14004
+ mustTransformNullToUndefined: true,
13687
14005
  properties: {
13688
14006
  $filesPaths: {
13689
14007
  newName: "filesPaths",
13690
14008
  type: Boolean,
13691
- required: false
14009
+ isUndefinedForbidden: false,
14010
+ isNullForbidden: true
13692
14011
  },
13693
14012
  $filesCount: {
13694
14013
  newName: "filesCount",
13695
14014
  type: Boolean,
13696
- required: false
14015
+ isUndefinedForbidden: false,
14016
+ isNullForbidden: true
13697
14017
  },
13698
14018
  $partialFilesAndParentEntryPointsCorrespondence: {
13699
14019
  newName: "partialFilesAndParentEntryPointsCorrespondence",
13700
14020
  type: Boolean,
13701
- required: false
14021
+ isUndefinedForbidden: false,
14022
+ isNullForbidden: true
13702
14023
  },
13703
14024
  $filesWatcherEvents: {
13704
14025
  newName: "filesWatcherEvents",
13705
14026
  type: Boolean,
13706
- required: false
14027
+ isUndefinedForbidden: false,
14028
+ isNullForbidden: true
13707
14029
  },
13708
14030
  $linting: {
13709
14031
  newName: "linting",
13710
14032
  type: Object,
13711
- required: false,
13712
- preValidationModifications: es_extensions_1.nullToUndefined,
14033
+ isUndefinedForbidden: false,
14034
+ mustTransformNullToUndefined: true,
13713
14035
  properties: {
13714
14036
  $starting: {
13715
14037
  newName: "starting",
13716
14038
  type: Boolean,
13717
- required: false
14039
+ isUndefinedForbidden: false,
14040
+ isNullForbidden: true
13718
14041
  },
13719
14042
  $completionWithoutIssues: {
13720
14043
  newName: "completionWithoutIssues",
13721
14044
  type: Boolean,
13722
- required: false
14045
+ isUndefinedForbidden: false,
14046
+ isNullForbidden: true
13723
14047
  }
13724
14048
  }
13725
14049
  }
@@ -14191,11 +14515,13 @@ class ESLintSpecialist {
14191
14515
  const processingResult = es_extensions_1.RawObjectDataProcessor.process(filesIgnoringPatterns, {
14192
14516
  subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.indexedArray,
14193
14517
  nameForLogging: "ESLint ignoring patterns",
14518
+ areUndefinedElementsForbidden: true,
14519
+ areNullElementsForbidden: true,
14194
14520
  element: {
14195
14521
  type: String
14196
14522
  }
14197
14523
  });
14198
- if (processingResult.rawDataIsInvalid) {
14524
+ if (processingResult.isRawDataInvalid) {
14199
14525
  es_extensions_1.Logger.logError({
14200
14526
  errorType: es_extensions_1.InvalidExternalDataError.NAME,
14201
14527
  title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
@@ -14852,7 +15178,7 @@ exports["default"] = GulpStreamModifier;
14852
15178
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
14853
15179
 
14854
15180
 
14855
- /* eslint max-depth: [ warn, 4 ] -- Maybe extracting to methods is possible but it will be too many parameters. */
15181
+ /* eslint max-depth: [ warn, 4 ] -- Maybe extracting to methods is possible, but it will be too many parameters. */
14856
15182
  var __importDefault = (this && this.__importDefault) || function (mod) {
14857
15183
  return (mod && mod.__esModule) ? mod : { "default": mod };
14858
15184
  };
@@ -14865,44 +15191,61 @@ class SourceCodeSelectiveReprocessingHelper {
14865
15191
  static DEBUGGING_MODE = false;
14866
15192
  static cachedMetadataFileContentSpecification = {
14867
15193
  nameForLogging: "SourceCodeSelectiveReprocessingHelper.CachedRawMetadata",
14868
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
15194
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
14869
15195
  properties: {
14870
15196
  entryPoints: {
14871
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
14872
- required: true,
15197
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
15198
+ isUndefinedForbidden: true,
15199
+ isNullForbidden: true,
15200
+ areUndefinedTypeValuesForbidden: true,
15201
+ areNullTypeValuesForbidden: true,
14873
15202
  value: {
14874
15203
  type: Object,
14875
15204
  properties: {
14876
15205
  modificationDate__ISO8601: {
14877
15206
  type: String,
14878
- required: true
15207
+ isUndefinedForbidden: false,
15208
+ isNullForbidden: true
14879
15209
  },
14880
15210
  directChildrenFilesRelativePaths: {
14881
15211
  type: Array,
14882
- required: true,
15212
+ areUndefinedElementsForbidden: true,
15213
+ areNullElementsForbidden: true,
15214
+ isUndefinedForbidden: true,
15215
+ isNullForbidden: true,
14883
15216
  element: { type: String }
14884
15217
  }
14885
15218
  }
14886
15219
  }
14887
15220
  },
14888
15221
  childrenFiles: {
14889
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
14890
- required: true,
15222
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
15223
+ isUndefinedForbidden: true,
15224
+ isNullForbidden: true,
15225
+ areUndefinedTypeValuesForbidden: true,
15226
+ areNullTypeValuesForbidden: true,
14891
15227
  value: {
14892
15228
  type: Object,
14893
15229
  properties: {
14894
15230
  modificationDate__ISO8601: {
14895
15231
  type: String,
14896
- required: true
15232
+ isUndefinedForbidden: true,
15233
+ isNullForbidden: true
14897
15234
  },
14898
15235
  directChildrenFilesRelativePaths: {
14899
15236
  type: Array,
14900
- required: true,
15237
+ isUndefinedForbidden: true,
15238
+ isNullForbidden: true,
15239
+ areUndefinedElementsForbidden: true,
15240
+ areNullElementsForbidden: true,
14901
15241
  element: { type: String }
14902
15242
  },
14903
15243
  parentEntryPointsRelativePaths: {
14904
15244
  type: Array,
14905
- required: true,
15245
+ isUndefinedForbidden: true,
15246
+ isNullForbidden: true,
15247
+ areUndefinedElementsForbidden: true,
15248
+ areNullElementsForbidden: true,
14906
15249
  element: { type: String }
14907
15250
  }
14908
15251
  }