@yamato-daiwa/automation 0.7.0-alpha.4 → 0.7.0-alpha.6

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 +850 -753
  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.4","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.6","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-experimental.0","@yamato-daiwa/es-extensions-nodejs":"1.8.0-experimental.0","@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
 
@@ -86,7 +86,7 @@ var ApplicationConsoleLineInterface;
86
86
  required: false,
87
87
  type: es_extensions_nodejs_1.ConsoleCommandsParser.ParametersTypes.string,
88
88
  description: "Allows to specify the selection of tasks, entry points groups, etc. by selective execution ID, " +
89
- "herewith the desired selective execution must be preliminarily defined in the configuration file.",
89
+ "herewith the desired selective execution must be preliminarily defined in the configuration file."
90
90
  },
91
91
  configurationFile: {
92
92
  newName: "customConfigurationFileName__possiblyWithoutExtension",
@@ -228,7 +228,7 @@ const ProjectBuildingMasterConfigRepresentative_1 = __importDefault(__webpack_re
228
228
  const MarkupProcessor_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessor */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessor.ts"));
229
229
  const MarkupSourceCodeLinter_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/Linting/MarkupSourceCodeLinter */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/Linting/MarkupSourceCodeLinter.ts"));
230
230
  const CompiledTypeScriptImporterForPug_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/CompiledTypeScriptImporterForPug */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/CompiledTypeScriptImporterForPug.ts"));
231
- const ExperimentalCompiledTypeScriptImporterForPug_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/ExperimentalCompiledTypeScriptImporterForPug */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/ExperimentalCompiledTypeScriptImporterForPug.ts"));
231
+ const JavaScriptImporterForPug_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/JavaScriptImporterForPug */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/JavaScriptImporterForPug.ts"));
232
232
  const StylesProcessor_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesProcessor */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesProcessor.ts"));
233
233
  const ECMA_ScriptLogicProcessor_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/ECMA_ScriptLogicProcessor */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/ECMA_ScriptLogicProcessor.ts"));
234
234
  const ECMA_ScriptSourceCodeLinter_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/Subtasks/Linting/ECMA_ScriptSourceCodeLinter */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Subtasks/Linting/ECMA_ScriptSourceCodeLinter.ts"));
@@ -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)",
@@ -272,8 +272,8 @@ class ProjectBuilder {
272
272
  ECMA_ScriptSourceCodeLinter_1.default.provideLintingIfMust(masterConfigRepresentative),
273
273
  gulp_1.default.series([
274
274
  gulp_1.default.parallel([
275
- ExperimentalCompiledTypeScriptImporterForPug_1.default.provideTypeScriptImportsForMarkupIfMust(masterConfigRepresentative),
276
275
  CompiledTypeScriptImporterForPug_1.default.provideTypeScriptImportsForMarkupIfMust(masterConfigRepresentative),
276
+ JavaScriptImporterForPug_1.default.provideJavaScriptImportsForMarkupIfMust(masterConfigRepresentative),
277
277
  ECMA_ScriptLogicProcessor_1.default.provideLogicProcessingIfMust(masterConfigRepresentative),
278
278
  PlainCopier_1.default.providePlainCopierIfMust(masterConfigRepresentative)
279
279
  ]),
@@ -876,18 +876,14 @@ class FontsProcessor extends GulpStreamsBasedAssetsProcessor_1.default {
876
876
  src((0, es_extensions_1.readonlyArrayToMutableOne)(sourceFilesAbsolutePaths)).
877
877
  pipe(super.handleErrorIfItWillOccur()).
878
878
  pipe(super.logProcessedFilesIfMust()).
879
- pipe(GulpStreamModifier_1.default.modify({
880
- onStreamStartedEventCommonHandler: this.replacePlainVinylFileWithAssetVinylFile.bind(this)
879
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
880
+ onStreamStartedEventHandler: this.replacePlainVinylFileWithAssetVinylFile.bind(this)
881
881
  })).
882
- pipe(GulpStreamModifier_1.default.modify({
883
- onStreamStartedEventHandlersForSpecificFileTypes: new Map([
884
- [AssetVinylFile_1.default, GulpStreamsBasedAssetsProcessor_1.default.addContentHashPostfixToFileNameIfMust]
885
- ])
882
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
883
+ onStreamStartedEventHandler: GulpStreamsBasedAssetsProcessor_1.default.addContentHashPostfixToFileNameIfMust
886
884
  })).
887
- pipe(GulpStreamModifier_1.default.modify({
888
- onStreamStartedEventHandlersForSpecificFileTypes: new Map([
889
- [AssetVinylFile_1.default, FontsProcessor.postProcessFile]
890
- ])
885
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
886
+ onStreamStartedEventHandler: FontsProcessor.postProcessFile
891
887
  })).
892
888
  pipe(gulp_1.default.dest((targetFileInFinalState) => AssetVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFileInFinalState)));
893
889
  }
@@ -1199,8 +1195,8 @@ class ImagesProcessor extends GulpStreamsBasedAssetsProcessor_1.default {
1199
1195
  src((0, es_extensions_1.readonlyArrayToMutableOne)(sourceFilesAbsolutePaths)).
1200
1196
  pipe(super.handleErrorIfItWillOccur()).
1201
1197
  pipe(super.logProcessedFilesIfMust()).
1202
- pipe(GulpStreamModifier_1.default.modify({
1203
- onStreamStartedEventCommonHandler: this.replacePlainVinylFileWithAssetVinylFile.bind(this)
1198
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
1199
+ onStreamStartedEventHandler: this.replacePlainVinylFileWithAssetVinylFile.bind(this)
1204
1200
  })).
1205
1201
  pipe((0, gulp_if_1.default)(this.projectBuildingMasterConfigRepresentative.isStagingBuildingMode ||
1206
1202
  this.projectBuildingMasterConfigRepresentative.isProductionBuildingMode, (0, gulp_imagemin_1.default)([
@@ -1209,15 +1205,11 @@ class ImagesProcessor extends GulpStreamsBasedAssetsProcessor_1.default {
1209
1205
  gulp_imagemin_1.default.svgo({}),
1210
1206
  (0, imagemin_pngquant_1.default)()
1211
1207
  ]))).
1212
- pipe(GulpStreamModifier_1.default.modify({
1213
- onStreamStartedEventHandlersForSpecificFileTypes: new Map([
1214
- [AssetVinylFile_1.default, GulpStreamsBasedAssetsProcessor_1.default.addContentHashPostfixToFileNameIfMust]
1215
- ])
1208
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
1209
+ onStreamStartedEventHandler: GulpStreamsBasedAssetsProcessor_1.default.addContentHashPostfixToFileNameIfMust
1216
1210
  })).
1217
- pipe(GulpStreamModifier_1.default.modify({
1218
- onStreamStartedEventHandlersForSpecificFileTypes: new Map([
1219
- [AssetVinylFile_1.default, ImagesProcessor.postProcessFile]
1220
- ])
1211
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
1212
+ onStreamStartedEventHandler: ImagesProcessor.postProcessFile
1221
1213
  })).
1222
1214
  pipe(gulp_1.default.dest((targetFileInFinalState) => AssetVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFileInFinalState)));
1223
1215
  }
@@ -1526,18 +1518,14 @@ class VideosProcessor extends GulpStreamsBasedAssetsProcessor_1.default {
1526
1518
  src((0, es_extensions_1.readonlyArrayToMutableOne)(sourceFilesAbsolutePaths)).
1527
1519
  pipe(super.handleErrorIfItWillOccur()).
1528
1520
  pipe(super.logProcessedFilesIfMust()).
1529
- pipe(GulpStreamModifier_1.default.modify({
1530
- onStreamStartedEventCommonHandler: this.replacePlainVinylFileWithAssetVinylFile.bind(this)
1521
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
1522
+ onStreamStartedEventHandler: this.replacePlainVinylFileWithAssetVinylFile.bind(this)
1531
1523
  })).
1532
- pipe(GulpStreamModifier_1.default.modify({
1533
- onStreamStartedEventHandlersForSpecificFileTypes: new Map([
1534
- [AssetVinylFile_1.default, GulpStreamsBasedAssetsProcessor_1.default.addContentHashPostfixToFileNameIfMust]
1535
- ])
1524
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
1525
+ onStreamStartedEventHandler: GulpStreamsBasedAssetsProcessor_1.default.addContentHashPostfixToFileNameIfMust
1536
1526
  })).
1537
- pipe(GulpStreamModifier_1.default.modify({
1538
- onStreamStartedEventHandlersForSpecificFileTypes: new Map([
1539
- [AssetVinylFile_1.default, VideosProcessor.postProcessFile]
1540
- ])
1527
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
1528
+ onStreamStartedEventHandler: VideosProcessor.postProcessFile
1541
1529
  })).
1542
1530
  pipe(gulp_1.default.dest((targetFileInFinalState) => AssetVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFileInFinalState)));
1543
1531
  }
@@ -1891,8 +1879,11 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1891
1879
  BrowserLiveReloadingSettings__FromFile__RawValid.propertiesSpecification = {
1892
1880
  $setups: {
1893
1881
  newName: "setups",
1894
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
1895
- required: true,
1882
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
1883
+ isUndefinedForbidden: true,
1884
+ isNullForbidden: true,
1885
+ areUndefinedTypeValuesForbidden: true,
1886
+ areNullTypeValuesForbidden: true,
1896
1887
  minimalEntriesCount: 1,
1897
1888
  value: {
1898
1889
  type: Object,
@@ -1900,19 +1891,23 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1900
1891
  $localServer: {
1901
1892
  newName: "localServer",
1902
1893
  type: Object,
1903
- required: true,
1894
+ isUndefinedForbidden: true,
1895
+ isNullForbidden: true,
1904
1896
  properties: {
1905
1897
  $rootDirectoryRelativePath: {
1906
1898
  newName: "rootDirectoryRelativePath",
1907
1899
  type: String,
1908
- required: true,
1900
+ isUndefinedForbidden: true,
1901
+ isNullForbidden: true,
1909
1902
  minimalCharactersCount: 1
1910
1903
  },
1911
1904
  $ignoredFilesAndDirectoriesRelativePaths: {
1912
1905
  newName: "ignoredFilesAndDirectoriesRelativePaths",
1913
1906
  type: Array,
1914
- required: false,
1915
- preValidationModifications: es_extensions_1.nullToUndefined,
1907
+ isUndefinedForbidden: false,
1908
+ mustTransformNullToUndefined: true,
1909
+ areUndefinedElementsForbidden: true,
1910
+ areNullElementsForbidden: true,
1916
1911
  element: {
1917
1912
  type: String,
1918
1913
  minimalCharactersCount: 1
@@ -1921,32 +1916,36 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1921
1916
  $customPort: {
1922
1917
  newName: "customPort",
1923
1918
  type: Number,
1924
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
1925
- required: false,
1919
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
1920
+ isUndefinedForbidden: false,
1921
+ isNullForbidden: true,
1926
1922
  maximalValue: 65536
1927
1923
  },
1928
1924
  $customStartingFileNameWithExtension: {
1929
1925
  newName: "customStartingFileNameWithExtension",
1930
1926
  type: String,
1931
- required: false,
1927
+ isUndefinedForbidden: false,
1928
+ isNullForbidden: true,
1932
1929
  minimalCharactersCount: 1
1933
1930
  },
1934
1931
  $HTTPS: {
1935
1932
  newName: "HTTPS",
1936
1933
  type: Object,
1937
- required: false,
1938
- preValidationModifications: es_extensions_1.nullToUndefined,
1934
+ isUndefinedForbidden: false,
1935
+ mustTransformNullToUndefined: true,
1939
1936
  properties: {
1940
1937
  $SSL_KeyRelativePath: {
1941
1938
  newName: "SSL_KeyRelativePath",
1942
1939
  type: String,
1943
- required: true,
1940
+ isUndefinedForbidden: true,
1941
+ isNullForbidden: true,
1944
1942
  minimalCharactersCount: 1
1945
1943
  },
1946
1944
  $SSL_CertificateRelativePath: {
1947
1945
  newName: "SSL_CertificateRelativePath",
1948
1946
  type: String,
1949
- required: true,
1947
+ isUndefinedForbidden: true,
1948
+ isNullForbidden: true,
1950
1949
  minimalCharactersCount: 1
1951
1950
  }
1952
1951
  }
@@ -1954,23 +1953,28 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1954
1953
  $useCORS: {
1955
1954
  newName: "useCORS",
1956
1955
  type: Boolean,
1957
- required: false
1956
+ isUndefinedForbidden: false,
1957
+ isNullForbidden: true
1958
1958
  }
1959
1959
  }
1960
1960
  },
1961
1961
  $proxy: {
1962
1962
  newName: "proxy",
1963
1963
  type: String,
1964
- required: false,
1964
+ isUndefinedForbidden: false,
1965
+ isNullForbidden: true,
1965
1966
  minimalCharactersCount: 1
1966
1967
  },
1967
1968
  $openInBrowsers: {
1968
1969
  newName: "openInBrowsers",
1969
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
1970
- required: false,
1970
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
1971
+ isUndefinedForbidden: false,
1972
+ isNullForbidden: true,
1971
1973
  alternatives: [
1972
1974
  {
1973
1975
  type: Array,
1976
+ areUndefinedElementsForbidden: true,
1977
+ areNullElementsForbidden: true,
1974
1978
  minimalElementsCount: 1,
1975
1979
  element: {
1976
1980
  type: String,
@@ -1986,27 +1990,30 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
1986
1990
  $browserSyncUserInterface: {
1987
1991
  newName: "browserSyncUserInterface",
1988
1992
  type: Object,
1989
- required: false,
1990
- preValidationModifications: es_extensions_1.nullToUndefined,
1993
+ isUndefinedForbidden: false,
1994
+ mustTransformNullToUndefined: true,
1991
1995
  properties: {
1992
1996
  $customPort: {
1993
1997
  newName: "customPort",
1994
1998
  type: Number,
1995
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
1996
- required: false,
1999
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
2000
+ isUndefinedForbidden: false,
2001
+ isNullForbidden: true,
1997
2002
  maximalValue: 65536
1998
2003
  },
1999
2004
  $disable: {
2000
2005
  newName: "disable",
2001
2006
  type: Boolean,
2002
- required: false
2007
+ isUndefinedForbidden: false,
2008
+ isNullForbidden: true
2003
2009
  }
2004
2010
  }
2005
2011
  },
2006
2012
  $periodBetweenFileUpdatingAndBrowserReloading__seconds: {
2007
2013
  newName: "periodBetweenFileUpdatingAndBrowserReloading__seconds",
2008
2014
  type: Number,
2009
- required: false,
2015
+ isUndefinedForbidden: false,
2016
+ isNullForbidden: true,
2010
2017
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.anyRealNumber
2011
2018
  }
2012
2019
  }
@@ -2015,23 +2022,26 @@ var BrowserLiveReloadingSettings__FromFile__RawValid;
2015
2022
  $logging: {
2016
2023
  newName: "logging",
2017
2024
  type: Object,
2018
- required: false,
2019
- preValidationModifications: es_extensions_1.nullToUndefined,
2025
+ isUndefinedForbidden: false,
2026
+ mustTransformNullToUndefined: true,
2020
2027
  properties: {
2021
2028
  $outputFileChangeDetection: {
2022
2029
  newName: "outputFileChangeDetection",
2023
2030
  type: Boolean,
2024
- required: false
2031
+ isUndefinedForbidden: false,
2032
+ isNullForbidden: true
2025
2033
  },
2026
2034
  $browserTabWillBeReloadedSoon: {
2027
2035
  newName: "browserTabWillBeReloadedSoon",
2028
2036
  type: Boolean,
2029
- required: false
2037
+ isUndefinedForbidden: false,
2038
+ isNullForbidden: true
2030
2039
  },
2031
2040
  $browsersyncConnection: {
2032
2041
  newName: "browsersyncConnection",
2033
2042
  type: Boolean,
2034
- required: false
2043
+ isUndefinedForbidden: false,
2044
+ isNullForbidden: true
2035
2045
  }
2036
2046
  }
2037
2047
  }
@@ -2574,43 +2584,51 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
2574
2584
  AssetsProcessingSettingsGenericProperties__FromFile__RawValid.propertiesSpecification = {
2575
2585
  $common: {
2576
2586
  newName: "common",
2577
- preValidationModifications: es_extensions_1.nullToUndefined,
2578
2587
  type: Object,
2579
- required: false,
2588
+ isUndefinedForbidden: false,
2589
+ mustTransformNullToUndefined: true,
2580
2590
  properties: {
2581
2591
  $periodBetweenFileUpdatingAndRebuildingStarting__seconds: {
2582
2592
  newName: "periodBetweenFileUpdatingAndRebuildingStarting__seconds",
2583
2593
  type: Number,
2584
- required: false,
2594
+ isUndefinedForbidden: false,
2595
+ isNullForbidden: true,
2585
2596
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
2586
2597
  }
2587
2598
  }
2588
2599
  },
2589
2600
  $assetsGroups: {
2590
2601
  newName: "assetsGroups",
2591
- preValidationModifications: es_extensions_1.nullToUndefined,
2592
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2593
- required: true,
2602
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2603
+ isUndefinedForbidden: true,
2604
+ isNullForbidden: true,
2605
+ areUndefinedTypeValuesForbidden: true,
2606
+ areNullTypeValuesForbidden: true,
2594
2607
  value: {
2595
2608
  type: Object,
2596
2609
  properties: {
2597
2610
  $sourceFilesTopDirectoryRelativePath: {
2598
2611
  newName: "sourceFilesTopDirectoryRelativePath",
2599
2612
  type: String,
2600
- required: true,
2613
+ isUndefinedForbidden: true,
2614
+ isNullForbidden: true,
2601
2615
  minimalCharactersCount: 1
2602
2616
  },
2603
2617
  $sourceFilesTopDirectoryPathAliasForReferencingFromHTML: {
2604
2618
  newName: "sourceFilesTopDirectoryPathAliasForReferencingFromHTML",
2605
2619
  type: String,
2606
- required: false,
2620
+ isUndefinedForbidden: false,
2621
+ isNullForbidden: true,
2607
2622
  minimalCharactersCount: 1
2608
2623
  },
2609
2624
  $buildingModeDependent: {
2610
2625
  newName: "buildingModeDependent",
2611
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2612
- required: true,
2626
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2627
+ isUndefinedForbidden: true,
2628
+ isNullForbidden: true,
2613
2629
  minimalEntriesCount: 1,
2630
+ areUndefinedTypeValuesForbidden: true,
2631
+ areNullTypeValuesForbidden: true,
2614
2632
  allowedKeys: [
2615
2633
  "$staticPreview",
2616
2634
  "$localDevelopment",
@@ -2632,8 +2650,8 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
2632
2650
  $revisioning: {
2633
2651
  newName: "revisioning",
2634
2652
  type: Object,
2635
- required: false,
2636
- preValidationModifications: es_extensions_1.nullToUndefined,
2653
+ isUndefinedForbidden: false,
2654
+ mustTransformNullToUndefined: true,
2637
2655
  properties: RevisioningSettings__FromFile__RawValid_1.default.propertiesSpecification
2638
2656
  }
2639
2657
  }
@@ -2645,23 +2663,26 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
2645
2663
  $logging: {
2646
2664
  newName: "logging",
2647
2665
  type: Object,
2648
- required: false,
2649
- preValidationModifications: es_extensions_1.nullToUndefined,
2666
+ isUndefinedForbidden: false,
2667
+ mustTransformNullToUndefined: true,
2650
2668
  properties: {
2651
2669
  $filesPaths: {
2652
2670
  newName: "filesPaths",
2653
2671
  type: Boolean,
2654
- required: false
2672
+ isUndefinedForbidden: false,
2673
+ isNullForbidden: true
2655
2674
  },
2656
2675
  $filesCount: {
2657
2676
  newName: "filesCount",
2658
2677
  type: Boolean,
2659
- required: false
2678
+ isUndefinedForbidden: false,
2679
+ isNullForbidden: true
2660
2680
  },
2661
2681
  $filesWatcherEvents: {
2662
2682
  newName: "filesWatcherEvents",
2663
2683
  type: Boolean,
2664
- required: false
2684
+ isUndefinedForbidden: false,
2685
+ isNullForbidden: true
2665
2686
  }
2666
2687
  }
2667
2688
  }
@@ -2721,17 +2742,22 @@ var ProjectBuildingCommonSettings__FromFile__RawValid;
2721
2742
  ProjectBuildingCommonSettings__FromFile__RawValid.propertiesSpecification = {
2722
2743
  $selectiveExecutions: {
2723
2744
  newName: "selectiveExecutions",
2724
- preValidationModifications: es_extensions_1.nullToUndefined,
2725
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2726
- required: false,
2745
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2746
+ isUndefinedForbidden: false,
2747
+ mustTransformNullToUndefined: true,
2748
+ areUndefinedTypeValuesForbidden: true,
2749
+ areNullTypeValuesForbidden: true,
2727
2750
  minimalEntriesCount: 1,
2728
2751
  value: {
2729
2752
  type: Object,
2730
2753
  properties: {
2731
2754
  $tasksAndSourceFilesSelection: {
2732
2755
  newName: "tasksAndSourceFilesSelection",
2733
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2734
- required: true,
2756
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2757
+ isUndefinedForbidden: true,
2758
+ isNullForbidden: true,
2759
+ areUndefinedTypeValuesForbidden: true,
2760
+ areNullTypeValuesForbidden: true,
2735
2761
  allowedKeys: [
2736
2762
  "$markupProcessing",
2737
2763
  "$stylesProcessing",
@@ -2757,6 +2783,8 @@ var ProjectBuildingCommonSettings__FromFile__RawValid;
2757
2783
  value: {
2758
2784
  type: Array,
2759
2785
  minimalElementsCount: 1,
2786
+ areUndefinedElementsForbidden: true,
2787
+ areNullElementsForbidden: true,
2760
2788
  element: {
2761
2789
  type: String,
2762
2790
  minimalCharactersCount: 1
@@ -2766,20 +2794,25 @@ var ProjectBuildingCommonSettings__FromFile__RawValid;
2766
2794
  $browserLiveReloadingSetupID: {
2767
2795
  newName: "browserLiveReloadingSetupID",
2768
2796
  type: String,
2769
- required: false
2797
+ isUndefinedForbidden: false,
2798
+ isNullForbidden: true
2770
2799
  },
2771
2800
  $distributablePackageJSON_Generating: {
2772
2801
  newName: "distributablePackageJSON_Generating",
2773
2802
  type: Boolean,
2774
- required: false
2803
+ isUndefinedForbidden: false,
2804
+ isNullForbidden: true
2775
2805
  }
2776
2806
  }
2777
2807
  }
2778
2808
  },
2779
2809
  $publicDirectoriesRelativePaths: {
2780
2810
  newName: "publicDirectoriesRelativePaths",
2781
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2782
- required: false,
2811
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
2812
+ isUndefinedForbidden: false,
2813
+ mustTransformNullToUndefined: true,
2814
+ areUndefinedTypeValuesForbidden: true,
2815
+ areNullTypeValuesForbidden: true,
2783
2816
  allowedKeys: [
2784
2817
  "$localDevelopment",
2785
2818
  "$testing",
@@ -2818,13 +2851,15 @@ var LintingSettings__FromFile__RawValid;
2818
2851
  $presetFileRelativePath: {
2819
2852
  newName: "presetFileRelativePath",
2820
2853
  type: String,
2821
- required: false,
2854
+ isUndefinedForbidden: false,
2855
+ isNullForbidden: true,
2822
2856
  minimalCharactersCount: 1
2823
2857
  },
2824
2858
  $disable: {
2825
2859
  newName: "disable",
2826
2860
  type: Boolean,
2827
- required: false
2861
+ isUndefinedForbidden: false,
2862
+ isNullForbidden: true
2828
2863
  }
2829
2864
  };
2830
2865
  })(LintingSettings__FromFile__RawValid || (LintingSettings__FromFile__RawValid = {}));
@@ -2848,7 +2883,10 @@ var OutputDirectoryPathTransformationsSettings__FromFile__RawValid;
2848
2883
  $segmentsWhichMustBeRemoved: {
2849
2884
  newName: "segmentsWhichMustBeRemoved",
2850
2885
  type: Array,
2851
- required: false,
2886
+ isUndefinedForbidden: false,
2887
+ isNullForbidden: true,
2888
+ areUndefinedElementsForbidden: true,
2889
+ areNullElementsForbidden: true,
2852
2890
  element: {
2853
2891
  type: String,
2854
2892
  minimalCharactersCount: 1
@@ -2857,7 +2895,10 @@ var OutputDirectoryPathTransformationsSettings__FromFile__RawValid;
2857
2895
  $segmentsWhichLastDuplicatesMustBeRemoved: {
2858
2896
  newName: "segmentsWhichLastDuplicatesMustBeRemoved",
2859
2897
  type: Array,
2860
- required: false,
2898
+ isUndefinedForbidden: false,
2899
+ isNullForbidden: true,
2900
+ areUndefinedElementsForbidden: true,
2901
+ areNullElementsForbidden: true,
2861
2902
  element: {
2862
2903
  type: String,
2863
2904
  minimalCharactersCount: 1
@@ -2867,7 +2908,8 @@ var OutputDirectoryPathTransformationsSettings__FromFile__RawValid;
2867
2908
  newName: "segmentsCountRelativeToGroupTopDirectoryWhichMustBeRemoved",
2868
2909
  type: Number,
2869
2910
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
2870
- required: false
2911
+ isUndefinedForbidden: false,
2912
+ isNullForbidden: true
2871
2913
  }
2872
2914
  };
2873
2915
  })(OutputDirectoryPathTransformationsSettings__FromFile__RawValid || (OutputDirectoryPathTransformationsSettings__FromFile__RawValid = {}));
@@ -2894,12 +2936,14 @@ var ResourceFilesGroupBuildingModeDependentOutputGenericSettings__FromFile__RawV
2894
2936
  $outputTopDirectoryRelativePath: {
2895
2937
  newName: "outputTopDirectoryRelativePath",
2896
2938
  type: String,
2897
- required: true
2939
+ isUndefinedForbidden: false,
2940
+ isNullForbidden: true
2898
2941
  },
2899
2942
  $outputPathTransformations: {
2900
2943
  newName: "outputPathTransformations",
2901
2944
  type: Object,
2902
- required: false,
2945
+ isUndefinedForbidden: false,
2946
+ isNullForbidden: true,
2903
2947
  properties: OutputDirectoryPathTransformationsSettings__FromFile__RawValid_1.default.propertiesSpecification
2904
2948
  }
2905
2949
  };
@@ -2923,12 +2967,14 @@ var RevisioningSettings__FromFile__RawValid;
2923
2967
  $disable: {
2924
2968
  newName: "disable",
2925
2969
  type: Boolean,
2926
- required: false
2970
+ isUndefinedForbidden: false,
2971
+ isNullForbidden: true
2927
2972
  },
2928
2973
  $contentHashPostfixSeparator: {
2929
2974
  newName: "contentHashPostfixSeparator",
2930
2975
  type: String,
2931
- required: false,
2976
+ isUndefinedForbidden: false,
2977
+ isNullForbidden: true,
2932
2978
  minimalCharactersCount: 1
2933
2979
  }
2934
2980
  };
@@ -2962,42 +3008,50 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
2962
3008
  return {
2963
3009
  $entryPointsGroups: {
2964
3010
  newName: "entryPointsGroups",
2965
- preValidationModifications: es_extensions_1.nullToUndefined,
2966
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
2967
- required: true,
3011
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
3012
+ isUndefinedForbidden: true,
3013
+ mustTransformNullToUndefined: true,
3014
+ areUndefinedTypeValuesForbidden: true,
3015
+ areNullTypeValuesForbidden: true,
2968
3016
  value: {
2969
3017
  type: Object,
2970
3018
  properties: {
2971
3019
  $sourceFilesTopDirectoryRelativePath: {
2972
3020
  newName: "sourceFilesTopDirectoryRelativePath",
2973
3021
  type: String,
2974
- required: false,
3022
+ isUndefinedForbidden: false,
3023
+ isNullForbidden: true,
2975
3024
  minimalCharactersCount: 1
2976
3025
  },
2977
3026
  $sourceFilesTopDirectoryPathAliasName: {
2978
3027
  newName: "sourceFilesTopDirectoryPathAliasName",
2979
3028
  type: String,
2980
- required: false,
3029
+ isUndefinedForbidden: false,
3030
+ isNullForbidden: true,
2981
3031
  minimalCharactersCount: 1
2982
3032
  },
2983
3033
  $partialsRecognition: {
2984
3034
  newName: "partialsRecognition",
2985
- preValidationModifications: es_extensions_1.nullToUndefined,
2986
3035
  type: Object,
2987
- required: false,
3036
+ isUndefinedForbidden: false,
3037
+ mustTransformNullToUndefined: true,
2988
3038
  properties: {
2989
3039
  $excludeAllSubdirectories: {
2990
3040
  newName: "excludeAllSubdirectories",
2991
3041
  type: Boolean,
2992
- required: false
3042
+ isUndefinedForbidden: false,
3043
+ isNullForbidden: true
2993
3044
  },
2994
3045
  $excludeSubdirectoriesWithNames: {
2995
3046
  newName: "excludeSubdirectoriesWithNames",
2996
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
2997
- required: false,
3047
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
3048
+ isUndefinedForbidden: false,
3049
+ isNullForbidden: true,
2998
3050
  alternatives: [
2999
3051
  {
3000
3052
  type: Array,
3053
+ areUndefinedElementsForbidden: true,
3054
+ areNullElementsForbidden: true,
3001
3055
  minimalElementsCount: 1,
3002
3056
  element: {
3003
3057
  type: String,
@@ -3012,11 +3066,14 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
3012
3066
  },
3013
3067
  $excludeSubdirectoriesWithPrefixes: {
3014
3068
  newName: "excludeSubdirectoriesWithPrefixes",
3015
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
3016
- required: false,
3069
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
3070
+ isUndefinedForbidden: false,
3071
+ isNullForbidden: true,
3017
3072
  alternatives: [
3018
3073
  {
3019
3074
  type: Array,
3075
+ areUndefinedElementsForbidden: true,
3076
+ areNullElementsForbidden: true,
3020
3077
  minimalElementsCount: 1,
3021
3078
  element: {
3022
3079
  type: String,
@@ -3031,11 +3088,14 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
3031
3088
  },
3032
3089
  $excludeFilesWithPrefixes: {
3033
3090
  newName: "excludeFilesWithPrefixes",
3034
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.oneOf,
3035
- required: false,
3091
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.polymorphic,
3092
+ isUndefinedForbidden: false,
3093
+ isNullForbidden: true,
3036
3094
  alternatives: [
3037
3095
  {
3038
3096
  type: Array,
3097
+ areUndefinedElementsForbidden: true,
3098
+ areNullElementsForbidden: true,
3039
3099
  minimalElementsCount: 1,
3040
3100
  element: {
3041
3101
  type: String
@@ -3052,23 +3112,28 @@ var SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid;
3052
3112
  $singleEntryPointSourceFileRelativePath: {
3053
3113
  newName: "singleEntryPointSourceFileRelativePath",
3054
3114
  type: String,
3055
- requiredIf: {
3056
- predicate: (rawObjectOfCurrentDepthLevel) => !(0, es_extensions_1.isNonEmptyString)(rawObjectOfCurrentDepthLevel.$sourceFilesTopDirectoryRelativePath),
3057
- 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"
3058
3118
  },
3119
+ isNullForbidden: true,
3059
3120
  minimalCharactersCount: 1
3060
3121
  },
3061
3122
  $singleEntryPointSourceFilePathAliasName: {
3062
3123
  newName: "singleEntryPointSourceFilePathAliasName",
3063
3124
  type: String,
3064
- required: false,
3125
+ isUndefinedForbidden: false,
3126
+ isNullForbidden: true,
3065
3127
  minimalCharactersCount: 1
3066
3128
  },
3067
3129
  ...entryPointsGroupBuildingModeIndependentSpecificSettingsLocalizedPropertiesSpecification,
3068
3130
  $buildingModeDependent: {
3069
3131
  newName: "buildingModeDependent",
3070
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
3071
- required: true,
3132
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
3133
+ isUndefinedForbidden: true,
3134
+ isNullForbidden: true,
3135
+ areUndefinedTypeValuesForbidden: true,
3136
+ areNullTypeValuesForbidden: true,
3072
3137
  minimalEntriesCount: 1,
3073
3138
  allowedKeys: [
3074
3139
  "$staticPreview",
@@ -4405,7 +4470,10 @@ var FilesWatchingSettings__FromFile__RawValid;
4405
4470
  $relativePathsOfExcludeFiles: {
4406
4471
  newName: "relativePathsOfExcludeFiles",
4407
4472
  type: Array,
4408
- required: false,
4473
+ isUndefinedForbidden: false,
4474
+ isNullForbidden: true,
4475
+ areUndefinedElementsForbidden: true,
4476
+ areNullElementsForbidden: true,
4409
4477
  element: {
4410
4478
  type: String,
4411
4479
  minimalCharactersCount: 1
@@ -4414,7 +4482,10 @@ var FilesWatchingSettings__FromFile__RawValid;
4414
4482
  $relativePathsOfExcludeDirectories: {
4415
4483
  newName: "relativePathsOfExcludeDirectories",
4416
4484
  type: Array,
4417
- required: false,
4485
+ isUndefinedForbidden: false,
4486
+ isNullForbidden: true,
4487
+ areUndefinedElementsForbidden: true,
4488
+ areNullElementsForbidden: true,
4418
4489
  element: {
4419
4490
  type: String,
4420
4491
  minimalCharactersCount: 1
@@ -4866,26 +4937,35 @@ class OutputPackageJSON_GeneratingSettingsNormalizer {
4866
4937
  const extractionFromPackageJSON_OfConsumingProject = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
4867
4938
  filePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([commonSettings__normalized.projectRootDirectoryAbsolutePath, "package.json"], { alwaysForwardSlashSeparators: true }),
4868
4939
  validDataSpecification: {
4869
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
4940
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
4870
4941
  nameForLogging: "PackageJSON_OfConsumingProject",
4871
4942
  properties: {
4872
4943
  scripts: {
4873
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4874
- defaultValue: {},
4944
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
4945
+ undefinedValueSubstitution: {},
4946
+ isNullForbidden: true,
4947
+ areUndefinedTypeValuesForbidden: true,
4948
+ areNullTypeValuesForbidden: true,
4875
4949
  value: {
4876
4950
  type: String
4877
4951
  }
4878
4952
  },
4879
4953
  dependencies: {
4880
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4881
- defaultValue: {},
4954
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
4955
+ undefinedValueSubstitution: {},
4956
+ isNullForbidden: true,
4957
+ areUndefinedTypeValuesForbidden: true,
4958
+ areNullTypeValuesForbidden: true,
4882
4959
  value: {
4883
4960
  type: String
4884
4961
  }
4885
4962
  },
4886
4963
  devDependencies: {
4887
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
4888
- defaultValue: {},
4964
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
4965
+ undefinedValueSubstitution: {},
4966
+ isNullForbidden: true,
4967
+ areUndefinedTypeValuesForbidden: true,
4968
+ areNullTypeValuesForbidden: true,
4889
4969
  value: {
4890
4970
  type: String
4891
4971
  }
@@ -4997,7 +5077,10 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
4997
5077
  $inheritedDependencies: {
4998
5078
  newName: "inheritedDependencies",
4999
5079
  type: Array,
5000
- required: false,
5080
+ isUndefinedForbidden: false,
5081
+ isNullForbidden: true,
5082
+ areUndefinedElementsForbidden: true,
5083
+ areNullElementsForbidden: true,
5001
5084
  minimalElementsCount: 1,
5002
5085
  element: {
5003
5086
  type: String,
@@ -5007,7 +5090,10 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5007
5090
  $inheritedDevelopmentDependencies: {
5008
5091
  newName: "inheritedDevelopmentDependencies",
5009
5092
  type: Array,
5010
- required: false,
5093
+ isUndefinedForbidden: false,
5094
+ isNullForbidden: true,
5095
+ areUndefinedElementsForbidden: true,
5096
+ areNullElementsForbidden: true,
5011
5097
  minimalElementsCount: 1,
5012
5098
  element: {
5013
5099
  type: String,
@@ -5017,7 +5103,10 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5017
5103
  $inheritedNPM_Scripts: {
5018
5104
  newName: "inheritedNPM_Scripts",
5019
5105
  type: Array,
5020
- required: false,
5106
+ isUndefinedForbidden: false,
5107
+ isNullForbidden: true,
5108
+ areUndefinedElementsForbidden: true,
5109
+ areNullElementsForbidden: true,
5021
5110
  minimalElementsCount: 1,
5022
5111
  element: {
5023
5112
  type: String,
@@ -5026,9 +5115,11 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5026
5115
  },
5027
5116
  $newNPM_Scripts: {
5028
5117
  newName: "newNPM_Scripts",
5029
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5030
- required: false,
5031
- 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,
5032
5123
  minimalEntriesCount: 1,
5033
5124
  value: {
5034
5125
  type: String,
@@ -5038,19 +5129,24 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5038
5129
  $indentString: {
5039
5130
  newName: "indentString",
5040
5131
  type: String,
5041
- required: false,
5132
+ isUndefinedForbidden: false,
5133
+ isNullForbidden: true,
5042
5134
  minimalCharactersCount: 1
5043
5135
  },
5044
5136
  $linesSeparator: {
5045
5137
  newName: "linesSeparator",
5046
5138
  type: String,
5047
- required: false,
5139
+ isUndefinedForbidden: false,
5140
+ isNullForbidden: true,
5048
5141
  allowedAlternatives: Object.values(es_extensions_1.LineSeparators.lineFeed)
5049
5142
  },
5050
5143
  $buildingModeDependent: {
5051
5144
  newName: "buildingModeDependent",
5052
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5053
- required: true,
5145
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
5146
+ isUndefinedForbidden: true,
5147
+ isNullForbidden: true,
5148
+ areUndefinedTypeValuesForbidden: true,
5149
+ areNullTypeValuesForbidden: true,
5054
5150
  minimalEntriesCount: 1,
5055
5151
  allowedKeys: [
5056
5152
  "$staticPreview",
@@ -5072,19 +5168,22 @@ var OutputPackageJSON_GeneratingSettings__FromFile__RawValid;
5072
5168
  $outputDirectoryRelativePath: {
5073
5169
  newName: "outputDirectoryRelativePath",
5074
5170
  type: String,
5075
- required: true,
5171
+ isUndefinedForbidden: true,
5172
+ isNullForbidden: true,
5076
5173
  minimalCharactersCount: 1
5077
5174
  },
5078
5175
  $indentString: {
5079
5176
  newName: "indentString",
5080
5177
  type: String,
5081
- required: false,
5178
+ isUndefinedForbidden: false,
5179
+ isNullForbidden: true,
5082
5180
  minimalCharactersCount: 1
5083
5181
  },
5084
5182
  $linesSeparator: {
5085
5183
  newName: "linesSeparator",
5086
5184
  type: String,
5087
- required: false,
5185
+ isUndefinedForbidden: false,
5186
+ isNullForbidden: true,
5088
5187
  allowedAlternatives: Object.values(es_extensions_1.LineSeparators.lineFeed)
5089
5188
  }
5090
5189
  }
@@ -5479,8 +5578,11 @@ var PlainCopyingSettings__FromFile__RawValid;
5479
5578
  PlainCopyingSettings__FromFile__RawValid.propertiesSpecification = {
5480
5579
  $filesGroups: {
5481
5580
  newName: "filesGroups",
5482
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5483
- required: true,
5581
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
5582
+ isUndefinedForbidden: true,
5583
+ isNullForbidden: true,
5584
+ areUndefinedTypeValuesForbidden: true,
5585
+ areNullTypeValuesForbidden: true,
5484
5586
  minimalEntriesCount: 1,
5485
5587
  value: {
5486
5588
  type: Object,
@@ -5488,29 +5590,34 @@ var PlainCopyingSettings__FromFile__RawValid;
5488
5590
  /* ─── Common ─────────────────────────────────────────────────────────────────────────────────────────── */
5489
5591
  $aliasName: {
5490
5592
  newName: "aliasName",
5491
- preValidationModifications: es_extensions_1.nullToUndefined,
5492
5593
  type: String,
5493
- required: false
5594
+ isUndefinedForbidden: false,
5595
+ isNullForbidden: true
5494
5596
  },
5495
5597
  /* ─── Singular ───────────────────────────────────────────────────────────────────────────────────────── */
5496
5598
  $sourceFileRelativePath: {
5497
5599
  newName: "sourceFileRelativePath",
5498
5600
  type: String,
5499
- required: false
5601
+ isUndefinedForbidden: false,
5602
+ isNullForbidden: true
5500
5603
  },
5501
5604
  /* ─── Plural ─────────────────────────────────────────────────────────────────────────────────────────── */
5502
5605
  $sourceTopDirectoryRelativePath: {
5503
5606
  newName: "sourceTopDirectoryRelativePath",
5504
5607
  type: String,
5505
- requiredIf: {
5506
- predicate: (filesGroup) => (0, es_extensions_1.isUndefined)(filesGroup.$sourceFileRelativePath),
5608
+ undefinedForbiddenIf: {
5609
+ predicate: ({ rawData__currentObjectDepth: filesGroup }) => (0, es_extensions_1.isUndefined)(filesGroup.$sourceFileRelativePath),
5507
5610
  descriptionForLogging: "\"$sourceFileRelativePath\" not undefined"
5508
- }
5611
+ },
5612
+ isNullForbidden: true
5509
5613
  },
5510
5614
  $fileNameLastExtensions: {
5511
5615
  newName: "fileNameLastExtensions",
5512
5616
  type: Array,
5513
- required: false,
5617
+ isUndefinedForbidden: false,
5618
+ isNullForbidden: true,
5619
+ areUndefinedElementsForbidden: true,
5620
+ areNullElementsForbidden: true,
5514
5621
  element: {
5515
5622
  type: String,
5516
5623
  minimalCharactersCount: 1
@@ -5518,8 +5625,11 @@ var PlainCopyingSettings__FromFile__RawValid;
5518
5625
  },
5519
5626
  $buildingModeDependent: {
5520
5627
  newName: "buildingModeDependent",
5521
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
5522
- required: true,
5628
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
5629
+ isUndefinedForbidden: true,
5630
+ isNullForbidden: true,
5631
+ areUndefinedTypeValuesForbidden: true,
5632
+ areNullTypeValuesForbidden: true,
5523
5633
  minimalEntriesCount: 1,
5524
5634
  allowedKeys: [
5525
5635
  "$staticPreview",
@@ -5542,18 +5652,20 @@ var PlainCopyingSettings__FromFile__RawValid;
5542
5652
  $revisioning: {
5543
5653
  newName: "revisioning",
5544
5654
  type: Object,
5545
- required: false,
5546
- preValidationModifications: es_extensions_1.nullToUndefined,
5655
+ isUndefinedForbidden: false,
5656
+ mustTransformNullToUndefined: true,
5547
5657
  properties: {
5548
5658
  $enable: {
5549
5659
  newName: "enable",
5550
5660
  type: Boolean,
5551
- required: false
5661
+ isUndefinedForbidden: false,
5662
+ isNullForbidden: true
5552
5663
  },
5553
5664
  $contentHashPostfixSeparator: {
5554
5665
  newName: "contentHashPostfixSeparator",
5555
5666
  type: String,
5556
- required: false,
5667
+ isUndefinedForbidden: false,
5668
+ isNullForbidden: true,
5557
5669
  minimalCharactersCount: 1
5558
5670
  }
5559
5671
  }
@@ -5562,38 +5674,45 @@ var PlainCopyingSettings__FromFile__RawValid;
5562
5674
  $outputDirectoryRelativePath: {
5563
5675
  newName: "outputDirectoryRelativePath",
5564
5676
  type: String,
5565
- required: false
5677
+ isUndefinedForbidden: false,
5678
+ isNullForbidden: true
5566
5679
  },
5567
5680
  $newFileNameWithExtension: {
5568
5681
  newName: "newFileNameWithExtension",
5569
5682
  type: String,
5570
- required: false,
5683
+ isUndefinedForbidden: false,
5684
+ isNullForbidden: true,
5571
5685
  minimalCharactersCount: 1
5572
5686
  },
5573
5687
  /* ─── Plural ───────────────────────────────────────────────────────────────────────────────────── */
5574
5688
  $outputTopDirectoryRelativePath: {
5575
5689
  newName: "outputTopDirectoryRelativePath",
5576
5690
  type: String,
5577
- required: false
5691
+ isUndefinedForbidden: false,
5692
+ isNullForbidden: true
5578
5693
  },
5579
5694
  $filesRenamings: {
5580
5695
  newName: "filesRenamings",
5581
5696
  type: Array,
5582
- required: false,
5583
- preValidationModifications: es_extensions_1.nullToUndefined,
5697
+ isUndefinedForbidden: false,
5698
+ mustTransformNullToUndefined: true,
5699
+ areUndefinedElementsForbidden: true,
5700
+ areNullElementsForbidden: true,
5584
5701
  element: {
5585
5702
  type: Object,
5586
5703
  properties: {
5587
5704
  $pathRelativeToSourceDirectory: {
5588
5705
  newName: "pathRelativeToSourceDirectory",
5589
5706
  type: String,
5590
- required: true,
5707
+ isUndefinedForbidden: true,
5708
+ isNullForbidden: true,
5591
5709
  minimalCharactersCount: 1
5592
5710
  },
5593
5711
  $newFileNameWithExtension: {
5594
5712
  newName: "newFileNameWithExtension",
5595
5713
  type: String,
5596
- required: true,
5714
+ isUndefinedForbidden: true,
5715
+ isNullForbidden: true,
5597
5716
  minimalCharactersCount: 1
5598
5717
  }
5599
5718
  }
@@ -5602,8 +5721,8 @@ var PlainCopyingSettings__FromFile__RawValid;
5602
5721
  $outputDirectoryPathTransformations: {
5603
5722
  newName: "outputDirectoryPathTransformations",
5604
5723
  type: Object,
5605
- required: false,
5606
- preValidationModifications: es_extensions_1.nullToUndefined,
5724
+ isUndefinedForbidden: false,
5725
+ mustTransformNullToUndefined: true,
5607
5726
  properties: OutputDirectoryPathTransformationsSettings__FromFile__RawValid_1.default.propertiesSpecification
5608
5727
  }
5609
5728
  }
@@ -5924,96 +6043,96 @@ var ProjectBuildingConfig__FromFile__RawValid;
5924
6043
  the property as optional. */
5925
6044
  ProjectBuildingConfig__FromFile__RawValid.propertiesSpecification = {
5926
6045
  nameForLogging: "ProjectBuildingConfig__FromFile__RawValid",
5927
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
6046
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
5928
6047
  properties: {
5929
6048
  $projectBuilding: {
5930
6049
  newName: "projectBuilding",
5931
- preValidationModifications: es_extensions_1.nullToUndefined,
5932
6050
  type: Object,
5933
- required: true,
6051
+ isUndefinedForbidden: true,
6052
+ isNullForbidden: true,
5934
6053
  properties: {
5935
6054
  $commonSettings: {
5936
6055
  newName: "commonSettings",
5937
- preValidationModifications: es_extensions_1.nullToUndefined,
5938
6056
  type: Object,
5939
- required: false,
6057
+ isUndefinedForbidden: false,
6058
+ mustTransformNullToUndefined: true,
5940
6059
  properties: ProjectBuildingCommonSettings__FromFile__RawValid_1.default.propertiesSpecification
5941
6060
  },
5942
6061
  $markupProcessing: {
5943
6062
  newName: "markupProcessing",
5944
- preValidationModifications: es_extensions_1.nullToUndefined,
5945
6063
  type: Object,
5946
- required: false,
6064
+ isUndefinedForbidden: false,
6065
+ mustTransformNullToUndefined: true,
5947
6066
  properties: MarkupProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5948
6067
  },
5949
6068
  $stylesProcessing: {
5950
6069
  newName: "stylesProcessing",
5951
- preValidationModifications: es_extensions_1.nullToUndefined,
5952
6070
  type: Object,
5953
- required: false,
6071
+ isUndefinedForbidden: false,
6072
+ mustTransformNullToUndefined: true,
5954
6073
  properties: StylesProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5955
6074
  },
5956
6075
  $ECMA_ScriptLogicProcessing: {
5957
6076
  newName: "ECMA_ScriptLogicProcessing",
5958
- preValidationModifications: es_extensions_1.nullToUndefined,
5959
6077
  type: Object,
5960
- required: false,
6078
+ isUndefinedForbidden: false,
6079
+ mustTransformNullToUndefined: true,
5961
6080
  properties: ECMA_ScriptLogicProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5962
6081
  },
5963
6082
  $imagesProcessing: {
5964
6083
  newName: "imagesProcessing",
5965
6084
  type: Object,
5966
- required: false,
5967
- preValidationModifications: es_extensions_1.nullToUndefined,
6085
+ isUndefinedForbidden: false,
6086
+ mustTransformNullToUndefined: true,
5968
6087
  properties: ImagesProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5969
6088
  },
5970
6089
  $fontsProcessing: {
5971
6090
  newName: "fontsProcessing",
5972
6091
  type: Object,
5973
- required: false,
5974
- preValidationModifications: es_extensions_1.nullToUndefined,
6092
+ isUndefinedForbidden: false,
6093
+ mustTransformNullToUndefined: true,
5975
6094
  properties: FontsProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5976
6095
  },
5977
6096
  $videosProcessing: {
5978
6097
  newName: "videosProcessing",
5979
6098
  type: Object,
5980
- required: false,
5981
- preValidationModifications: es_extensions_1.nullToUndefined,
6099
+ isUndefinedForbidden: false,
6100
+ mustTransformNullToUndefined: true,
5982
6101
  properties: VideosProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5983
6102
  },
5984
6103
  $audiosProcessing: {
5985
6104
  newName: "audiosProcessing",
5986
6105
  type: Object,
5987
- required: false,
5988
- preValidationModifications: es_extensions_1.nullToUndefined,
6106
+ isUndefinedForbidden: false,
6107
+ mustTransformNullToUndefined: true,
5989
6108
  properties: AudiosProcessingSettings__FromFile__RawValid_1.default.propertiesSpecification
5990
6109
  },
5991
6110
  $plainCopying: {
5992
6111
  newName: "plainCopying",
5993
6112
  type: Object,
5994
- required: false,
5995
- preValidationModifications: es_extensions_1.nullToUndefined,
6113
+ isUndefinedForbidden: false,
6114
+ mustTransformNullToUndefined: true,
5996
6115
  properties: PlainCopyingSettings__FromFile__RawValid_1.default.propertiesSpecification
5997
6116
  },
5998
6117
  $filesWatching: {
5999
6118
  newName: "filesWatching",
6000
6119
  type: Object,
6001
- required: false,
6002
- preValidationModifications: es_extensions_1.nullToUndefined,
6120
+ isUndefinedForbidden: false,
6121
+ mustTransformNullToUndefined: true,
6003
6122
  properties: FilesWatchingSettings__FromFile__RawValid_1.default.propertiesSpecification
6004
6123
  },
6005
6124
  $browserLiveReloading: {
6006
6125
  newName: "browserLiveReloading",
6007
6126
  type: Object,
6008
- required: false,
6009
- preValidationModifications: es_extensions_1.nullToUndefined,
6127
+ isUndefinedForbidden: false,
6128
+ mustTransformNullToUndefined: true,
6010
6129
  properties: BrowserLiveReloadingSettings__FromFile__RawValid_1.default.propertiesSpecification
6011
6130
  },
6012
6131
  $outputPackageJSON_Generating: {
6013
6132
  newName: "outputPackageJSON_Generating",
6014
6133
  type: Object,
6015
- required: false,
6016
- preValidationModifications: es_extensions_1.nullToUndefined,
6134
+ isUndefinedForbidden: false,
6135
+ mustTransformNullToUndefined: true,
6017
6136
  properties: OutputPackageJSON_GeneratingSettings__FromFile__RawValid_1.default.propertiesSpecification
6018
6137
  }
6019
6138
  }
@@ -6575,9 +6694,9 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6575
6694
  ECMA_ScriptLogicProcessingSettings__FromFile__RawValid.propertiesSpecification = {
6576
6695
  $linting: {
6577
6696
  newName: "linting",
6578
- preValidationModifications: es_extensions_1.nullToUndefined,
6579
6697
  type: Object,
6580
- required: false,
6698
+ isUndefinedForbidden: false,
6699
+ mustTransformNullToUndefined: true,
6581
6700
  properties: LintingSettings__FromFile__RawValid_1.default.propertiesSpecification
6582
6701
  },
6583
6702
  ...SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid_1.default.generatePropertiesSpecification({
@@ -6585,32 +6704,37 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6585
6704
  $targetRuntime: {
6586
6705
  newName: "targetRuntime",
6587
6706
  type: Object,
6588
- required: true,
6707
+ isUndefinedForbidden: true,
6708
+ isNullForbidden: true,
6589
6709
  properties: {
6590
6710
  $type: {
6591
6711
  newName: "type",
6592
6712
  type: String,
6593
- required: true,
6713
+ isUndefinedForbidden: true,
6714
+ isNullForbidden: true,
6594
6715
  allowedAlternatives: Object.values(SupportedECMA_ScriptRuntimesTypes)
6595
6716
  },
6596
6717
  $minimalVersion: {
6597
6718
  newName: "minimalVersion",
6598
6719
  type: Object,
6599
- requiredIf: {
6720
+ undefinedForbiddenIf: {
6600
6721
  predicate: (runtimeConfig) => runtimeConfig.type === SupportedECMA_ScriptRuntimesTypes.nodeJS,
6601
6722
  descriptionForLogging: "Target runtime is NodeJS"
6602
6723
  },
6724
+ isNullForbidden: true,
6603
6725
  properties: {
6604
6726
  $major: {
6605
6727
  newName: "major",
6606
6728
  type: Number,
6607
- required: true,
6729
+ isUndefinedForbidden: true,
6730
+ isNullForbidden: true,
6608
6731
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
6609
6732
  },
6610
6733
  $minor: {
6611
6734
  newName: "minor",
6612
6735
  type: Number,
6613
- required: false,
6736
+ isUndefinedForbidden: false,
6737
+ isNullForbidden: true,
6614
6738
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
6615
6739
  }
6616
6740
  }
@@ -6620,47 +6744,56 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6620
6744
  $associatedMarkupEntryPointsGroupID_ForDynamicModulesLoadingWithoutDevelopmentServer: {
6621
6745
  newName: "associatedMarkupEntryPointsGroupID_ForDynamicModulesLoadingWithoutDevelopmentServer",
6622
6746
  type: String,
6623
- required: false,
6747
+ isUndefinedForbidden: false,
6748
+ isNullForbidden: true,
6624
6749
  minimalCharactersCount: 1
6625
6750
  },
6626
6751
  $typeScriptConfigurationFileRelativePath: {
6627
6752
  newName: "typeScriptConfigurationFileRelativePath",
6628
6753
  type: String,
6629
- required: false,
6754
+ isUndefinedForbidden: false,
6755
+ isNullForbidden: true,
6630
6756
  minimalCharactersCount: 1
6631
6757
  },
6632
6758
  $distributing: {
6633
6759
  newName: "distributing",
6634
6760
  type: Object,
6635
- required: false,
6761
+ isUndefinedForbidden: false,
6762
+ isNullForbidden: true,
6636
6763
  properties: {
6637
6764
  $exposingOfExportsFromEntryPoints: {
6638
6765
  newName: "exposingOfExportsFromEntryPoints",
6639
6766
  type: Object,
6640
- required: false,
6767
+ isUndefinedForbidden: false,
6768
+ isNullForbidden: true,
6641
6769
  properties: {
6642
6770
  $mustExpose: {
6643
6771
  newName: "mustExpose",
6644
6772
  type: Boolean,
6645
- required: true
6773
+ isUndefinedForbidden: true,
6774
+ isNullForbidden: true
6646
6775
  },
6647
6776
  $namespace: {
6648
6777
  newName: "namespace",
6649
6778
  type: String,
6650
- required: false
6779
+ isUndefinedForbidden: false,
6780
+ isNullForbidden: true
6651
6781
  },
6652
6782
  $mustAssignToWindowObject: {
6653
6783
  newName: "mustAssignToWindowObject",
6654
6784
  type: String,
6655
- required: false
6785
+ isUndefinedForbidden: false,
6786
+ isNullForbidden: true
6656
6787
  }
6657
6788
  }
6658
6789
  },
6659
6790
  $externalizingDependencies: {
6660
6791
  newName: "externalizingDependencies",
6661
- required: false,
6792
+ isUndefinedForbidden: false,
6793
+ mustTransformNullToUndefined: true,
6794
+ areUndefinedElementsForbidden: true,
6795
+ areNullElementsForbidden: true,
6662
6796
  type: Array,
6663
- preValidationModifications: es_extensions_1.nullToUndefined,
6664
6797
  element: {
6665
6798
  type: String,
6666
6799
  minimalCharactersCount: 1
@@ -6669,17 +6802,20 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6669
6802
  $typeScriptTypesDeclarations: {
6670
6803
  newName: "typeScriptTypesDeclarations",
6671
6804
  type: Object,
6672
- required: false,
6805
+ isUndefinedForbidden: false,
6806
+ mustTransformNullToUndefined: true,
6673
6807
  properties: {
6674
6808
  $mustGenerate: {
6675
6809
  newName: "mustGenerate",
6676
6810
  type: Boolean,
6677
- required: false
6811
+ isUndefinedForbidden: false,
6812
+ isNullForbidden: true
6678
6813
  },
6679
6814
  $fileNameWithoutExtension: {
6680
6815
  newName: "fileNameWithoutExtension",
6681
6816
  type: String,
6682
- required: false
6817
+ isUndefinedForbidden: false,
6818
+ isNullForbidden: true
6683
6819
  }
6684
6820
  }
6685
6821
  }
@@ -6690,20 +6826,22 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6690
6826
  $revisioning: {
6691
6827
  newName: "revisioning",
6692
6828
  type: Object,
6693
- required: false,
6694
- preValidationModifications: es_extensions_1.nullToUndefined,
6829
+ isUndefinedForbidden: false,
6830
+ mustTransformNullToUndefined: true,
6695
6831
  properties: RevisioningSettings__FromFile__RawValid_1.default.propertiesSpecification
6696
6832
  },
6697
6833
  $dynamicallyLoadedFilesSubdirectory: {
6698
6834
  newName: "dynamicallyLoadedFilesSubdirectory",
6699
6835
  type: String,
6700
- required: false,
6836
+ isUndefinedForbidden: false,
6837
+ isNullForbidden: true,
6701
6838
  minimalCharactersCount: 1
6702
6839
  },
6703
6840
  $dynamicallyLoadedFilesNamesTemplate: {
6704
6841
  newName: "dynamicallyLoadedFilesNamesTemplate",
6705
6842
  type: String,
6706
- required: false,
6843
+ isUndefinedForbidden: false,
6844
+ isNullForbidden: true,
6707
6845
  minimalCharactersCount: 1
6708
6846
  }
6709
6847
  }
@@ -6711,44 +6849,50 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6711
6849
  $logging: {
6712
6850
  newName: "logging",
6713
6851
  type: Object,
6714
- required: false,
6715
- preValidationModifications: es_extensions_1.nullToUndefined,
6852
+ isUndefinedForbidden: false,
6853
+ mustTransformNullToUndefined: true,
6716
6854
  properties: {
6717
6855
  $filesPaths: {
6718
6856
  newName: "filesPaths",
6719
6857
  type: Boolean,
6720
- required: false
6858
+ isUndefinedForbidden: false,
6859
+ isNullForbidden: true
6721
6860
  },
6722
6861
  $filesCount: {
6723
6862
  newName: "filesCount",
6724
6863
  type: Boolean,
6725
- required: false
6864
+ isUndefinedForbidden: false,
6865
+ isNullForbidden: true
6726
6866
  },
6727
6867
  $partialFilesAndParentEntryPointsCorrespondence: {
6728
6868
  newName: "partialFilesAndParentEntryPointsCorrespondence",
6729
6869
  type: Boolean,
6730
- required: false
6870
+ isUndefinedForbidden: false,
6871
+ isNullForbidden: true
6731
6872
  },
6732
6873
  $filesWatcherEvents: {
6733
6874
  newName: "filesWatcherEvents",
6734
6875
  type: Boolean,
6735
- required: false
6876
+ isUndefinedForbidden: false,
6877
+ isNullForbidden: true
6736
6878
  },
6737
6879
  $linting: {
6738
6880
  newName: "linting",
6739
6881
  type: Object,
6740
- required: false,
6741
- preValidationModifications: es_extensions_1.nullToUndefined,
6882
+ isUndefinedForbidden: false,
6883
+ isNullForbidden: true,
6742
6884
  properties: {
6743
6885
  $starting: {
6744
6886
  newName: "starting",
6745
6887
  type: Boolean,
6746
- required: false
6888
+ isUndefinedForbidden: false,
6889
+ isNullForbidden: true
6747
6890
  },
6748
6891
  $completionWithoutIssues: {
6749
6892
  newName: "completionWithoutIssues",
6750
6893
  type: Boolean,
6751
- required: false
6894
+ isUndefinedForbidden: false,
6895
+ isNullForbidden: true
6752
6896
  }
6753
6897
  }
6754
6898
  }
@@ -6757,19 +6901,23 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6757
6901
  $localDevelopmentServerOrchestration: {
6758
6902
  newName: "localDevelopmentServerOrchestration",
6759
6903
  type: Object,
6760
- required: false,
6761
- preValidationModifications: es_extensions_1.nullToUndefined,
6904
+ isUndefinedForbidden: false,
6905
+ mustTransformNullToUndefined: true,
6762
6906
  properties: {
6763
6907
  $targetSingularEntryPointsGroupID: {
6764
6908
  newName: "targetSingularEntryPointsGroupID",
6765
6909
  type: String,
6766
- required: true,
6910
+ isUndefinedForbidden: true,
6911
+ isNullForbidden: true,
6767
6912
  minimalCharactersCount: 1
6768
6913
  },
6769
6914
  $arguments: {
6770
6915
  newName: "arguments",
6771
6916
  type: Array,
6772
- required: false,
6917
+ isUndefinedForbidden: false,
6918
+ isNullForbidden: true,
6919
+ areUndefinedElementsForbidden: true,
6920
+ areNullElementsForbidden: true,
6773
6921
  element: {
6774
6922
  type: String,
6775
6923
  minimalCharactersCount: 1
@@ -6777,8 +6925,11 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6777
6925
  },
6778
6926
  $environmentVariables: {
6779
6927
  newName: "environmentVariables",
6780
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
6781
- required: false,
6928
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
6929
+ isUndefinedForbidden: false,
6930
+ isNullForbidden: true,
6931
+ areUndefinedTypeValuesForbidden: true,
6932
+ areNullTypeValuesForbidden: true,
6782
6933
  value: {
6783
6934
  type: String,
6784
6935
  minimalCharactersCount: 1
@@ -6787,7 +6938,8 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
6787
6938
  $environmentVariablesFileRelativePath: {
6788
6939
  newName: "environmentVariablesFileRelativePath",
6789
6940
  type: String,
6790
- required: false,
6941
+ isUndefinedForbidden: false,
6942
+ isNullForbidden: true,
6791
6943
  minimalCharactersCount: 1
6792
6944
  }
6793
6945
  }
@@ -7171,70 +7323,87 @@ class ECMA_ScriptSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
7171
7323
  sourceFilesCachedCheckingResults: {
7172
7324
  fileNameWithExtension: "ECMA_ScriptLintingCache.json",
7173
7325
  contentSpecification: {
7174
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
7326
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
7175
7327
  nameForLogging: "CachedMarkupLintingResultsFileContent",
7176
7328
  properties: {
7177
7329
  files: {
7178
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
7179
- required: true,
7330
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
7331
+ isUndefinedForbidden: true,
7332
+ isNullForbidden: true,
7333
+ areUndefinedTypeValuesForbidden: true,
7334
+ areNullTypeValuesForbidden: true,
7180
7335
  value: {
7181
7336
  type: Object,
7182
7337
  properties: {
7183
7338
  issues: {
7184
7339
  type: Array,
7185
- required: true,
7340
+ isUndefinedForbidden: true,
7341
+ isNullForbidden: true,
7342
+ areUndefinedElementsForbidden: true,
7343
+ areNullElementsForbidden: true,
7186
7344
  element: {
7187
7345
  type: Object,
7188
7346
  properties: {
7189
7347
  ruleID: {
7190
7348
  type: String,
7191
- required: false
7349
+ isUndefinedForbidden: false,
7350
+ isNullForbidden: true
7192
7351
  },
7193
7352
  message: {
7194
7353
  type: String,
7195
- required: true
7354
+ isUndefinedForbidden: true,
7355
+ isNullForbidden: true
7196
7356
  },
7197
7357
  codeFragment: {
7198
7358
  type: Object,
7199
- required: true,
7359
+ isUndefinedForbidden: true,
7360
+ isNullForbidden: true,
7200
7361
  properties: {
7201
7362
  beforeHighlighting: {
7202
7363
  type: String,
7203
- required: true
7364
+ isUndefinedForbidden: true,
7365
+ isNullForbidden: true
7204
7366
  },
7205
7367
  highlighted: {
7206
7368
  type: String,
7207
- required: true
7369
+ isUndefinedForbidden: true,
7370
+ isNullForbidden: true
7208
7371
  },
7209
7372
  afterHighlighting: {
7210
7373
  type: String,
7211
- required: true
7374
+ isUndefinedForbidden: true,
7375
+ isNullForbidden: true
7212
7376
  }
7213
7377
  }
7214
7378
  },
7215
7379
  location: {
7216
7380
  type: Object,
7217
- required: true,
7381
+ isUndefinedForbidden: true,
7382
+ isNullForbidden: true,
7218
7383
  properties: {
7219
7384
  startingLineNumber__numerationFrom1: {
7220
7385
  type: Number,
7221
7386
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7222
- required: false
7387
+ isUndefinedForbidden: false,
7388
+ isNullForbidden: true
7223
7389
  },
7224
7390
  endingLineNumber__numerationFrom1: {
7225
7391
  type: Number,
7226
7392
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7227
- required: false
7393
+ isUndefinedForbidden: false,
7394
+ isNullForbidden: true
7228
7395
  },
7229
7396
  startingColumnNumber__numerationFrom1: {
7230
7397
  type: Number,
7231
7398
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7232
- required: false
7399
+ isUndefinedForbidden: false,
7400
+ isNullForbidden: true
7233
7401
  },
7234
7402
  endingColumnNumber__numerationFrom1: {
7235
7403
  type: Number,
7236
7404
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
7237
- required: false
7405
+ isUndefinedForbidden: false,
7406
+ isNullForbidden: true
7238
7407
  }
7239
7408
  }
7240
7409
  }
@@ -7243,7 +7412,8 @@ class ECMA_ScriptSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
7243
7412
  },
7244
7413
  modificationDateTime__ISO_8601: {
7245
7414
  type: String,
7246
- required: true,
7415
+ isUndefinedForbidden: true,
7416
+ isNullForbidden: true,
7247
7417
  minimalCharactersCount: 1
7248
7418
  }
7249
7419
  }
@@ -8158,7 +8328,7 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8158
8328
  entryPointsGroupsNormalizedSettingsMappedByReferences;
8159
8329
  sourceCodeLintingCommonSettings;
8160
8330
  importingFromTypeScriptSettings;
8161
- experimental1Settings;
8331
+ importingFromJavaScriptSettings;
8162
8332
  staticPreviewSettings;
8163
8333
  routingSettings;
8164
8334
  relevantEntryPointsGroupsSettings;
@@ -8171,7 +8341,7 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
8171
8341
  super(projectBuildingMasterConfigRepresentative);
8172
8342
  this.sourceCodeLintingCommonSettings = normalizedMarkupProcessingSettings.linting;
8173
8343
  this.importingFromTypeScriptSettings = normalizedMarkupProcessingSettings.importingFromTypeScript;
8174
- this.experimental1Settings = normalizedMarkupProcessingSettings.experimental1;
8344
+ this.importingFromJavaScriptSettings = normalizedMarkupProcessingSettings.importingFromJavaScript;
8175
8345
  this.staticPreviewSettings = normalizedMarkupProcessingSettings.staticPreview;
8176
8346
  this.routingSettings = normalizedMarkupProcessingSettings.routing;
8177
8347
  this.relevantEntryPointsGroupsSettings = normalizedMarkupProcessingSettings.relevantEntryPointsGroups;
@@ -8460,37 +8630,44 @@ var MarkupProcessingSettings__FromFile__RawValid;
8460
8630
  return {
8461
8631
  newName: "localization",
8462
8632
  type: Object,
8463
- required: false,
8464
- preValidationModifications: es_extensions_1.nullToUndefined,
8633
+ isUndefinedForbidden: false,
8634
+ mustTransformNullToUndefined: true,
8465
8635
  properties: {
8466
8636
  $stringResourcesFileRelativePath: {
8467
8637
  newName: "stringResourcesFileRelativePath",
8468
8638
  type: String,
8469
- required: false,
8639
+ isUndefinedForbidden: false,
8640
+ isNullForbidden: true,
8470
8641
  minimalCharactersCount: 1
8471
8642
  },
8472
8643
  $localizedStringResourcesConstantName: {
8473
8644
  newName: "localizedStringResourcesConstantName",
8474
8645
  type: String,
8475
- required: false,
8646
+ isUndefinedForbidden: false,
8647
+ isNullForbidden: true,
8476
8648
  minimalCharactersCount: 1
8477
8649
  },
8478
8650
  $localeConstantName: {
8479
8651
  newName: "localeConstantName",
8480
8652
  type: String,
8481
- required: false,
8653
+ isUndefinedForbidden: false,
8654
+ isNullForbidden: true,
8482
8655
  minimalCharactersCount: 1
8483
8656
  },
8484
8657
  $nameOfConstantForInterpolationToLangHTML_Attribute: {
8485
8658
  newName: "nameOfConstantForInterpolationToLangHTML_Attribute",
8486
8659
  type: String,
8487
- required: false,
8660
+ isUndefinedForbidden: false,
8661
+ isNullForbidden: true,
8488
8662
  minimalCharactersCount: 1
8489
8663
  },
8490
8664
  $locales: {
8491
8665
  newName: "locales",
8492
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8493
- required: true,
8666
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
8667
+ isUndefinedForbidden: true,
8668
+ isNullForbidden: true,
8669
+ areUndefinedTypeValuesForbidden: true,
8670
+ areNullTypeValuesForbidden: true,
8494
8671
  minimalEntriesCount: 1,
8495
8672
  value: {
8496
8673
  type: Object,
@@ -8498,25 +8675,29 @@ var MarkupProcessingSettings__FromFile__RawValid;
8498
8675
  $outputFileInterimNameExtensionWithoutDot: {
8499
8676
  newName: "outputFileInterimNameExtensionWithoutDot",
8500
8677
  type: String,
8501
- required: true,
8678
+ isUndefinedForbidden: true,
8679
+ isNullForbidden: true,
8502
8680
  minimalCharactersCount: 1
8503
8681
  },
8504
8682
  $localeConstantValue: {
8505
8683
  newName: "localeConstantValue",
8506
8684
  type: String,
8507
- required: false,
8685
+ isUndefinedForbidden: false,
8686
+ isNullForbidden: true,
8508
8687
  minimalCharactersCount: 1
8509
8688
  },
8510
8689
  $keyInLocalizedStringResourcesObject: {
8511
8690
  newName: "keyInLocalizedStringResourcesObject",
8512
8691
  type: String,
8513
- required: false,
8692
+ isUndefinedForbidden: false,
8693
+ isNullForbidden: true,
8514
8694
  minimalCharactersCount: 1
8515
8695
  },
8516
8696
  $valueOfConstantForInterpolationToLangHTML_Attribute: {
8517
8697
  newName: "valueOfConstantForInterpolationToLangHTML_Attribute",
8518
8698
  type: String,
8519
- required: false,
8699
+ isUndefinedForbidden: false,
8700
+ isNullForbidden: true,
8520
8701
  minimalCharactersCount: 1
8521
8702
  }
8522
8703
  }
@@ -8532,14 +8713,17 @@ var MarkupProcessingSettings__FromFile__RawValid;
8532
8713
  $common: {
8533
8714
  newName: "common",
8534
8715
  type: Object,
8535
- required: false,
8536
- preValidationModifications: es_extensions_1.nullToUndefined,
8716
+ isUndefinedForbidden: false,
8717
+ mustTransformNullToUndefined: true,
8537
8718
  properties: {
8538
8719
  $localization: generateLocalizationPropertiesSpecification({
8539
8720
  $excludedFilesPathsRelativeRelativeToProjectRootDirectory: {
8540
8721
  newName: "excludedFilesPathsRelativeRelativeToProjectRootDirectory",
8541
8722
  type: Array,
8542
- required: false,
8723
+ isUndefinedForbidden: false,
8724
+ isNullForbidden: true,
8725
+ areUndefinedElementsForbidden: true,
8726
+ areNullElementsForbidden: true,
8543
8727
  element: {
8544
8728
  type: String,
8545
8729
  minimalCharactersCount: 1
@@ -8548,8 +8732,11 @@ var MarkupProcessingSettings__FromFile__RawValid;
8548
8732
  }),
8549
8733
  $buildingModeDependent: {
8550
8734
  newName: "buildingModeDependent",
8551
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8552
- required: false,
8735
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
8736
+ isUndefinedForbidden: false,
8737
+ mustTransformNullToUndefined: true,
8738
+ areUndefinedTypeValuesForbidden: true,
8739
+ areNullTypeValuesForbidden: true,
8553
8740
  minimalEntriesCount: 1,
8554
8741
  allowedKeys: [
8555
8742
  "$localDevelopment",
@@ -8570,12 +8757,14 @@ var MarkupProcessingSettings__FromFile__RawValid;
8570
8757
  newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
8571
8758
  type: Number,
8572
8759
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
8573
- required: false
8760
+ isUndefinedForbidden: false,
8761
+ isNullForbidden: true
8574
8762
  },
8575
8763
  $mustResolveResourcesPointersToRelativePaths: {
8576
8764
  newName: "mustResolveResourcesPointersToRelativePaths",
8577
8765
  type: Boolean,
8578
- required: false
8766
+ isUndefinedForbidden: false,
8767
+ isNullForbidden: true
8579
8768
  }
8580
8769
  }
8581
8770
  }
@@ -8585,42 +8774,47 @@ var MarkupProcessingSettings__FromFile__RawValid;
8585
8774
  /* ━━━ Static Preview ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8586
8775
  $staticPreview: {
8587
8776
  newName: "staticPreview",
8588
- preValidationModifications: es_extensions_1.nullToUndefined,
8589
8777
  type: Object,
8590
- required: false,
8778
+ isUndefinedForbidden: false,
8779
+ mustTransformNullToUndefined: true,
8591
8780
  properties: {
8592
8781
  $stateDependentPagesVariations: {
8593
8782
  newName: "stateDependentPagesVariations",
8594
8783
  type: Object,
8595
- required: false,
8596
- preValidationModifications: es_extensions_1.nullToUndefined,
8784
+ isUndefinedForbidden: false,
8785
+ mustTransformNullToUndefined: true,
8597
8786
  properties: {
8598
8787
  $specificationFileRelativePath: {
8599
8788
  newName: "specificationFileRelativePath",
8600
8789
  type: String,
8601
- required: true,
8790
+ isUndefinedForbidden: true,
8791
+ isNullForbidden: true,
8602
8792
  minimalCharactersCount: 1
8603
8793
  }
8604
8794
  }
8605
8795
  },
8606
8796
  $importsFromStaticDataFiles: {
8607
8797
  newName: "importsFromStaticDataFiles",
8608
- preValidationModifications: es_extensions_1.nullToUndefined,
8609
8798
  type: Array,
8610
- required: false,
8799
+ isUndefinedForbidden: false,
8800
+ mustTransformNullToUndefined: true,
8801
+ areUndefinedElementsForbidden: true,
8802
+ areNullElementsForbidden: true,
8611
8803
  element: {
8612
8804
  type: Object,
8613
8805
  properties: {
8614
8806
  $importedVariableName: {
8615
8807
  newName: "importedVariableName",
8616
8808
  type: String,
8617
- required: true,
8809
+ isUndefinedForbidden: true,
8810
+ isNullForbidden: true,
8618
8811
  minimalCharactersCount: 1
8619
8812
  },
8620
8813
  $fileRelativePath: {
8621
8814
  newName: "fileRelativePath",
8622
8815
  type: String,
8623
- required: true,
8816
+ isUndefinedForbidden: true,
8817
+ isNullForbidden: true,
8624
8818
  minimalCharactersCount: 1
8625
8819
  }
8626
8820
  }
@@ -8631,67 +8825,60 @@ var MarkupProcessingSettings__FromFile__RawValid;
8631
8825
  /* ━━━ Linting ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8632
8826
  $linting: {
8633
8827
  newName: "linting",
8634
- preValidationModifications: es_extensions_1.nullToUndefined,
8635
8828
  type: Object,
8636
- required: false,
8829
+ isUndefinedForbidden: false,
8830
+ mustTransformNullToUndefined: true,
8637
8831
  properties: LintingSettings__FromFile__RawValid_1.default.propertiesSpecification
8638
8832
  },
8639
8833
  /* ━━━ Importing From TypeScript ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8640
8834
  $importingFromTypeScript: {
8641
8835
  newName: "importingFromTypeScript",
8642
- preValidationModifications: es_extensions_1.nullToUndefined,
8643
8836
  type: Object,
8644
- required: false,
8837
+ isUndefinedForbidden: false,
8838
+ mustTransformNullToUndefined: true,
8645
8839
  properties: {
8646
8840
  $typeScriptConfigurationFileRelativePath: {
8647
8841
  newName: "typeScriptConfigurationFileRelativePath",
8648
8842
  type: String,
8649
- required: false,
8843
+ isUndefinedForbidden: false,
8844
+ isNullForbidden: true,
8650
8845
  minimalCharactersCount: 1
8651
8846
  },
8652
8847
  $importedNamespace: {
8653
8848
  newName: "importedNamespace",
8654
8849
  type: String,
8655
- required: true,
8850
+ isUndefinedForbidden: true,
8851
+ isNullForbidden: true,
8656
8852
  minimalCharactersCount: 1
8657
8853
  },
8658
8854
  $sourceFileRelativePath: {
8659
8855
  newName: "sourceFileRelativePath",
8660
8856
  type: String,
8661
- required: true,
8662
- minimalCharactersCount: 1
8663
- },
8664
- $nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected: {
8665
- newName: "nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected",
8666
- type: String,
8667
- required: true,
8857
+ isUndefinedForbidden: true,
8858
+ isNullForbidden: true,
8668
8859
  minimalCharactersCount: 1
8669
8860
  }
8670
8861
  }
8671
8862
  },
8672
- /* ━━━ Experimental1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8673
- $experimental1: {
8674
- newName: "experimental1",
8675
- preValidationModifications: es_extensions_1.nullToUndefined,
8863
+ /* ━━━ Importing from JavaScript ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
8864
+ $importingFromJavaScript: {
8865
+ newName: "importingFromJavaScript",
8676
8866
  type: Object,
8677
- required: false,
8867
+ isUndefinedForbidden: false,
8868
+ mustTransformNullToUndefined: true,
8678
8869
  properties: {
8679
- $typeScriptConfigurationFileRelativePath: {
8680
- newName: "typeScriptConfigurationFileRelativePath",
8681
- type: String,
8682
- required: false,
8683
- minimalCharactersCount: 1
8684
- },
8685
- $importedNamespace: {
8686
- newName: "importedNamespace",
8870
+ $sourceFileRelativePath: {
8871
+ newName: "sourceFileRelativePath",
8687
8872
  type: String,
8688
- required: true,
8873
+ isUndefinedForbidden: true,
8874
+ isNullForbidden: true,
8689
8875
  minimalCharactersCount: 1
8690
8876
  },
8691
- $sourceFileRelativePath: {
8692
- newName: "sourceFileRelativePath",
8877
+ $nameOfGlobalConstantForStoringOfImports: {
8878
+ newName: "nameOfGlobalConstantForStoringOfImports",
8693
8879
  type: String,
8694
- required: true,
8880
+ isUndefinedForbidden: true,
8881
+ isNullForbidden: true,
8695
8882
  minimalCharactersCount: 1
8696
8883
  }
8697
8884
  }
@@ -8700,26 +8887,30 @@ var MarkupProcessingSettings__FromFile__RawValid;
8700
8887
  $routing: {
8701
8888
  newName: "routing",
8702
8889
  type: Object,
8703
- required: false,
8704
- preValidationModifications: es_extensions_1.nullToUndefined,
8890
+ isUndefinedForbidden: false,
8891
+ mustTransformNullToUndefined: true,
8705
8892
  properties: {
8706
8893
  $specificationFileRelativePath: {
8707
8894
  newName: "specificationFileRelativePath",
8708
8895
  type: String,
8709
- required: true,
8896
+ isUndefinedForbidden: true,
8897
+ isNullForbidden: true,
8710
8898
  minimalCharactersCount: 1
8711
8899
  },
8712
8900
  $variable: {
8713
8901
  newName: "variable",
8714
8902
  type: String,
8715
- required: true,
8903
+ isUndefinedForbidden: true,
8904
+ isNullForbidden: true,
8716
8905
  minimalCharactersCount: 1
8717
8906
  },
8718
8907
  $localizations: {
8719
8908
  newName: "localizations",
8720
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
8721
- required: false,
8722
- 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,
8723
8914
  value: {
8724
8915
  type: String,
8725
8916
  minimalCharactersCount: 1
@@ -8733,13 +8924,17 @@ var MarkupProcessingSettings__FromFile__RawValid;
8733
8924
  newName: "outputFormat",
8734
8925
  type: String,
8735
8926
  allowedAlternatives: Object.values(MarkupProcessingRestrictions_1.default.OutputFormats),
8736
- required: false
8927
+ isUndefinedForbidden: false,
8928
+ isNullForbidden: true
8737
8929
  },
8738
8930
  $localization: generateLocalizationPropertiesSpecification({
8739
8931
  $excludedFilesPathsRelativeToSourcesFilesTopDirectory: {
8740
8932
  newName: "excludedFilesPathsRelativeToSourcesFilesTopDirectory",
8741
8933
  type: Array,
8742
- required: false,
8934
+ isUndefinedForbidden: false,
8935
+ isNullForbidden: true,
8936
+ areUndefinedElementsForbidden: true,
8937
+ areNullElementsForbidden: true,
8743
8938
  element: {
8744
8939
  type: String,
8745
8940
  minimalCharactersCount: 1
@@ -8748,25 +8943,29 @@ var MarkupProcessingSettings__FromFile__RawValid;
8748
8943
  }),
8749
8944
  $HTML_Validation: {
8750
8945
  newName: "HTML_Validation",
8751
- preValidationModifications: es_extensions_1.nullToUndefined,
8752
8946
  type: Object,
8753
- required: false,
8947
+ isUndefinedForbidden: false,
8948
+ mustTransformNullToUndefined: true,
8754
8949
  properties: {
8755
8950
  $disable: {
8756
8951
  newName: "disable",
8757
8952
  type: Boolean,
8758
- required: false
8953
+ isUndefinedForbidden: false,
8954
+ isNullForbidden: true
8759
8955
  },
8760
8956
  $ignoring: {
8761
8957
  newName: "ignoring",
8762
- preValidationModifications: es_extensions_1.nullToUndefined,
8763
8958
  type: Object,
8764
- required: false,
8959
+ isUndefinedForbidden: false,
8960
+ mustTransformNullToUndefined: true,
8765
8961
  properties: {
8766
8962
  $files: {
8767
8963
  newName: "files",
8768
8964
  type: Array,
8769
- required: false,
8965
+ isUndefinedForbidden: false,
8966
+ isNullForbidden: true,
8967
+ areUndefinedElementsForbidden: true,
8968
+ areNullElementsForbidden: true,
8770
8969
  element: {
8771
8970
  type: String,
8772
8971
  minimalCharactersCount: 1
@@ -8775,7 +8974,10 @@ var MarkupProcessingSettings__FromFile__RawValid;
8775
8974
  $directories: {
8776
8975
  newName: "directories",
8777
8976
  type: Array,
8778
- required: false,
8977
+ isUndefinedForbidden: false,
8978
+ isNullForbidden: true,
8979
+ areUndefinedElementsForbidden: true,
8980
+ areNullElementsForbidden: true,
8779
8981
  element: {
8780
8982
  type: String,
8781
8983
  minimalCharactersCount: 1
@@ -8787,31 +8989,36 @@ var MarkupProcessingSettings__FromFile__RawValid;
8787
8989
  },
8788
8990
  $accessibilityInspection: {
8789
8991
  newName: "accessibilityInspection",
8790
- preValidationModifications: es_extensions_1.nullToUndefined,
8791
8992
  type: Object,
8792
- required: false,
8993
+ isUndefinedForbidden: false,
8994
+ mustTransformNullToUndefined: true,
8793
8995
  properties: {
8794
8996
  $standard: {
8795
8997
  newName: "standard",
8796
8998
  type: String,
8797
- required: false,
8999
+ isUndefinedForbidden: false,
9000
+ isNullForbidden: true,
8798
9001
  allowedAlternatives: Object.values(MarkupProcessingRestrictions_1.default.SupportedAccessibilityStandards)
8799
9002
  },
8800
9003
  $disable: {
8801
9004
  newName: "disable",
8802
9005
  type: Boolean,
8803
- required: false
9006
+ isUndefinedForbidden: false,
9007
+ isNullForbidden: true
8804
9008
  },
8805
9009
  $ignoring: {
8806
9010
  newName: "ignoring",
8807
- preValidationModifications: es_extensions_1.nullToUndefined,
8808
9011
  type: Object,
8809
- required: false,
9012
+ isUndefinedForbidden: false,
9013
+ mustTransformNullToUndefined: true,
8810
9014
  properties: {
8811
9015
  $files: {
8812
9016
  newName: "files",
8813
9017
  type: Array,
8814
- required: false,
9018
+ isUndefinedForbidden: false,
9019
+ isNullForbidden: true,
9020
+ areUndefinedElementsForbidden: true,
9021
+ areNullElementsForbidden: true,
8815
9022
  element: {
8816
9023
  type: String,
8817
9024
  minimalCharactersCount: 1
@@ -8820,7 +9027,10 @@ var MarkupProcessingSettings__FromFile__RawValid;
8820
9027
  $directories: {
8821
9028
  newName: "directories",
8822
9029
  type: Array,
8823
- required: false,
9030
+ isUndefinedForbidden: false,
9031
+ isNullForbidden: true,
9032
+ areUndefinedElementsForbidden: true,
9033
+ areNullElementsForbidden: true,
8824
9034
  element: {
8825
9035
  type: String,
8826
9036
  minimalCharactersCount: 1
@@ -8835,63 +9045,72 @@ var MarkupProcessingSettings__FromFile__RawValid;
8835
9045
  $outputCodeFormatting: {
8836
9046
  newName: "outputCodeFormatting",
8837
9047
  type: Object,
8838
- required: false,
8839
- preValidationModifications: es_extensions_1.nullToUndefined,
9048
+ isUndefinedForbidden: false,
9049
+ mustTransformNullToUndefined: true,
8840
9050
  properties: {
8841
9051
  $enable: {
8842
9052
  newName: "enable",
8843
9053
  type: Boolean,
8844
- required: false
9054
+ isUndefinedForbidden: false,
9055
+ isNullForbidden: true
8845
9056
  },
8846
9057
  $indentationString: {
8847
9058
  newName: "indentationString",
8848
9059
  type: String,
8849
- required: false,
9060
+ isUndefinedForbidden: false,
9061
+ isNullForbidden: true,
8850
9062
  validValueRegularExpression: /^\s+$/u
8851
9063
  },
8852
9064
  $lineSeparators: {
8853
9065
  newName: "lineSeparators",
8854
9066
  type: String,
8855
- required: false,
9067
+ isUndefinedForbidden: false,
9068
+ isNullForbidden: true,
8856
9069
  allowedAlternatives: Object.values(es_extensions_1.LineSeparators)
8857
9070
  },
8858
9071
  $mustGuaranteeTrailingEmptyLine: {
8859
9072
  newName: "mustGuaranteeTrailingEmptyLine",
8860
9073
  type: Boolean,
8861
- required: false
9074
+ isUndefinedForbidden: false,
9075
+ isNullForbidden: true
8862
9076
  },
8863
9077
  $mustIndentHeadAndBodyTags: {
8864
9078
  newName: "mustIndentHeadAndBodyTags",
8865
9079
  type: Boolean,
8866
- required: false
9080
+ isUndefinedForbidden: false,
9081
+ isNullForbidden: true
8867
9082
  }
8868
9083
  }
8869
9084
  },
8870
9085
  $outputCodeMinifying: {
8871
9086
  newName: "outputCodeMinifying",
8872
9087
  type: Object,
8873
- required: false,
8874
- preValidationModifications: es_extensions_1.nullToUndefined,
9088
+ isUndefinedForbidden: false,
9089
+ mustTransformNullToUndefined: true,
8875
9090
  properties: {
8876
9091
  $enable: {
8877
9092
  newName: "enable",
8878
9093
  type: Boolean,
8879
- required: false
9094
+ isUndefinedForbidden: false,
9095
+ isNullForbidden: true
8880
9096
  },
8881
9097
  $attributesExtraWhitespacesCollapsing: {
8882
9098
  newName: "attributesExtraWhitespacesCollapsing",
8883
9099
  type: Boolean,
8884
- required: false
9100
+ isUndefinedForbidden: false,
9101
+ isNullForbidden: true
8885
9102
  },
8886
9103
  $attributesValuesDeduplication: {
8887
9104
  newName: "attributesValuesDeduplication",
8888
9105
  type: Boolean,
8889
- required: false
9106
+ isUndefinedForbidden: false,
9107
+ isNullForbidden: true
8890
9108
  },
8891
9109
  $commentsRemoving: {
8892
9110
  newName: "commentsRemoving",
8893
9111
  type: Boolean,
8894
- required: false
9112
+ isUndefinedForbidden: false,
9113
+ isNullForbidden: true
8895
9114
  }
8896
9115
  }
8897
9116
  }
@@ -8900,80 +9119,90 @@ var MarkupProcessingSettings__FromFile__RawValid;
8900
9119
  $logging: {
8901
9120
  newName: "logging",
8902
9121
  type: Object,
8903
- required: false,
8904
- preValidationModifications: es_extensions_1.nullToUndefined,
9122
+ isUndefinedForbidden: false,
9123
+ mustTransformNullToUndefined: true,
8905
9124
  properties: {
8906
9125
  $filesPaths: {
8907
9126
  newName: "filesPaths",
8908
9127
  type: Boolean,
8909
- required: false
9128
+ isUndefinedForbidden: false,
9129
+ isNullForbidden: true
8910
9130
  },
8911
9131
  $filesCount: {
8912
9132
  newName: "filesCount",
8913
9133
  type: Boolean,
8914
- required: false
9134
+ isUndefinedForbidden: false,
9135
+ isNullForbidden: true
8915
9136
  },
8916
9137
  $partialFilesAndParentEntryPointsCorrespondence: {
8917
9138
  newName: "partialFilesAndParentEntryPointsCorrespondence",
8918
9139
  type: Boolean,
8919
- required: false
9140
+ isUndefinedForbidden: false,
9141
+ isNullForbidden: true
8920
9142
  },
8921
9143
  $filesWatcherEvents: {
8922
9144
  newName: "filesWatcherEvents",
8923
9145
  type: Boolean,
8924
- required: false
9146
+ isUndefinedForbidden: false,
9147
+ isNullForbidden: true
8925
9148
  },
8926
9149
  $HTML_Validation: {
8927
9150
  newName: "HTML_Validation",
8928
9151
  type: Object,
8929
- required: false,
8930
- preValidationModifications: es_extensions_1.nullToUndefined,
9152
+ isUndefinedForbidden: false,
9153
+ mustTransformNullToUndefined: true,
8931
9154
  properties: {
8932
9155
  $starting4: {
8933
9156
  newName: "starting",
8934
9157
  type: Boolean,
8935
- required: false
9158
+ isUndefinedForbidden: false,
9159
+ isNullForbidden: true
8936
9160
  },
8937
9161
  $completionWithoutIssues: {
8938
9162
  newName: "completionWithoutIssues",
8939
9163
  type: Boolean,
8940
- required: false
9164
+ isUndefinedForbidden: false,
9165
+ isNullForbidden: true
8941
9166
  }
8942
9167
  }
8943
9168
  },
8944
9169
  $accessibilityChecking: {
8945
9170
  newName: "accessibilityChecking",
8946
9171
  type: Object,
8947
- required: false,
8948
- preValidationModifications: es_extensions_1.nullToUndefined,
9172
+ isUndefinedForbidden: false,
9173
+ mustTransformNullToUndefined: true,
8949
9174
  properties: {
8950
9175
  $starting: {
8951
9176
  newName: "starting",
8952
9177
  type: Boolean,
8953
- required: false
9178
+ isUndefinedForbidden: false,
9179
+ isNullForbidden: true
8954
9180
  },
8955
9181
  $completionWithoutIssues: {
8956
9182
  newName: "completionWithoutIssues",
8957
9183
  type: Boolean,
8958
- required: false
9184
+ isUndefinedForbidden: false,
9185
+ isNullForbidden: true
8959
9186
  }
8960
9187
  }
8961
9188
  },
8962
9189
  $linting: {
8963
9190
  newName: "linting",
8964
9191
  type: Object,
8965
- required: false,
8966
- preValidationModifications: es_extensions_1.nullToUndefined,
9192
+ isUndefinedForbidden: false,
9193
+ mustTransformNullToUndefined: true,
8967
9194
  properties: {
8968
9195
  $starting: {
8969
9196
  newName: "starting",
8970
9197
  type: Boolean,
8971
- required: false
9198
+ isUndefinedForbidden: false,
9199
+ isNullForbidden: true
8972
9200
  },
8973
9201
  $completionWithoutIssues: {
8974
9202
  newName: "completionWithoutIssues",
8975
9203
  type: Boolean,
8976
- required: false
9204
+ isUndefinedForbidden: false,
9205
+ isNullForbidden: true
8977
9206
  }
8978
9207
  }
8979
9208
  }
@@ -8997,8 +9226,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
8997
9226
  /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
8998
9227
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
8999
9228
  class MarkupProcessingSharedState {
9000
- static importingFromTypeScriptPugCodeGenerator;
9001
- static experimental;
9229
+ static importsFromTypeScript;
9230
+ static importsFromJavaScript;
9002
9231
  static pagesVariationsMetadata = new Map();
9003
9232
  static get entryPointsSourceAndOutputFilesAbsolutePathsCorrespondenceMap() {
9004
9233
  return Array.from(MarkupProcessingSharedState.pagesVariationsMetadata.values()).
@@ -9165,9 +9394,6 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9165
9394
  pipe(this.handleErrorIfItWillOccur()).
9166
9395
  pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
9167
9396
  onStreamStartedEventHandler: this.replacePlainVinylFileWithMarkupEntryPointVinylFile.bind(this)
9168
- })).
9169
- pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
9170
- onStreamStartedEventHandler: this.injectImportsFromTypeScriptIfAnyToMarkupFile.bind(this)
9171
9397
  })).
9172
9398
  pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
9173
9399
  onStreamStartedEventHandler: MarkupProcessor.managePageVariations
@@ -9178,7 +9404,8 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9178
9404
  ...vinylFile.localizationData ?? null,
9179
9405
  ...this.projectBuildingMasterConfigRepresentative.isStaticPreviewBuildingMode ?
9180
9406
  this.markupProcessingSettingsRepresentative.staticDataForStaticPreview : null,
9181
- ...MarkupProcessingSharedState_1.default.experimental
9407
+ ...MarkupProcessingSharedState_1.default.importsFromTypeScript,
9408
+ ...MarkupProcessingSharedState_1.default.importsFromJavaScript
9182
9409
  }))).
9183
9410
  pipe((0, gulp_pug_1.default)({
9184
9411
  locals: {
@@ -9213,75 +9440,6 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9213
9440
  }));
9214
9441
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
9215
9442
  }
9216
- async injectImportsFromTypeScriptIfAnyToMarkupFile(markupEntryPointVinylFile) {
9217
- if ((0, es_extensions_1.isNull)(MarkupProcessingSharedState_1.default.importingFromTypeScriptPugCodeGenerator) ||
9218
- (0, es_extensions_1.isUndefined)(this.markupProcessingSettingsRepresentative.importingFromTypeScriptSettings)) {
9219
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9220
- }
9221
- const pugCode = markupEntryPointVinylFile.stringifiedContents;
9222
- const lineSeparator = (0, es_extensions_1.getLineSeparatorType)(pugCode);
9223
- /* [ Maintainability ] Although this option is not configurable, keep this constant to avoid the magic numbers. */
9224
- const BLANK_LINES_COUNT_AFTER_JAVASCRIPT_CODE_BLOCK = 2;
9225
- /* [ Theory ] For the Pug preprocessor, the single indent could be either tab or multiple spaces.
9226
- * Thus, ident is not always the single character. */
9227
- const indentString = PugPreProcessorSpecialist_1.default.defineIndentString(pugCode);
9228
- if (!PugPreProcessorSpecialist_1.default.isSourceCodeIncludingExtendingDeclaration(pugCode)) {
9229
- markupEntryPointVinylFile.setContents([
9230
- MarkupProcessingSharedState_1.default.importingFromTypeScriptPugCodeGenerator({
9231
- indentString,
9232
- lineSeparator,
9233
- initialIndentationDepth__numerationFrom0: 0
9234
- }),
9235
- lineSeparator.repeat(BLANK_LINES_COUNT_AFTER_JAVASCRIPT_CODE_BLOCK + 1),
9236
- markupEntryPointVinylFile.stringifiedContents
9237
- ].join(""));
9238
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9239
- }
9240
- const sourceCodeExplodedToLines = (0, es_extensions_1.explodeStringToLines)({
9241
- targetString: markupEntryPointVinylFile.stringifiedContents,
9242
- mustIgnoreCarriageReturn: false
9243
- });
9244
- /* [ Theory ] If the Pug entry point file has been extended, the JavaScript code block could be injected only inside
9245
- * th specific block which must be declared in the parent (direct or no) files. It remains to process 2 cases: when
9246
- * this block has been modified in the entry point file and when this block has not been referred in the entry point. */
9247
- const nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected = this.markupProcessingSettingsRepresentative.
9248
- importingFromTypeScriptSettings.nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected;
9249
- /* [ Theory ]
9250
- * If the Pug file has been extended from another one, the extending declaration must be first, otherwise error will occur.
9251
- * The only thing is allowed is the unbuffered comments (will not be compiled to HTML comments), thus Pug file could
9252
- * start from the unbuffered comment which could be safely discarded. */
9253
- const indexOfLineIncludingBlockModifyingDeclaration = (0, es_extensions_1.getIndexOfArrayElementSatisfiesThePredicateIfSuchElementIsExactlyOne)(sourceCodeExplodedToLines, (sourceCodeLine) => PugPreProcessorSpecialist_1.default.isSourceCodeLineIncludingSpecificBlockModifyingDeclaration({
9254
- sourceCodeLine, blockName: nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected
9255
- }));
9256
- if ((0, es_extensions_1.isNotNull)(indexOfLineIncludingBlockModifyingDeclaration)) {
9257
- const targetCodeBlockExtractingResult = PugPreProcessorSpecialist_1.default.extractBlock({
9258
- sourceCodeLines: sourceCodeExplodedToLines,
9259
- startLineIndex: indexOfLineIncludingBlockModifyingDeclaration
9260
- });
9261
- sourceCodeExplodedToLines.splice(indexOfLineIncludingBlockModifyingDeclaration, targetCodeBlockExtractingResult.codeLines.length, ...targetCodeBlockExtractingResult.codeLines, MarkupProcessingSharedState_1.default.importingFromTypeScriptPugCodeGenerator({
9262
- indentString,
9263
- lineSeparator,
9264
- initialIndentationDepth__numerationFrom0: 1
9265
- }), ...Array.from({ length: BLANK_LINES_COUNT_AFTER_JAVASCRIPT_CODE_BLOCK }).fill(""));
9266
- markupEntryPointVinylFile.setContents(sourceCodeExplodedToLines.join(lineSeparator));
9267
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9268
- }
9269
- const indexOfLineContainsExtendingDeclaration = (0, es_extensions_1.getIndexOfArrayElementSatisfiesThePredicateIfSuchElementIsExactlyOne)(sourceCodeExplodedToLines, (sourceCodeLine) => PugPreProcessorSpecialist_1.default.isSourceCodeLineIncludingExtendingDeclaration(sourceCodeLine), { mustThrowErrorIfElementNotFoundOrMatchesAreMultiple: true });
9270
- markupEntryPointVinylFile.setContents((0, es_extensions_1.addElementsToArray)({
9271
- targetArray: sourceCodeExplodedToLines,
9272
- toPosition__numerationFrom0: indexOfLineContainsExtendingDeclaration + 1,
9273
- newElements: [
9274
- `\n\nblock append ${nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected}\n`,
9275
- MarkupProcessingSharedState_1.default.importingFromTypeScriptPugCodeGenerator({
9276
- indentString,
9277
- lineSeparator,
9278
- initialIndentationDepth__numerationFrom0: 1
9279
- })
9280
- ],
9281
- mutably: false
9282
- }).join("\n"));
9283
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.PASSING_ON);
9284
- }
9285
9443
  static async managePageVariations(markupEntryPointVinylFile, addNewFilesToStream) {
9286
9444
  const { newFiles, mustInitialFileBeDeleted } = markupEntryPointVinylFile.manageVariations();
9287
9445
  addNewFilesToStream(newFiles);
@@ -9361,7 +9519,7 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
9361
9519
  HTML_Validator_1.default.enqueueFileForValidation({
9362
9520
  formattedHTML_Content: formattedHTML_CodeForReports,
9363
9521
  HTML_ContentMD5_Hash: semiFinishedHTML_CodeMD5_Checksum,
9364
- pathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly: entryPointFileContentRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly
9522
+ originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly: entryPointFileContentRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly
9365
9523
  });
9366
9524
  }
9367
9525
  if (processedEntryPointVinylFile.actualEntryPointsGroupSettings.accessibilityInspection.mustExecute) {
@@ -9543,44 +9701,56 @@ class AccessibilityInspector {
9543
9701
  static cachedInspectionsResultsFileContentSpecification = {
9544
9702
  nameForLogging: "AccessibilityInspector.CachedInspectionResultsFileContentSpecification",
9545
9703
  subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.associativeArray,
9704
+ areUndefinedTypeValuesForbidden: true,
9705
+ areNullTypeValuesForbidden: true,
9546
9706
  value: {
9547
9707
  type: Object,
9548
9708
  properties: {
9549
9709
  contentMD5Checksum: {
9550
9710
  type: String,
9551
- required: true
9711
+ isUndefinedForbidden: true,
9712
+ isNullForbidden: true
9552
9713
  },
9553
9714
  issues: {
9554
9715
  type: Array,
9555
- required: true,
9716
+ isUndefinedForbidden: true,
9717
+ isNullForbidden: true,
9718
+ areUndefinedElementsForbidden: true,
9719
+ areNullElementsForbidden: true,
9556
9720
  element: {
9557
9721
  type: Object,
9558
9722
  properties: {
9559
9723
  ID: {
9560
9724
  type: String,
9561
- required: true
9725
+ isUndefinedForbidden: true,
9726
+ isNullForbidden: true
9562
9727
  },
9563
9728
  codeFragment: {
9564
9729
  type: Object,
9565
- required: true,
9730
+ isUndefinedForbidden: true,
9731
+ isNullForbidden: true,
9566
9732
  properties: {
9567
9733
  beforeHighlighting: {
9568
9734
  type: String,
9569
- required: true
9735
+ isUndefinedForbidden: true,
9736
+ isNullForbidden: true
9570
9737
  },
9571
9738
  highlighted: {
9572
9739
  type: String,
9573
- required: true
9740
+ isUndefinedForbidden: true,
9741
+ isNullForbidden: true
9574
9742
  },
9575
9743
  afterHighlighting: {
9576
9744
  type: String,
9577
- required: true
9745
+ isUndefinedForbidden: true,
9746
+ isNullForbidden: true
9578
9747
  }
9579
9748
  }
9580
9749
  },
9581
9750
  message: {
9582
9751
  type: String,
9583
- required: true
9752
+ isUndefinedForbidden: true,
9753
+ isNullForbidden: true
9584
9754
  }
9585
9755
  }
9586
9756
  }
@@ -10299,62 +10469,75 @@ class HTML_Validator {
10299
10469
  * + The order of properties has been matched with the output of parsed JSON to console. */
10300
10470
  static validationsResultsSpecification = {
10301
10471
  nameForLogging: "Nu HTML Checker (v.Nu) Output",
10302
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
10472
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
10303
10473
  properties: {
10304
10474
  messages: {
10305
10475
  type: Array,
10306
- required: true,
10476
+ isUndefinedForbidden: true,
10477
+ isNullForbidden: true,
10478
+ areUndefinedElementsForbidden: true,
10479
+ areNullElementsForbidden: true,
10307
10480
  element: {
10308
10481
  type: Object,
10309
10482
  properties: {
10310
10483
  type: {
10311
10484
  type: String,
10312
- required: true,
10485
+ isUndefinedForbidden: true,
10486
+ isNullForbidden: true,
10313
10487
  allowedAlternatives: ["info", "error", "non-document-error", "network-error"]
10314
10488
  },
10315
10489
  url: {
10316
10490
  type: String,
10317
- required: true,
10491
+ isUndefinedForbidden: true,
10492
+ isNullForbidden: true,
10318
10493
  minimalCharactersCount: 7
10319
10494
  },
10320
10495
  lastLine: {
10321
10496
  type: Number,
10322
- required: false,
10497
+ isUndefinedForbidden: false,
10498
+ isNullForbidden: true,
10323
10499
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10324
10500
  },
10325
10501
  lastColumn: {
10326
10502
  type: Number,
10327
- required: false,
10503
+ isUndefinedForbidden: false,
10504
+ isNullForbidden: true,
10328
10505
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10329
10506
  },
10330
10507
  firstColumn: {
10331
10508
  type: Number,
10332
- required: false,
10509
+ isUndefinedForbidden: false,
10510
+ isNullForbidden: true,
10333
10511
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10334
10512
  },
10335
10513
  subType: {
10336
10514
  type: String,
10337
- required: false,
10515
+ isUndefinedForbidden: false,
10516
+ isNullForbidden: true,
10338
10517
  allowedAlternatives: ["warning", "fatal", "io", "schema", "internal"]
10339
10518
  },
10340
10519
  message: {
10341
10520
  type: String,
10342
- required: true,
10521
+ isUndefinedForbidden: true,
10522
+ isNullForbidden: true,
10343
10523
  minimalCharactersCount: 1
10344
10524
  },
10345
10525
  extract: {
10346
10526
  type: String,
10347
- required: false
10527
+ isUndefinedForbidden: false,
10528
+ isNullForbidden: true
10348
10529
  },
10349
10530
  hiliteStart: {
10350
10531
  type: Number,
10351
- required: false,
10532
+ isUndefinedForbidden: false,
10533
+ isNullForbidden: true,
10352
10534
  /* [ Theory ] The 0 is rare but possible (at least was possible for May 2025). */
10353
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger
10535
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero
10354
10536
  },
10355
10537
  hiliteLength: {
10356
10538
  type: Number,
10357
- required: false,
10539
+ isUndefinedForbidden: false,
10540
+ isNullForbidden: true,
10358
10541
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
10359
10542
  }
10360
10543
  }
@@ -10362,16 +10545,10 @@ class HTML_Validator {
10362
10545
  }
10363
10546
  }
10364
10547
  };
10365
- /* ─── Logging ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10366
- logging;
10367
- static DISPLAYING_LINES_COUNT_BEFORE_ISSUE_IN_CODE_LISTING = 2;
10368
- static DISPLAYING_LINES_COUNT_AFTER_ISSUE_IN_CODE_LISTING = 1;
10369
- /* [ Theory ] 120 columns is about the half of the 1920x1080 screen. */
10370
- static DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG = 120;
10371
10548
  /* ─── Caching ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10372
10549
  /* [ Theory ]
10373
- * Between 2 project buildings, the content of most HTML files could not change (especially since the project has
10374
- * become mature). Thanks to checksums, it is possible to detect has page content changed quickly. */
10550
+ * Between 2 project buildings, the content of most HTML files may not change (especially since the project has
10551
+ * become mature). Thanks to checksums, it is possible to detect has page content changes quickly. */
10375
10552
  static CACHED_VALIDATIONS_RESULTS_FOLDER_NAME = "HTML_Validation";
10376
10553
  static CACHED_VALIDATIONS_RESULTS_FILE_CONSTANT_NAME_PART = "HTML_Validation";
10377
10554
  absolutePathOfParentDirectoryOfCachedValidationsResultsFile;
@@ -10380,63 +10557,79 @@ class HTML_Validator {
10380
10557
  static cachedValidationsResultsFileContentSpecification = {
10381
10558
  nameForLogging: "HTML_Validator.CachedValidationResultsFileContentSpecification",
10382
10559
  subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.associativeArray,
10560
+ areUndefinedTypeValuesForbidden: true,
10561
+ areNullTypeValuesForbidden: true,
10383
10562
  value: {
10384
10563
  type: Object,
10385
10564
  properties: {
10386
10565
  contentMD5Checksum: {
10387
10566
  type: String,
10388
- required: true
10567
+ isUndefinedForbidden: true,
10568
+ isNullForbidden: true
10389
10569
  },
10390
10570
  issues: {
10391
10571
  type: Array,
10392
- required: true,
10572
+ isUndefinedForbidden: true,
10573
+ isNullForbidden: true,
10574
+ areUndefinedElementsForbidden: true,
10575
+ areNullElementsForbidden: true,
10393
10576
  element: {
10394
10577
  type: Object,
10395
10578
  properties: {
10396
10579
  type: {
10397
10580
  type: String,
10398
- required: true,
10581
+ isUndefinedForbidden: true,
10582
+ isNullForbidden: true,
10399
10583
  allowedAlternatives: ["info", "error", "non-document-error", "network-error"]
10400
10584
  },
10401
10585
  subType: {
10402
10586
  type: String,
10403
- required: false,
10587
+ isUndefinedForbidden: false,
10588
+ isNullForbidden: true,
10404
10589
  allowedAlternatives: ["warning", "fatal", "io", "schema", "internal"]
10405
10590
  },
10406
10591
  message: {
10407
10592
  type: String,
10408
- required: true
10593
+ isUndefinedForbidden: true,
10594
+ isNullForbidden: true
10409
10595
  },
10410
10596
  lineNumber__numerationFrom1: {
10411
10597
  type: Number,
10412
10598
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
10413
- required: true
10599
+ isUndefinedForbidden: true,
10600
+ isNullForbidden: true
10414
10601
  },
10415
10602
  startingColumnNumber__numerationFrom1: {
10416
10603
  type: Number,
10417
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
10418
- required: true
10604
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
10605
+ isUndefinedForbidden: true,
10606
+ isNullForbidden: true
10419
10607
  },
10420
10608
  endingColumnNumber__numerationFrom1: {
10421
10609
  type: Number,
10422
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger,
10423
- required: true
10610
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero,
10611
+ isUndefinedForbidden: true,
10612
+ isNullForbidden: true
10424
10613
  },
10425
10614
  codeFragment: {
10426
10615
  type: Object,
10427
- required: true,
10616
+ isUndefinedForbidden: true,
10617
+ isNullForbidden: true,
10428
10618
  properties: {
10429
10619
  beforeHighlighting: {
10430
10620
  type: String,
10431
- required: true
10621
+ isUndefinedForbidden: true,
10622
+ isNullForbidden: true
10432
10623
  },
10433
10624
  highlighted: {
10434
10625
  type: String,
10435
- required: true
10626
+ isUndefinedForbidden: true,
10627
+ isNullForbidden: true
10436
10628
  },
10437
10629
  afterHighlighting: {
10438
10630
  type: String,
10439
- required: true
10631
+ isUndefinedForbidden: true,
10632
+ isNullForbidden: true
10440
10633
  }
10441
10634
  }
10442
10635
  }
@@ -10446,10 +10639,16 @@ class HTML_Validator {
10446
10639
  }
10447
10640
  }
10448
10641
  };
10642
+ /* ─── Logging ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10643
+ logging;
10644
+ static DISPLAYING_LINES_COUNT_BEFORE_ISSUE_IN_CODE_LISTING = 2;
10645
+ static DISPLAYING_LINES_COUNT_AFTER_ISSUE_IN_CODE_LISTING = 1;
10646
+ /* [ Theory ] 120 columns is about the half of the 1920x1080 screen. */
10647
+ static DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG = 120;
10449
10648
  /* ─── Temporary Files ──────────────────────────────────────────────────────────────────────────────────────────── */
10450
10649
  static TEMPORARY_FORMATTED_HTML_FILES_FOLDER_NAME = "HTML_Validation";
10451
10650
  absolutePathOfParentDirectoryOfTemporaryFormattedHTML_Files;
10452
- parenRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files;
10651
+ pathRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files;
10453
10652
  /* ─── Localization ─────────────────────────────────────────────────────────────────────────────────────────────── */
10454
10653
  static localization = HTML_ValidatorLocalization_english_1.default;
10455
10654
  /* ━━━ Public Static Methods (Facade) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@@ -10469,12 +10668,13 @@ class HTML_Validator {
10469
10668
  HTML_Validator.selfSingleInstance = new HTML_Validator(requirements);
10470
10669
  }
10471
10670
  /** @description
10472
- * Separate launching of `vnu-jar` per each file may cause the performance impact thus more efficient is to accumulate
10671
+ * Separate launch of `vnu-jar` per file may cause the performance impact thus it is more efficient to accumulate
10473
10672
  * the files and validate them at once. */
10474
10673
  static enqueueFileForValidation(targetFileMetadata) {
10475
- const selfSingleInstance = HTML_Validator.
10476
- getExpectedToBeInitializedSelfSingleInstance();
10477
- selfSingleInstance.queuedFilesMetadata.push(targetFileMetadata);
10674
+ HTML_Validator.
10675
+ getExpectedToBeInitializedSelfSingleInstance().
10676
+ queuedFilesMetadata.
10677
+ push(targetFileMetadata);
10478
10678
  }
10479
10679
  static validateQueuedFilesButReportAll() {
10480
10680
  HTML_Validator.
@@ -10521,14 +10721,14 @@ class HTML_Validator {
10521
10721
  }
10522
10722
  }
10523
10723
  this.cachedValidationsResults = new Map(Object.entries(cachedValidationsResults ?? {}));
10524
- /* ─── Logging ──────────────────────────────────────────────────────────────────────────────────────────────────── */
10724
+ /* ─── Logging ────────────────────────────────────────────────────────────────────────────────────────────────── */
10525
10725
  this.logging = logging;
10526
10726
  /* ─── Temporary Files ────────────────────────────────────────────────────────────────────────────────────────── */
10527
10727
  this.absolutePathOfParentDirectoryOfTemporaryFormattedHTML_Files = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10528
10728
  temporaryFileDirectoryAbsolutePath,
10529
10729
  HTML_Validator.TEMPORARY_FORMATTED_HTML_FILES_FOLDER_NAME
10530
10730
  ]);
10531
- this.parenRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files = es_extensions_nodejs_1.ImprovedPath.
10731
+ this.pathRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files = es_extensions_nodejs_1.ImprovedPath.
10532
10732
  computeRelativePath({
10533
10733
  basePath: projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
10534
10734
  comparedPath: this.absolutePathOfParentDirectoryOfTemporaryFormattedHTML_Files,
@@ -10538,40 +10738,45 @@ class HTML_Validator {
10538
10738
  /* ━━━ Private Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
10539
10739
  /* ─── Validation ───────────────────────────────────────────────────────────────────────────────────────────────── */
10540
10740
  async validateQueuedFilesButReportAll() {
10541
- // ━━━ TODO Есть вопросы ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10542
- // TODO Почему это не соответствует типу NormalizedValidationsResults? И почему семантически не понятен ключ карты?
10543
10741
  const validationsResults = (0, es_extensions_1.createMapBasedOnOtherMap)(this.cachedValidationsResults, (filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, { issues }) => [filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, issues]);
10544
10742
  /* [ Approach ]
10545
- * To get readable logs with code fragment, the original output HTML files could not be used because they possibly
10743
+ * To get readable logs with code fragment, the original output HTML files can not be used because they possibly
10546
10744
  * contains the minified HTML code.
10547
- * The saving of temporary HTML files with formatted HTML code could be the solution.
10548
- * Anyway the Nu HTML Checker does not work with HTML strings — it accepts only relative paths of file saved to drive. */
10745
+ * The saving of temporary HTML files with formatted HTML code is the solution.
10746
+ * Anyway, the Nu HTML Checker does not work with HTML strings — it accepts only relative paths of files saved to
10747
+ * drive. */
10549
10748
  const formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = [];
10550
10749
  /* [ Theory ]
10551
- * Nu HTML Checker can inspect the multiple files at once while returns the single array with issues data for all files.
10552
- * How to understand for which file Nu HTML Checker emitted the specific issue?
10750
+ * Nu HTML Checker can inspect the multiple files at once but returns the single array with issues data for all files.
10751
+ * But how to understand for which file Nu HTML Checker emitted the specific issue (array element)?
10553
10752
  * The data of each issue will include the URI like
10554
10753
  * "file:/D:/IntelliJ%20IDEA/SampleProject/.yda/Temporary/HTML_Validation/4834cf5c-253f-4147-b00c-b8ca53922315.html"
10555
10754
  * It is the encoded (`encodeURI()` for ECMAScript) absolute path of temporary formatted HTML file with "file:/" prefix. */
10556
10755
  const temporaryFormattedHTML_FilesEncodedURIsAndOriginalHTML_FilesRelativePathsCorrespondence = new Map();
10557
10756
  /* [ Theory ]
10558
- * Nu HTML Checker will not output the data for valid files while their paths is still required for summary. */
10757
+ * Nu HTML Checker will not output the data for valid files while their paths are still required for summary. */
10559
10758
  const relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly = new Set();
10560
- const cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files = new Map();
10561
- const MD5_HashesOfHTML_ContentBySourceFilesRelativePathsOfOriginalHTML_Files = new Map();
10562
- for (const { pathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly: originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, formattedHTML_Content, HTML_ContentMD5_Hash } of this.queuedFilesMetadata) {
10563
- // TODO Почему это надо сделать даже если файл валидирован не будет?
10759
+ const MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files = new Map();
10760
+ const cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files = new Map();
10761
+ for (const { originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, formattedHTML_Content, HTML_ContentMD5_Hash } of this.queuedFilesMetadata) {
10762
+ /* [ Approach ]
10763
+ * Even there is the cached data for target files, it still must be stored to interim collections for the full report. */
10564
10764
  relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly.add(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10565
- // TODO Почему это надо сделать даже если файл валидирован не будет?
10566
- MD5_HashesOfHTML_ContentBySourceFilesRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, HTML_ContentMD5_Hash);
10765
+ MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, HTML_ContentMD5_Hash);
10567
10766
  const cachedValidationsResultsForCurrentFile = this.cachedValidationsResults.get(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10568
10767
  if (cachedValidationsResultsForCurrentFile?.contentMD5Checksum === HTML_ContentMD5_Hash) {
10569
10768
  continue;
10570
10769
  }
10770
+ // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10771
+ // TODO По возмоности, вместо validationsResults используй this.cachedValidationsResults
10772
+ // Возможно в итоге окажется, что validationsResults больше не нужна.
10773
+ // В противном случае потребуется комментарий о том, зачем эта переменная нужна вдобавок к this.cachedValidationsResults
10774
+ // Очистка устаревших данных из validationsResults не объясняет, почему эта переменная нужна.
10775
+ // Что мешает удалить эти данные раз из this.cachedValidationsResults, если данные всё равно устарели?
10571
10776
  validationsResults.delete(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10572
- cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, (0, es_extensions_1.splitString)(formattedHTML_Content, "\n"));
10777
+ cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, (0, es_extensions_1.splitString)(formattedHTML_Content, "\n"));
10573
10778
  const formattedTemporaryHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
10574
- this.parenRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files,
10779
+ this.pathRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files,
10575
10780
  `${(0, nanoid_1.nanoid)()}.html`
10576
10781
  ], { alwaysForwardSlashSeparators: true });
10577
10782
  formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly.push(formattedTemporaryHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
@@ -10602,7 +10807,7 @@ class HTML_Validator {
10602
10807
  mustThrowErrorIfSomeFileCanNotBeDeleted: false
10603
10808
  });
10604
10809
  const rawValidationsResultsInspectionOutput = es_extensions_1.RawObjectDataProcessor.process(rawValidationsResults, HTML_Validator.validationsResultsSpecification);
10605
- if (rawValidationsResultsInspectionOutput.rawDataIsInvalid) {
10810
+ if (rawValidationsResultsInspectionOutput.isRawDataInvalid) {
10606
10811
  validationTimeMeasuringStopwatch.stop();
10607
10812
  es_extensions_1.Logger.logError({
10608
10813
  errorType: es_extensions_1.UnexpectedEventError.NAME,
@@ -10615,7 +10820,6 @@ class HTML_Validator {
10615
10820
  });
10616
10821
  return;
10617
10822
  }
10618
- // ━━━ TODO ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10619
10823
  /* [ Theory ]
10620
10824
  * The ones which called `messages` in Nu HTML Checker are not the messages.
10621
10825
  * The `messages` property is the array of objects each of which has `message` string property.
@@ -10626,11 +10830,11 @@ class HTML_Validator {
10626
10830
  const issuesOfCurrentFile = validationsResults.get(filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
10627
10831
  if ((0, es_extensions_1.isUndefined)(issuesOfCurrentFile)) {
10628
10832
  validationsResults.set(filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, [
10629
- HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly))
10833
+ HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly))
10630
10834
  ]);
10631
10835
  continue;
10632
10836
  }
10633
- issuesOfCurrentFile.push(HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeSplitToLinesByFilesRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly)));
10837
+ issuesOfCurrentFile.push(HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly)));
10634
10838
  }
10635
10839
  for (const relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly of relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly) {
10636
10840
  validationsResults.set(relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly, []);
@@ -10641,7 +10845,7 @@ class HTML_Validator {
10641
10845
  filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly,
10642
10846
  {
10643
10847
  issues,
10644
- contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentBySourceFilesRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly)
10848
+ contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly)
10645
10849
  }
10646
10850
  ]);
10647
10851
  this.writeCacheToFile();
@@ -11816,32 +12020,35 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
11816
12020
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
11817
12021
  class CodeListingPugFilter {
11818
12022
  static optionsSpecification = {
11819
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
12023
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
11820
12024
  nameForLogging: "CodeListingPugFilerOptions",
11821
12025
  properties: {
11822
12026
  mustAppendEmptyLine: {
11823
12027
  type: Boolean,
11824
- defaultValue: false
12028
+ undefinedValueSubstitution: false,
12029
+ isNullForbidden: true
11825
12030
  },
11826
12031
  indentationMultiplier: {
11827
12032
  preValidationModifications: es_extensions_1.convertPotentialStringToIntegerIfPossible,
11828
12033
  type: Number,
11829
- required: false,
12034
+ isUndefinedForbidden: false,
12035
+ isNullForbidden: true,
11830
12036
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber
11831
12037
  },
11832
12038
  indentationString: {
11833
12039
  type: String,
11834
- requiredIf: {
12040
+ undefinedForbiddenIf: {
11835
12041
  predicate: (rawOptions) => (0, es_extensions_1.isNotUndefined)(rawOptions.indentationMultiplier),
11836
12042
  descriptionForLogging: "\"indentationMultiplier\" has been specified"
11837
12043
  },
12044
+ isNullForbidden: true,
11838
12045
  minimalCharactersCount: 1
11839
12046
  }
11840
12047
  }
11841
12048
  };
11842
12049
  static apply(sourcePugCode, rawOptions) {
11843
12050
  const rawOptionsProcessingResult = es_extensions_1.RawObjectDataProcessor.process(rawOptions, CodeListingPugFilter.optionsSpecification);
11844
- if (rawOptionsProcessingResult.rawDataIsInvalid) {
12051
+ if (rawOptionsProcessingResult.isRawDataInvalid) {
11845
12052
  es_extensions_1.Logger.throwErrorAndLog({
11846
12053
  errorInstance: new es_extensions_1.InvalidExternalDataError({
11847
12054
  customMessage: "One or more invalid options found for \"CodeListing\" pug filer.\n" +
@@ -11933,10 +12140,10 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
11933
12140
  importingFromTypeScript: dataHoldingSelfInstance.
11934
12141
  normalizeImportingFromTypeScriptSettings(markupProcessingSettings__fromFile__rawValid.importingFromTypeScript)
11935
12142
  } : null,
11936
- ...(0, es_extensions_1.isNotUndefined)(markupProcessingSettings__fromFile__rawValid.experimental1) ?
12143
+ ...(0, es_extensions_1.isNotUndefined)(markupProcessingSettings__fromFile__rawValid.importingFromJavaScript) ?
11937
12144
  {
11938
- experimental1: dataHoldingSelfInstance.
11939
- normalizeExperimental1(markupProcessingSettings__fromFile__rawValid.experimental1)
12145
+ importingFromJavaScript: dataHoldingSelfInstance.
12146
+ normalizeImportingFromJavaScriptSettings(markupProcessingSettings__fromFile__rawValid.importingFromJavaScript)
11940
12147
  } : null,
11941
12148
  staticPreview: {
11942
12149
  pagesVariations: dataHoldingSelfInstance.normalizeStaticPreviewPagesVariationsSettings(),
@@ -12024,28 +12231,16 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
12024
12231
  MarkupProcessingSettings__Default_1.default.staticPreview.typeScriptConfigurationFileRelativePath
12025
12232
  ], { alwaysForwardSlashSeparators: true }),
12026
12233
  sourceFileAbsolutePath,
12027
- importedNamespace: importingFromTypeScriptSettings__fromFile__rawValid.importedNamespace,
12028
- nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected: importingFromTypeScriptSettings__fromFile__rawValid.nameOfPugBlockToWhichTranspiledTypeScriptMustBeInjected
12234
+ importedNamespace: importingFromTypeScriptSettings__fromFile__rawValid.importedNamespace
12029
12235
  };
12030
12236
  }
12031
- normalizeExperimental1(experimental1Settings__fromFile__rawValid) {
12032
- const sourceFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
12033
- this.consumingProjectRootDirectoryAbsolutePath,
12034
- experimental1Settings__fromFile__rawValid.sourceFileRelativePath
12035
- ], { alwaysForwardSlashSeparators: true });
12237
+ normalizeImportingFromJavaScriptSettings(experimental1Settings__fromFile__rawValid) {
12036
12238
  return {
12037
- typeScriptConfigurationFileAbsolutePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
12239
+ sourceFileAbsolutePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
12038
12240
  this.consumingProjectRootDirectoryAbsolutePath,
12039
- (0, es_extensions_1.isNotUndefined)(experimental1Settings__fromFile__rawValid.typeScriptConfigurationFileRelativePath) ?
12040
- (0, es_extensions_1.appendLastFileNameExtension)({
12041
- targetPath: experimental1Settings__fromFile__rawValid.typeScriptConfigurationFileRelativePath,
12042
- targetFileNameExtensionWithOrWithoutLeadingDot: "json",
12043
- mustAppendDuplicateEvenIfTargetLastFileNameExtensionAlreadyPresentsAtSpecifiedPath: false
12044
- }) :
12045
- MarkupProcessingSettings__Default_1.default.staticPreview.typeScriptConfigurationFileRelativePath
12241
+ experimental1Settings__fromFile__rawValid.sourceFileRelativePath
12046
12242
  ], { alwaysForwardSlashSeparators: true }),
12047
- sourceFileAbsolutePath,
12048
- importedNamespace: experimental1Settings__fromFile__rawValid.importedNamespace
12243
+ nameOfGlobalConstantForStoringOfImports: experimental1Settings__fromFile__rawValid.nameOfGlobalConstantForStoringOfImports
12049
12244
  };
12050
12245
  }
12051
12246
  normalizeStaticPreviewPagesVariationsSettings() {
@@ -12928,7 +13123,8 @@ const TypeScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPar
12928
13123
  const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
12929
13124
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
12930
13125
  const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
12931
- class CompiledInlineTypeScriptImporterForPug extends GulpStreamsBasedTaskExecutor_1.default {
13126
+ const require_from_string_1 = __importDefault(__webpack_require__(/*! require-from-string */ "require-from-string"));
13127
+ class CompiledTypeScriptImporterForPug extends GulpStreamsBasedTaskExecutor_1.default {
12932
13128
  logging = {
12933
13129
  pathsOfFilesWillBeProcessed: false,
12934
13130
  quantityOfFilesWillBeProcessed: false
@@ -12945,7 +13141,7 @@ class CompiledInlineTypeScriptImporterForPug extends GulpStreamsBasedTaskExecuto
12945
13141
  if ((0, es_extensions_1.isUndefined)(importingFromTypeScriptSettings)) {
12946
13142
  return (0, createImmediatelyEndingEmptyStream_1.default)();
12947
13143
  }
12948
- const dataHoldingSelfInstance = new CompiledInlineTypeScriptImporterForPug(projectBuildingMasterConfigRepresentative, importingFromTypeScriptSettings);
13144
+ const dataHoldingSelfInstance = new CompiledTypeScriptImporterForPug(projectBuildingMasterConfigRepresentative, importingFromTypeScriptSettings);
12949
13145
  return (callback) => dataHoldingSelfInstance.provideTypeScriptImports(callback);
12950
13146
  }
12951
13147
  constructor(projectBuildingMasterConfigRepresentative, compiledTypeScriptImportingSettings) {
@@ -12985,7 +13181,7 @@ class CompiledInlineTypeScriptImporterForPug extends GulpStreamsBasedTaskExecuto
12985
13181
  entryPointsSourceFilesAbsolutePaths: [compiledTypeScriptImportingSettings.sourceFileAbsolutePath],
12986
13182
  webpackContext: projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath
12987
13183
  });
12988
- this.webpackConfiguration = CompiledInlineTypeScriptImporterForPug.
13184
+ this.webpackConfiguration = CompiledTypeScriptImporterForPug.
12989
13185
  getWebpackEntryObjectRespectiveToSpecifiedEntryPointsGroupSettings({
12990
13186
  webpackEntryPointDefinition,
12991
13187
  compiledTypeScriptImportingSettings,
@@ -13010,12 +13206,18 @@ class CompiledInlineTypeScriptImporterForPug extends GulpStreamsBasedTaskExecuto
13010
13206
  pipe(GulpStreamModifier_1.default.modify({
13011
13207
  onStreamStartedEventCommonHandler: async (vinylFile) => {
13012
13208
  const outputJavaScriptCode = (0, extractStringifiedContentFromVinylFile_1.default)(vinylFile);
13013
- MarkupProcessingSharedState_1.default.importingFromTypeScriptPugCodeGenerator =
13014
- ({ indentString, lineSeparator, initialIndentationDepth__numerationFrom0 }) => `${indentString.repeat(initialIndentationDepth__numerationFrom0)}-${lineSeparator.repeat(2)}` +
13015
- indentString.repeat(initialIndentationDepth__numerationFrom0 + 1) +
13016
- `${outputJavaScriptCode}${lineSeparator.repeat(2)}` +
13017
- indentString.repeat(initialIndentationDepth__numerationFrom0 + 1) +
13018
- `const ${this.importedNamespaceName} = global.${this.importedNamespaceName}.default;`;
13209
+ const imported = (0, require_from_string_1.default)(outputJavaScriptCode);
13210
+ if (!(0, es_extensions_1.isArbitraryObject)(imported)) {
13211
+ /* [ Theory ] The subsequent invocation of the callback will be ignored. */
13212
+ callback();
13213
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
13214
+ }
13215
+ if (!(0, es_extensions_1.isArbitraryObject)(imported.default)) {
13216
+ /* [ Theory ] The subsequent invocation of the callback will be ignored. */
13217
+ callback();
13218
+ return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
13219
+ }
13220
+ MarkupProcessingSharedState_1.default.importsFromTypeScript = { [this.importedNamespaceName]: imported.default };
13019
13221
  /* [ Theory ] The subsequent invocation of the callback will be ignored. */
13020
13222
  callback();
13021
13223
  return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
@@ -13077,15 +13279,15 @@ class CompiledInlineTypeScriptImporterForPug extends GulpStreamsBasedTaskExecuto
13077
13279
  };
13078
13280
  }
13079
13281
  }
13080
- exports["default"] = CompiledInlineTypeScriptImporterForPug;
13282
+ exports["default"] = CompiledTypeScriptImporterForPug;
13081
13283
 
13082
13284
 
13083
13285
  /***/ }),
13084
13286
 
13085
- /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/ExperimentalCompiledTypeScriptImporterForPug.ts":
13086
- /*!**************************************************************************************************************!*\
13087
- !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/ExperimentalCompiledTypeScriptImporterForPug.ts ***!
13088
- \**************************************************************************************************************/
13287
+ /***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/JavaScriptImporterForPug.ts":
13288
+ /*!******************************************************************************************!*\
13289
+ !*** ./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/JavaScriptImporterForPug.ts ***!
13290
+ \******************************************************************************************/
13089
13291
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
13090
13292
 
13091
13293
 
@@ -13097,177 +13299,32 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
13097
13299
  const GulpStreamsBasedTaskExecutor_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/GulpStreamsBasedTaskExecutor */ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/GulpStreamsBasedTaskExecutor.ts"));
13098
13300
  /* ─── Shared State ───────────────────────────────────────────────────────────────────────────────────────────────── */
13099
13301
  const MarkupProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSharedState.ts"));
13100
- /* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
13101
- const createImmediatelyEndingEmptyStream_1 = __importDefault(__webpack_require__(/*! @Utils/createImmediatelyEndingEmptyStream */ "./Utils/createImmediatelyEndingEmptyStream.ts"));
13102
- const gulp_1 = __importDefault(__webpack_require__(/*! gulp */ "gulp"));
13103
- const extractStringifiedContentFromVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/extractStringifiedContentFromVinylFile */ "./Utils/extractStringifiedContentFromVinylFile.ts"));
13104
- const GulpStreamModifier_1 = __importDefault(__webpack_require__(/*! @Utils/GulpStreamModifier */ "./Utils/GulpStreamModifier.ts"));
13105
- const webpack_1 = __importDefault(__webpack_require__(/*! webpack */ "webpack"));
13106
- const webpack_stream_1 = __importDefault(__webpack_require__(/*! webpack-stream */ "webpack-stream"));
13107
- const WebpackConfigGenerator_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/Utils/WebpackConfigGenerator */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Utils/WebpackConfigGenerator.ts"));
13108
- const WebpackSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/WebpackSpecialist */ "./ThirdPartySolutionsSpecialists/WebpackSpecialist.ts"));
13109
- const TypeScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/TypeScriptSpecialist */ "./ThirdPartySolutionsSpecialists/TypeScriptSpecialist.ts"));
13110
13302
  /* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
13111
- const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
13112
13303
  const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
13113
- const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
13114
13304
  const require_from_string_1 = __importDefault(__webpack_require__(/*! require-from-string */ "require-from-string"));
13115
- class ExperimentalCompiledTypeScriptImporterForPug extends GulpStreamsBasedTaskExecutor_1.default {
13305
+ const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
13306
+ class JavaScriptImporterForPug extends GulpStreamsBasedTaskExecutor_1.default {
13116
13307
  logging = {
13117
13308
  pathsOfFilesWillBeProcessed: false,
13118
13309
  quantityOfFilesWillBeProcessed: false
13119
13310
  };
13120
- webpackConfiguration;
13121
- typeScriptSourceFileAbsolutePath;
13122
- importedNamespaceName;
13123
- static provideTypeScriptImportsForMarkupIfMust(projectBuildingMasterConfigRepresentative) {
13311
+ static provideJavaScriptImportsForMarkupIfMust(projectBuildingMasterConfigRepresentative) {
13124
13312
  const markupProcessingSettingsRepresentative = projectBuildingMasterConfigRepresentative.markupProcessingSettingsRepresentative;
13125
13313
  if ((0, es_extensions_1.isUndefined)(markupProcessingSettingsRepresentative)) {
13126
- return (0, createImmediatelyEndingEmptyStream_1.default)();
13127
- }
13128
- const importingFromTypeScriptSettings = markupProcessingSettingsRepresentative.experimental1Settings;
13129
- if ((0, es_extensions_1.isUndefined)(importingFromTypeScriptSettings)) {
13130
- return (0, createImmediatelyEndingEmptyStream_1.default)();
13131
- }
13132
- const dataHoldingSelfInstance = new ExperimentalCompiledTypeScriptImporterForPug(projectBuildingMasterConfigRepresentative, importingFromTypeScriptSettings);
13133
- return (callback) => dataHoldingSelfInstance.provideTypeScriptImports(callback);
13134
- }
13135
- constructor(projectBuildingMasterConfigRepresentative, compiledTypeScriptImportingSettings) {
13136
- super({
13137
- projectBuildingMasterConfigRepresentative,
13138
- taskTitleForLogging: "Exporting of TypeScript to Pug"
13139
- });
13140
- const typeScriptCompilerOptions = TypeScriptSpecialist_1.default.
13141
- readTypeScriptConfigurationFileAndGetCompilerOptions(compiledTypeScriptImportingSettings.typeScriptConfigurationFileAbsolutePath);
13142
- const webpackAliasesConfiguration = WebpackSpecialist_1.default.
13143
- convertPathsAliasesFromTypeScriptFormatToWebpackFormat({
13144
- typeScriptPathsSettings: typeScriptCompilerOptions.paths,
13145
- typeScriptBasicAbsolutePath: typeScriptCompilerOptions.baseUrl ??
13146
- es_extensions_nodejs_1.ImprovedPath.extractDirectoryFromFilePath({
13147
- targetPath: compiledTypeScriptImportingSettings.typeScriptConfigurationFileAbsolutePath,
13148
- alwaysForwardSlashSeparators: true,
13149
- ambiguitiesResolution: {
13150
- mustConsiderLastSegmentStartingWithDotAsDirectory: false,
13151
- mustConsiderLastSegmentWithNonLeadingDotAsDirectory: false,
13152
- mustConsiderLastSegmentWithoutDotsAsFileNameWithoutExtension: false
13153
- }
13154
- })
13155
- });
13156
- if (!fs_1.default.existsSync(compiledTypeScriptImportingSettings.sourceFileAbsolutePath)) {
13157
- es_extensions_1.Logger.throwErrorAndLog({
13158
- errorInstance: new es_extensions_nodejs_1.FileNotFoundError({
13159
- customMessage: `The TypeScript file "${compiledTypeScriptImportingSettings.sourceFileAbsolutePath}" for ` +
13160
- "the exporting to Pug was found. " +
13161
- "Please create this file and provide some exports from it."
13162
- }),
13163
- title: es_extensions_nodejs_1.FileNotFoundError.localization.defaultTitle,
13164
- occurrenceLocation: "compiledInlineTypeScriptImporterForPug.constructor(...parameters)"
13165
- });
13166
- }
13167
- /** @see https://webpack.js.org/configuration/entry-context/#entry */
13168
- const webpackEntryPointDefinition = WebpackConfigGenerator_1.default.getWebpackEntryObjectRespectiveToExistingEntryPoints({
13169
- entryPointsSourceFilesAbsolutePaths: [compiledTypeScriptImportingSettings.sourceFileAbsolutePath],
13170
- webpackContext: projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath
13171
- });
13172
- this.webpackConfiguration = ExperimentalCompiledTypeScriptImporterForPug.
13173
- getWebpackEntryObjectRespectiveToSpecifiedEntryPointsGroupSettings({
13174
- webpackEntryPointDefinition,
13175
- compiledTypeScriptImportingSettings,
13176
- projectBuildingMasterConfigRepresentative,
13177
- webpackAliasesConfiguration
13178
- });
13179
- this.typeScriptSourceFileAbsolutePath = compiledTypeScriptImportingSettings.sourceFileAbsolutePath;
13180
- this.importedNamespaceName = compiledTypeScriptImportingSettings.importedNamespace;
13181
- }
13182
- /* [ Theory ]
13183
- * This Gulp task has callback and also returns the stream. Both measures signalize about completion.
13184
- * The main measure is the callback, but if error will occur on first building, the callback will not be called,
13185
- * but the "handleErrorIfItWillOccur" will generate the `on.("end")` event. */
13186
- provideTypeScriptImports(callback) {
13187
- return gulp_1.default.
13188
- src(this.typeScriptSourceFileAbsolutePath).
13189
- pipe(super.handleErrorIfItWillOccur()).
13190
- pipe(super.logProcessedFilesIfMust()).
13191
- pipe((0, webpack_stream_1.default)(this.webpackConfiguration,
13192
- /* @ts-ignore: TS2345 The null as second argument is obeying to README of "webpack-stream" package. */
13193
- null, this.onBuildHasCompleted.bind(this))).
13194
- pipe(GulpStreamModifier_1.default.modify({
13195
- onStreamStartedEventCommonHandler: async (vinylFile) => {
13196
- const outputJavaScriptCode = (0, extractStringifiedContentFromVinylFile_1.default)(vinylFile);
13197
- const imported = (0, require_from_string_1.default)(outputJavaScriptCode);
13198
- if (!(0, es_extensions_1.isArbitraryObject)(imported)) {
13199
- /* [ Theory ] The subsequent invocation of the callback will be ignored. */
13200
- callback();
13201
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
13202
- }
13203
- if (!(0, es_extensions_1.isArbitraryObject)(imported.default)) {
13204
- /* [ Theory ] The subsequent invocation of the callback will be ignored. */
13205
- callback();
13206
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
13207
- }
13208
- MarkupProcessingSharedState_1.default.experimental = { [this.importedNamespaceName]: imported.default };
13209
- /* [ Theory ] The subsequent invocation of the callback will be ignored. */
13210
- callback();
13211
- return Promise.resolve(GulpStreamModifier_1.default.CompletionSignals.REMOVING_FILE_FROM_STREAM);
13212
- }
13213
- }));
13214
- }
13215
- onBuildHasCompleted(hardError, statistics) {
13216
- if ((0, es_extensions_1.isNeitherUndefinedNorNull)(hardError)) {
13217
- /* [ Theory ] In this case, error will be emitted by "webpack-stream". */
13218
- return;
13314
+ return (callback) => { callback(); };
13219
13315
  }
13220
- if ((0, es_extensions_1.isNotUndefined)(statistics)) {
13221
- es_extensions_1.Logger.logSuccess({
13222
- title: "Injection of transpiled TypeScript to Pug successful",
13223
- description: "The TypeScript file has been transpiled and injected to Pug. " +
13224
- `The exported entity stored to "${this.importedNamespaceName}" variable.`
13225
- });
13226
- process.stdout.write(`${statistics.toString({ colors: true })}\n`);
13316
+ const importingFromJavaScriptSettings = markupProcessingSettingsRepresentative.importingFromJavaScriptSettings;
13317
+ if ((0, es_extensions_1.isUndefined)(importingFromJavaScriptSettings)) {
13318
+ return (callback) => { callback(); };
13227
13319
  }
13228
- }
13229
- static getWebpackEntryObjectRespectiveToSpecifiedEntryPointsGroupSettings({ webpackEntryPointDefinition, compiledTypeScriptImportingSettings, projectBuildingMasterConfigRepresentative, webpackAliasesConfiguration }) {
13230
- return {
13231
- entry: webpackEntryPointDefinition,
13232
- output: {
13233
- library: {
13234
- type: "umd",
13235
- name: compiledTypeScriptImportingSettings.importedNamespace
13236
- },
13237
- globalObject: "globalThis"
13238
- },
13239
- watch: projectBuildingMasterConfigRepresentative.mustProvideIncrementalBuilding,
13240
- mode: "production",
13241
- optimization: { minimize: true },
13242
- module: {
13243
- rules: [
13244
- {
13245
- test: /\.ts$/u,
13246
- loader: "ts-loader",
13247
- options: {
13248
- transpileOnly: true
13249
- }
13250
- }
13251
- ]
13252
- },
13253
- resolve: {
13254
- extensions: [".ts", ".js"],
13255
- alias: webpackAliasesConfiguration
13256
- },
13257
- resolveLoader: WebpackSpecialist_1.default.
13258
- generateLoadersResolvingSettings(projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath),
13259
- plugins: [
13260
- new webpack_1.default.DefinePlugin({
13261
- __IS_LOCAL_DEVELOPMENT_BUILDING_MODE__: projectBuildingMasterConfigRepresentative.isLocalDevelopmentBuildingMode,
13262
- __IS_TESTING_BUILDING_MODE__: projectBuildingMasterConfigRepresentative.isTestingBuildingMode,
13263
- __IS_STAGING_BUILDING_MODE__: projectBuildingMasterConfigRepresentative.isStagingBuildingMode,
13264
- __IS_PRODUCTION_BUILDING_MODE__: projectBuildingMasterConfigRepresentative.isProductionBuildingMode
13265
- })
13266
- ]
13320
+ const loadedJavaScriptModule = (0, require_from_string_1.default)(fs_1.default.readFileSync(importingFromJavaScriptSettings.sourceFileAbsolutePath, "utf-8"));
13321
+ MarkupProcessingSharedState_1.default.importsFromJavaScript = {
13322
+ [importingFromJavaScriptSettings.nameOfGlobalConstantForStoringOfImports]: loadedJavaScriptModule
13267
13323
  };
13324
+ return (callback) => { callback(); };
13268
13325
  }
13269
13326
  }
13270
- exports["default"] = ExperimentalCompiledTypeScriptImporterForPug;
13327
+ exports["default"] = JavaScriptImporterForPug;
13271
13328
 
13272
13329
 
13273
13330
  /***/ }),
@@ -13369,51 +13426,63 @@ class MarkupSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
13369
13426
  sourceFilesCachedCheckingResults: {
13370
13427
  fileNameWithExtension: "MarkupLintingCache.json",
13371
13428
  contentSpecification: {
13372
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
13429
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
13373
13430
  nameForLogging: "CachedMarkupLintingResultsFileContent",
13374
13431
  properties: {
13375
13432
  files: {
13376
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
13377
- required: true,
13433
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
13434
+ isUndefinedForbidden: true,
13435
+ isNullForbidden: true,
13436
+ areUndefinedTypeValuesForbidden: true,
13437
+ areNullTypeValuesForbidden: true,
13378
13438
  value: {
13379
13439
  type: Object,
13380
13440
  properties: {
13381
13441
  issues: {
13382
13442
  type: Array,
13383
- required: true,
13443
+ isUndefinedForbidden: true,
13444
+ isNullForbidden: true,
13445
+ areUndefinedElementsForbidden: true,
13446
+ areNullElementsForbidden: true,
13384
13447
  element: {
13385
13448
  type: Object,
13386
13449
  properties: {
13387
13450
  code: {
13388
13451
  type: String,
13389
- required: true,
13452
+ isUndefinedForbidden: true,
13453
+ isNullForbidden: true,
13390
13454
  minimalCharactersCount: 1
13391
13455
  },
13392
13456
  message: {
13393
13457
  type: String,
13394
- required: true,
13458
+ isUndefinedForbidden: true,
13459
+ isNullForbidden: true,
13395
13460
  minimalCharactersCount: 1
13396
13461
  },
13397
13462
  sourceListing: {
13398
13463
  type: String,
13399
- required: true
13464
+ isUndefinedForbidden: true,
13465
+ isNullForbidden: true
13400
13466
  },
13401
13467
  lineNumber: {
13402
13468
  type: Number,
13403
- required: true,
13404
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger
13469
+ isUndefinedForbidden: true,
13470
+ isNullForbidden: true,
13471
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero
13405
13472
  },
13406
13473
  columnNumber: {
13407
13474
  type: Number,
13408
- required: false,
13409
- numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.nonNegativeInteger
13475
+ isUndefinedForbidden: false,
13476
+ isNullForbidden: true,
13477
+ numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.positiveIntegerOrZero
13410
13478
  }
13411
13479
  }
13412
13480
  }
13413
13481
  },
13414
13482
  modificationDateTime__ISO_8601: {
13415
13483
  type: String,
13416
- required: true,
13484
+ isUndefinedForbidden: true,
13485
+ isNullForbidden: true,
13417
13486
  minimalCharactersCount: 1
13418
13487
  }
13419
13488
  }
@@ -13864,14 +13933,17 @@ var StylesProcessingSettings__FromFile__RawValid;
13864
13933
  StylesProcessingSettings__FromFile__RawValid.propertiesSpecification = {
13865
13934
  $common: {
13866
13935
  newName: "common",
13867
- preValidationModifications: es_extensions_1.nullToUndefined,
13868
13936
  type: Object,
13869
- required: false,
13937
+ isUndefinedForbidden: false,
13938
+ mustTransformNullToUndefined: true,
13870
13939
  properties: {
13871
13940
  $buildingModeDependent: {
13872
13941
  newName: "buildingModeDependent",
13873
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
13874
- required: false,
13942
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
13943
+ isUndefinedForbidden: false,
13944
+ isNullForbidden: true,
13945
+ areUndefinedTypeValuesForbidden: true,
13946
+ areNullTypeValuesForbidden: true,
13875
13947
  minimalEntriesCount: 1,
13876
13948
  allowedKeys: [
13877
13949
  "$staticPreview",
@@ -13894,12 +13966,14 @@ var StylesProcessingSettings__FromFile__RawValid;
13894
13966
  newName: "secondsBetweenFileUpdatingAndStartingOfRebuilding",
13895
13967
  type: Number,
13896
13968
  numbersSet: es_extensions_1.RawObjectDataProcessor.NumbersSets.naturalNumber,
13897
- required: false
13969
+ isUndefinedForbidden: false,
13970
+ isNullForbidden: true
13898
13971
  },
13899
13972
  $mustResolveResourceReferencesToRelativePaths: {
13900
13973
  newName: "mustResolveResourceReferencesToRelativePaths",
13901
13974
  type: Boolean,
13902
- required: false
13975
+ isUndefinedForbidden: false,
13976
+ isNullForbidden: true
13903
13977
  }
13904
13978
  }
13905
13979
  }
@@ -13909,8 +13983,8 @@ var StylesProcessingSettings__FromFile__RawValid;
13909
13983
  $linting: {
13910
13984
  newName: "linting",
13911
13985
  type: Object,
13912
- required: false,
13913
- preValidationModifications: es_extensions_1.nullToUndefined,
13986
+ isUndefinedForbidden: false,
13987
+ mustTransformNullToUndefined: true,
13914
13988
  properties: LintingSettings__FromFile__RawValid_1.default.propertiesSpecification
13915
13989
  },
13916
13990
  ...SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid_1.default.generatePropertiesSpecification({
@@ -13918,8 +13992,8 @@ var StylesProcessingSettings__FromFile__RawValid;
13918
13992
  $revisioning: {
13919
13993
  newName: "revisioning",
13920
13994
  type: Object,
13921
- required: false,
13922
- preValidationModifications: es_extensions_1.nullToUndefined,
13995
+ isUndefinedForbidden: false,
13996
+ mustTransformNullToUndefined: true,
13923
13997
  properties: RevisioningSettings__FromFile__RawValid_1.default.propertiesSpecification
13924
13998
  }
13925
13999
  }
@@ -13927,44 +14001,50 @@ var StylesProcessingSettings__FromFile__RawValid;
13927
14001
  $logging: {
13928
14002
  newName: "logging",
13929
14003
  type: Object,
13930
- required: false,
13931
- preValidationModifications: es_extensions_1.nullToUndefined,
14004
+ isUndefinedForbidden: false,
14005
+ mustTransformNullToUndefined: true,
13932
14006
  properties: {
13933
14007
  $filesPaths: {
13934
14008
  newName: "filesPaths",
13935
14009
  type: Boolean,
13936
- required: false
14010
+ isUndefinedForbidden: false,
14011
+ isNullForbidden: true
13937
14012
  },
13938
14013
  $filesCount: {
13939
14014
  newName: "filesCount",
13940
14015
  type: Boolean,
13941
- required: false
14016
+ isUndefinedForbidden: false,
14017
+ isNullForbidden: true
13942
14018
  },
13943
14019
  $partialFilesAndParentEntryPointsCorrespondence: {
13944
14020
  newName: "partialFilesAndParentEntryPointsCorrespondence",
13945
14021
  type: Boolean,
13946
- required: false
14022
+ isUndefinedForbidden: false,
14023
+ isNullForbidden: true
13947
14024
  },
13948
14025
  $filesWatcherEvents: {
13949
14026
  newName: "filesWatcherEvents",
13950
14027
  type: Boolean,
13951
- required: false
14028
+ isUndefinedForbidden: false,
14029
+ isNullForbidden: true
13952
14030
  },
13953
14031
  $linting: {
13954
14032
  newName: "linting",
13955
14033
  type: Object,
13956
- required: false,
13957
- preValidationModifications: es_extensions_1.nullToUndefined,
14034
+ isUndefinedForbidden: false,
14035
+ mustTransformNullToUndefined: true,
13958
14036
  properties: {
13959
14037
  $starting: {
13960
14038
  newName: "starting",
13961
14039
  type: Boolean,
13962
- required: false
14040
+ isUndefinedForbidden: false,
14041
+ isNullForbidden: true
13963
14042
  },
13964
14043
  $completionWithoutIssues: {
13965
14044
  newName: "completionWithoutIssues",
13966
14045
  type: Boolean,
13967
- required: false
14046
+ isUndefinedForbidden: false,
14047
+ isNullForbidden: true
13968
14048
  }
13969
14049
  }
13970
14050
  }
@@ -14142,10 +14222,8 @@ class StylesProcessor extends GulpStreamsBasedTaskExecutor_1.default {
14142
14222
  }))).
14143
14223
  pipe((0, gulp_if_1.default)(this.projectBuildingMasterConfigRepresentative.isStaticPreviewBuildingMode ||
14144
14224
  this.projectBuildingMasterConfigRepresentative.isLocalDevelopmentBuildingMode, gulp_sourcemaps_1.default.write())).
14145
- pipe(GulpStreamModifier_1.default.modify({
14146
- onStreamStartedEventHandlersForSpecificFileTypes: new Map([
14147
- [StylesEntryPointVinylFile_1.default, this.onOutputCSS_FileReady.bind(this)]
14148
- ])
14225
+ pipe(GulpStreamModifier_1.default.modifyForSingleVinylFileSubtype({
14226
+ onStreamStartedEventHandler: this.onOutputCSS_FileReady.bind(this)
14149
14227
  })).
14150
14228
  pipe(gulp_1.default.dest((targetFile) => StylesEntryPointVinylFile_1.default.getOutputDirectoryAbsolutePathOfExpectedToBeSelfInstance(targetFile)));
14151
14229
  }
@@ -14438,11 +14516,13 @@ class ESLintSpecialist {
14438
14516
  const processingResult = es_extensions_1.RawObjectDataProcessor.process(filesIgnoringPatterns, {
14439
14517
  subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.indexedArray,
14440
14518
  nameForLogging: "ESLint ignoring patterns",
14519
+ areUndefinedElementsForbidden: true,
14520
+ areNullElementsForbidden: true,
14441
14521
  element: {
14442
14522
  type: String
14443
14523
  }
14444
14524
  });
14445
- if (processingResult.rawDataIsInvalid) {
14525
+ if (processingResult.isRawDataInvalid) {
14446
14526
  es_extensions_1.Logger.logError({
14447
14527
  errorType: es_extensions_1.InvalidExternalDataError.NAME,
14448
14528
  title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
@@ -15099,7 +15179,7 @@ exports["default"] = GulpStreamModifier;
15099
15179
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
15100
15180
 
15101
15181
 
15102
- /* eslint max-depth: [ warn, 4 ] -- Maybe extracting to methods is possible but it will be too many parameters. */
15182
+ /* eslint max-depth: [ warn, 4 ] -- Maybe extracting to methods is possible, but it will be too many parameters. */
15103
15183
  var __importDefault = (this && this.__importDefault) || function (mod) {
15104
15184
  return (mod && mod.__esModule) ? mod : { "default": mod };
15105
15185
  };
@@ -15112,44 +15192,61 @@ class SourceCodeSelectiveReprocessingHelper {
15112
15192
  static DEBUGGING_MODE = false;
15113
15193
  static cachedMetadataFileContentSpecification = {
15114
15194
  nameForLogging: "SourceCodeSelectiveReprocessingHelper.CachedRawMetadata",
15115
- subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedKeyAndValuePairsObject,
15195
+ subtype: es_extensions_1.RawObjectDataProcessor.ObjectSubtypes.fixedSchema,
15116
15196
  properties: {
15117
15197
  entryPoints: {
15118
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
15119
- required: true,
15198
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
15199
+ isUndefinedForbidden: true,
15200
+ isNullForbidden: true,
15201
+ areUndefinedTypeValuesForbidden: true,
15202
+ areNullTypeValuesForbidden: true,
15120
15203
  value: {
15121
15204
  type: Object,
15122
15205
  properties: {
15123
15206
  modificationDate__ISO8601: {
15124
15207
  type: String,
15125
- required: true
15208
+ isUndefinedForbidden: false,
15209
+ isNullForbidden: true
15126
15210
  },
15127
15211
  directChildrenFilesRelativePaths: {
15128
15212
  type: Array,
15129
- required: true,
15213
+ areUndefinedElementsForbidden: true,
15214
+ areNullElementsForbidden: true,
15215
+ isUndefinedForbidden: true,
15216
+ isNullForbidden: true,
15130
15217
  element: { type: String }
15131
15218
  }
15132
15219
  }
15133
15220
  }
15134
15221
  },
15135
15222
  childrenFiles: {
15136
- type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
15137
- required: true,
15223
+ type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
15224
+ isUndefinedForbidden: true,
15225
+ isNullForbidden: true,
15226
+ areUndefinedTypeValuesForbidden: true,
15227
+ areNullTypeValuesForbidden: true,
15138
15228
  value: {
15139
15229
  type: Object,
15140
15230
  properties: {
15141
15231
  modificationDate__ISO8601: {
15142
15232
  type: String,
15143
- required: true
15233
+ isUndefinedForbidden: true,
15234
+ isNullForbidden: true
15144
15235
  },
15145
15236
  directChildrenFilesRelativePaths: {
15146
15237
  type: Array,
15147
- required: true,
15238
+ isUndefinedForbidden: true,
15239
+ isNullForbidden: true,
15240
+ areUndefinedElementsForbidden: true,
15241
+ areNullElementsForbidden: true,
15148
15242
  element: { type: String }
15149
15243
  },
15150
15244
  parentEntryPointsRelativePaths: {
15151
15245
  type: Array,
15152
- required: true,
15246
+ isUndefinedForbidden: true,
15247
+ isNullForbidden: true,
15248
+ areUndefinedElementsForbidden: true,
15249
+ areNullElementsForbidden: true,
15153
15250
  element: { type: String }
15154
15251
  }
15155
15252
  }