@yamato-daiwa/automation 0.7.0-alpha.6 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/EntryPoint.js +394 -258
- package/package.json +15 -16
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
|
|
37
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.7.0","description":"The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.","keywords":["build","pug","stylus","tool","typescript"],"engines":{"node":">=20.0.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@eslint-community/eslint-plugin-eslint-comments":"4.5.0","@stylistic/eslint-plugin":"5.2.2","@typescript-eslint/eslint-plugin":"8.38.0","@typescript-eslint/parser":"8.38.0","@vue/compiler-sfc":"3.5.18","@webdiscus/pug-loader":"2.11.1","@yamato-daiwa/es-extensions":"1.8.0-rc.1","@yamato-daiwa/es-extensions-nodejs":"1.8.0-rc.1","@yamato-daiwa/style_guides":"0.8.1","autoprefixer":"10.4.21","browser-sync":"3.0.4","css-loader":"7.1.2","cssnano":"7.1.0","dotenv":"16.5.0","eslint":"9.32.0","eslint-plugin-import":"2.32.0","eslint-plugin-n":"17.21.3","eslint-plugin-react":"7.37.5","eslint-plugin-vue":"9.33.0","eslint-plugin-vue-pug":"0.6.2","gulp":"4.0.2","gulp-data":"1.3.1","gulp-if":"3.0.0","gulp-imagemin":"7.1.0","gulp-nodemon":"2.5.0","gulp-plumber":"1.2.1","gulp-postcss":"10.0.0","gulp-pug":"5.0.0","gulp-sourcemaps":"3.0.0","gulp-stylus":"3.0.1","htmlnano":"2.1.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":"3.0.5","webpack":"5.101.0","webpack-node-externals":"3.0.0","webpack-stream":"7.0.0","worker-loader":"3.0.8","yaml-loader":"0.8.1"},"devDependencies":{"@types/browser-sync":"2.29.0","@types/cssnano":"5.0.0","@types/gulp":"4.0.17","@types/gulp-if":"3.0.5","@types/gulp-imagemin":"7.0.3","@types/gulp-nodemon":"0.0.37","@types/gulp-plumber":"0.0.37","@types/gulp-postcss":"8.0.6","@types/gulp-sourcemaps":"0.0.38","@types/gulp-stylus":"2.7.8","@types/js-beautify":"1.14.3","@types/node":"22.15.30","@types/node-notifier":"8.0.5","@types/pa11y":"5.3.7","@types/probe-image-size":"7.2.5","@types/pug":"2.0.10","@types/require-from-string":"1.2.3","@types/vnu-jar":"17.11.2","@types/webpack-node-externals":"3.0.4","@types/webpack-stream":"3.2.15","eslint-webpack-plugin":"4.2.0","ts-node":"10.9.2","typescript":"5.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
|
|
|
@@ -227,6 +227,7 @@ const ProjectBuildingMasterConfigRepresentative_1 = __importDefault(__webpack_re
|
|
|
227
227
|
/* ─── Tasks Runners ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
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
|
+
const TypeScriptTypesChecker_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/Subtasks/TypeScriptTypesChecker */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Subtasks/TypeScriptTypesChecker.ts"));
|
|
230
231
|
const CompiledTypeScriptImporterForPug_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/CompiledTypeScriptImporterForPug */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/CompiledTypeScriptImporterForPug.ts"));
|
|
231
232
|
const JavaScriptImporterForPug_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Subtasks/JavaScriptImporterForPug */ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/JavaScriptImporterForPug.ts"));
|
|
232
233
|
const StylesProcessor_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesProcessor */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesProcessor.ts"));
|
|
@@ -247,7 +248,7 @@ const FilesMasterWatcher_1 = __importDefault(__webpack_require__(/*! @ProjectBui
|
|
|
247
248
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
248
249
|
class ProjectBuilder {
|
|
249
250
|
static buildProject({ consumingProjectRootDirectoryAbsolutePath, projectBuildingConfig__fromConsole, rawConfigFromFile }) {
|
|
250
|
-
const rawDataProcessingResult = es_extensions_1.RawObjectDataProcessor.process(rawConfigFromFile, ProjectBuildingConfig__FromFile__RawValid_1.default.propertiesSpecification);
|
|
251
|
+
const rawDataProcessingResult = es_extensions_1.RawObjectDataProcessor.process(rawConfigFromFile, ProjectBuildingConfig__FromFile__RawValid_1.default.propertiesSpecification, { processingApproach: es_extensions_1.RawObjectDataProcessor.ProcessingApproaches.assemblingOfNewObject });
|
|
251
252
|
if (rawDataProcessingResult.isRawDataInvalid) {
|
|
252
253
|
es_extensions_1.Logger.throwErrorAndLog({
|
|
253
254
|
errorInstance: new es_extensions_1.InvalidConfigError({
|
|
@@ -269,6 +270,7 @@ class ProjectBuilder {
|
|
|
269
270
|
const GULP_TASK_NAME = "BUILD_PROJECT";
|
|
270
271
|
gulp_1.default.task(GULP_TASK_NAME, gulp_1.default.parallel([
|
|
271
272
|
MarkupSourceCodeLinter_1.default.provideLintingIfMust(masterConfigRepresentative),
|
|
273
|
+
TypeScriptTypesChecker_1.default.provideCheckingIfMust(masterConfigRepresentative),
|
|
272
274
|
ECMA_ScriptSourceCodeLinter_1.default.provideLintingIfMust(masterConfigRepresentative),
|
|
273
275
|
gulp_1.default.series([
|
|
274
276
|
gulp_1.default.parallel([
|
|
@@ -5312,8 +5314,8 @@ const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
|
|
|
5312
5314
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
5313
5315
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
5314
5316
|
class PlainCopyingRawSettingsNormalizer {
|
|
5315
|
-
static normalize({ plainCopyingSettings__fromFile__rawValid, commonSettings__normalized }) {
|
|
5316
|
-
const explicitlySpecifiedActualFilesGroupsIDs =
|
|
5317
|
+
static normalize({ plainCopyingSettings__fromFile__rawValid, commonSettings__normalized: { tasksAndSourceFilesSelection, projectRootDirectoryAbsolutePath, projectBuildingMode } }) {
|
|
5318
|
+
const explicitlySpecifiedActualFilesGroupsIDs = tasksAndSourceFilesSelection?.plainCopying ?? [];
|
|
5317
5319
|
const filesGroups = {};
|
|
5318
5320
|
for (const [filesGroupID, filesGroup__rawValid__fromFile] of Object.entries(plainCopyingSettings__fromFile__rawValid.filesGroups)) {
|
|
5319
5321
|
if (explicitlySpecifiedActualFilesGroupsIDs.length > 0 &&
|
|
@@ -5322,27 +5324,29 @@ class PlainCopyingRawSettingsNormalizer {
|
|
|
5322
5324
|
}
|
|
5323
5325
|
const aliasName = filesGroup__rawValid__fromFile.aliasName ?? filesGroupID;
|
|
5324
5326
|
if ("sourceFileRelativePath" in filesGroup__rawValid__fromFile) {
|
|
5325
|
-
const filesSingularGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile = filesGroup__rawValid__fromFile.buildingModeDependent[
|
|
5327
|
+
const filesSingularGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile = filesGroup__rawValid__fromFile.buildingModeDependent[projectBuildingMode];
|
|
5326
5328
|
if ((0, es_extensions_1.isUndefined)(filesSingularGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile)) {
|
|
5327
5329
|
continue;
|
|
5328
5330
|
}
|
|
5329
5331
|
filesGroups[filesGroupID] = PlainCopyingRawSettingsNormalizer.normalizeFilesSingularGroupSettings({
|
|
5330
|
-
projectRootDirectoryAbsolutePath
|
|
5332
|
+
projectRootDirectoryAbsolutePath,
|
|
5331
5333
|
sourceFileRelativePath: filesGroup__rawValid__fromFile.sourceFileRelativePath,
|
|
5332
5334
|
aliasName,
|
|
5333
5335
|
filesSingularGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile
|
|
5334
5336
|
});
|
|
5335
5337
|
}
|
|
5336
5338
|
else {
|
|
5337
|
-
const filesPluralGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile = filesGroup__rawValid__fromFile.buildingModeDependent[
|
|
5339
|
+
const filesPluralGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile = filesGroup__rawValid__fromFile.buildingModeDependent[projectBuildingMode];
|
|
5338
5340
|
if ((0, es_extensions_1.isUndefined)(filesPluralGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile)) {
|
|
5339
5341
|
continue;
|
|
5340
5342
|
}
|
|
5341
5343
|
filesGroups[filesGroupID] = PlainCopyingRawSettingsNormalizer.normalizeFilesPluralGroupSettings({
|
|
5342
|
-
projectRootDirectoryAbsolutePath
|
|
5344
|
+
projectRootDirectoryAbsolutePath,
|
|
5343
5345
|
sourceTopDirectoryRelativePath: filesGroup__rawValid__fromFile.sourceTopDirectoryRelativePath,
|
|
5344
5346
|
fileNameLastExtensions: filesGroup__rawValid__fromFile.fileNameLastExtensions,
|
|
5345
5347
|
aliasName,
|
|
5348
|
+
excludedSubdirectoriesPathsRelativeToAssetsGroupSourceTopDirectory: filesGroup__rawValid__fromFile.excludeSubdirectoriesRelativePaths,
|
|
5349
|
+
excludedFilesPathsRelativeToAssetsGroupSourceTopDirectory: filesGroup__rawValid__fromFile.excludeFilesRelativePaths,
|
|
5346
5350
|
filesPluralGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile
|
|
5347
5351
|
});
|
|
5348
5352
|
}
|
|
@@ -5384,7 +5388,7 @@ class PlainCopyingRawSettingsNormalizer {
|
|
|
5384
5388
|
outputFileAbsolutePath
|
|
5385
5389
|
};
|
|
5386
5390
|
}
|
|
5387
|
-
static normalizeFilesPluralGroupSettings({ projectRootDirectoryAbsolutePath, sourceTopDirectoryRelativePath, fileNameLastExtensions, aliasName, filesPluralGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile }) {
|
|
5391
|
+
static normalizeFilesPluralGroupSettings({ projectRootDirectoryAbsolutePath, sourceTopDirectoryRelativePath, fileNameLastExtensions, excludedSubdirectoriesPathsRelativeToAssetsGroupSourceTopDirectory = [], excludedFilesPathsRelativeToAssetsGroupSourceTopDirectory = [], aliasName, filesPluralGroupSettingsActualForCurrentProjectBuildingMode__rawValid__fromFile }) {
|
|
5388
5392
|
const sourceTopDirectoryAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([projectRootDirectoryAbsolutePath, sourceTopDirectoryRelativePath], { alwaysForwardSlashSeparators: true });
|
|
5389
5393
|
const outputTopDirectoryAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
5390
5394
|
projectRootDirectoryAbsolutePath,
|
|
@@ -5395,7 +5399,9 @@ class PlainCopyingRawSettingsNormalizer {
|
|
|
5395
5399
|
es_extensions_nodejs_1.ImprovedGlob.buildAllFilesInCurrentDirectoryAndBelowGlobSelector({
|
|
5396
5400
|
basicDirectoryPath: sourceTopDirectoryAbsolutePath,
|
|
5397
5401
|
fileNamesExtensions: fileNameLastExtensions
|
|
5398
|
-
})
|
|
5402
|
+
}),
|
|
5403
|
+
...excludedSubdirectoriesPathsRelativeToAssetsGroupSourceTopDirectory.map((excludedSubdirectoryPathRelativeToAssetsGroupSourceTopDirectory) => es_extensions_nodejs_1.ImprovedGlob.buildExcludingOfDirectoryWithSubdirectoriesGlobSelector(es_extensions_nodejs_1.ImprovedPath.joinPathSegments([sourceTopDirectoryAbsolutePath, excludedSubdirectoryPathRelativeToAssetsGroupSourceTopDirectory], { alwaysForwardSlashSeparators: true }))),
|
|
5404
|
+
...excludedFilesPathsRelativeToAssetsGroupSourceTopDirectory.map((excludedFilePathRelativeToAssetsGroupSourceTopDirectory) => es_extensions_nodejs_1.ImprovedGlob.includingGlobSelectorToExcludingOne(es_extensions_nodejs_1.ImprovedPath.joinPathSegments([sourceTopDirectoryAbsolutePath, excludedFilePathRelativeToAssetsGroupSourceTopDirectory], { alwaysForwardSlashSeparators: true })))
|
|
5399
5405
|
], { alwaysForwardSlashSeparators: true })) {
|
|
5400
5406
|
const outputDirectoryAbsolutePath = OutputDirectoryPathTransformationsSettingsRepresentative_1.default.transform(es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
5401
5407
|
outputTopDirectoryAbsolutePath,
|
|
@@ -5414,7 +5420,7 @@ class PlainCopyingRawSettingsNormalizer {
|
|
|
5414
5420
|
const outputFileNameWithExtensions = PlainCopyingRawSettingsNormalizer.computeOutputFileNameWithExtensions({
|
|
5415
5421
|
initialFileNameWithExtensions: (0, es_extensions_1.extractFileNameWithAllExtensionsFromPath)({
|
|
5416
5422
|
targetPath: sourceFileAbsolutePath,
|
|
5417
|
-
mustThrowErrorIfLastPathSegmentHasNoDots:
|
|
5423
|
+
mustThrowErrorIfLastPathSegmentHasNoDots: false
|
|
5418
5424
|
}),
|
|
5419
5425
|
sourceTopDirectoryAbsolutePath,
|
|
5420
5426
|
sourceFileAbsolutePath,
|
|
@@ -5623,6 +5629,30 @@ var PlainCopyingSettings__FromFile__RawValid;
|
|
|
5623
5629
|
minimalCharactersCount: 1
|
|
5624
5630
|
}
|
|
5625
5631
|
},
|
|
5632
|
+
$excludeSubdirectoriesRelativePaths: {
|
|
5633
|
+
newName: "excludeSubdirectoriesRelativePaths",
|
|
5634
|
+
type: Array,
|
|
5635
|
+
isUndefinedForbidden: false,
|
|
5636
|
+
isNullForbidden: true,
|
|
5637
|
+
areUndefinedElementsForbidden: true,
|
|
5638
|
+
areNullElementsForbidden: true,
|
|
5639
|
+
element: {
|
|
5640
|
+
type: String,
|
|
5641
|
+
minimalCharactersCount: 1
|
|
5642
|
+
}
|
|
5643
|
+
},
|
|
5644
|
+
$excludeFilesRelativePaths: {
|
|
5645
|
+
newName: "excludeFilesRelativePaths",
|
|
5646
|
+
type: Array,
|
|
5647
|
+
isUndefinedForbidden: false,
|
|
5648
|
+
isNullForbidden: true,
|
|
5649
|
+
areUndefinedElementsForbidden: true,
|
|
5650
|
+
areNullElementsForbidden: true,
|
|
5651
|
+
element: {
|
|
5652
|
+
type: String,
|
|
5653
|
+
minimalCharactersCount: 1
|
|
5654
|
+
}
|
|
5655
|
+
},
|
|
5626
5656
|
$buildingModeDependent: {
|
|
5627
5657
|
newName: "buildingModeDependent",
|
|
5628
5658
|
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
|
|
@@ -6262,6 +6292,13 @@ class ProjectBuildingMasterConfigRepresentative {
|
|
|
6262
6292
|
get isProductionBuildingMode() {
|
|
6263
6293
|
return this.commonSettings.projectBuildingMode === ConsumingProjectBuildingModes_1.default.production;
|
|
6264
6294
|
}
|
|
6295
|
+
get isProductionLikeBuildingMode() {
|
|
6296
|
+
return [
|
|
6297
|
+
ConsumingProjectBuildingModes_1.default.testing,
|
|
6298
|
+
ConsumingProjectBuildingModes_1.default.staging,
|
|
6299
|
+
ConsumingProjectBuildingModes_1.default.production
|
|
6300
|
+
].includes(this.commonSettings.projectBuildingMode);
|
|
6301
|
+
}
|
|
6265
6302
|
/* --- Tasks execution requirement -------------------------------------------------------------------------------- */
|
|
6266
6303
|
/* eslint-disable @stylistic/brace-style -- In this case the Allman style provides symmetry. */
|
|
6267
6304
|
get mustProcessMarkup() {
|
|
@@ -7033,7 +7070,7 @@ class ECMA_ScriptLogicProcessor {
|
|
|
7033
7070
|
this.projectBuildingMasterConfigRepresentative = masterConfigRepresentative;
|
|
7034
7071
|
const webpackConfigurationsForExistingEntryPoints = [];
|
|
7035
7072
|
const entryPointsSourceFilesAbsolutePathsAndWebpackConfigurationNamesMap = new Map();
|
|
7036
|
-
for (const
|
|
7073
|
+
for (const ECMA_ScriptLogicEntryPointsGroupSettings of this.ECMA_ScriptLogicProcessingConfigRepresentative.relevantEntryPointsGroupsSettings.values()) {
|
|
7037
7074
|
const entryPointsSourceFilesAbsolutePaths = es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(ECMA_ScriptLogicEntryPointsGroupSettings.sourceFilesGlobSelectors, { alwaysForwardSlashSeparators: true });
|
|
7038
7075
|
if (entryPointsSourceFilesAbsolutePaths.length === 0) {
|
|
7039
7076
|
es_extensions_1.Logger.logWarning({
|
|
@@ -7047,8 +7084,7 @@ class ECMA_ScriptLogicProcessor {
|
|
|
7047
7084
|
entryPointsSourceFilesAbsolutePaths,
|
|
7048
7085
|
ECMA_ScriptLogicEntryPointsGroupSettings,
|
|
7049
7086
|
ECMA_ScriptLogicProcessingConfigRepresentative: this.ECMA_ScriptLogicProcessingConfigRepresentative,
|
|
7050
|
-
masterConfigRepresentative: this.projectBuildingMasterConfigRepresentative
|
|
7051
|
-
mustProvideTypeScriptTypeChecking: index === 0
|
|
7087
|
+
masterConfigRepresentative: this.projectBuildingMasterConfigRepresentative
|
|
7052
7088
|
}));
|
|
7053
7089
|
(0, es_extensions_1.addEntriesToMap)({
|
|
7054
7090
|
targetMap: entryPointsSourceFilesAbsolutePathsAndWebpackConfigurationNamesMap,
|
|
@@ -7688,6 +7724,138 @@ class LocalDevelopmentServerOrchestrator {
|
|
|
7688
7724
|
exports["default"] = LocalDevelopmentServerOrchestrator;
|
|
7689
7725
|
|
|
7690
7726
|
|
|
7727
|
+
/***/ }),
|
|
7728
|
+
|
|
7729
|
+
/***/ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Subtasks/TypeScriptTypesChecker.ts":
|
|
7730
|
+
/*!*********************************************************************************************!*\
|
|
7731
|
+
!*** ./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Subtasks/TypeScriptTypesChecker.ts ***!
|
|
7732
|
+
\*********************************************************************************************/
|
|
7733
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
7734
|
+
|
|
7735
|
+
|
|
7736
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7737
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7738
|
+
};
|
|
7739
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
7740
|
+
/* ─── Source Files Watcher ───────────────────────────────────────────────────────────────────────────────────────── */
|
|
7741
|
+
const ECMA_ScriptSourceFilesWatcher_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/ECMA_ScriptSourceFilesWatcher */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/ECMA_ScriptSourceFilesWatcher.ts"));
|
|
7742
|
+
/* ─── Applied Utils ─────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7743
|
+
const VoidPromiseReturningFunction_1 = __webpack_require__(/*! @Utils/VoidPromiseReturningFunction */ "./Utils/VoidPromiseReturningFunction.ts");
|
|
7744
|
+
/* ─── Generals Utils ─────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7745
|
+
const child_process_1 = __importDefault(__webpack_require__(/*! child_process */ "child_process"));
|
|
7746
|
+
const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
|
|
7747
|
+
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
7748
|
+
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
7749
|
+
const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
|
|
7750
|
+
class TypeScriptTypesChecker {
|
|
7751
|
+
static WAITING_FOR_NEXT_EVENT_WITH_RELATED_FILES__SECONDS = 1;
|
|
7752
|
+
/* [ Theory ] 120 columns is about the half of the 1920x1080 screen. */
|
|
7753
|
+
static DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG = 120;
|
|
7754
|
+
vueTSC_ExecutableFileAbsolutePath;
|
|
7755
|
+
projectBuildingMasterConfigRepresentative;
|
|
7756
|
+
ecmaScriptLogicProcessingSettingsRepresentative;
|
|
7757
|
+
waitingForNextWithRelatedFiles = null;
|
|
7758
|
+
static provideCheckingIfMust(projectBuildingMasterConfigRepresentative) {
|
|
7759
|
+
const ecmaScriptLogicProcessingSettingsRepresentative = projectBuildingMasterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative;
|
|
7760
|
+
if ((0, es_extensions_1.isUndefined)(ecmaScriptLogicProcessingSettingsRepresentative)) {
|
|
7761
|
+
return VoidPromiseReturningFunction_1.voidPromiseReturningFunction;
|
|
7762
|
+
}
|
|
7763
|
+
const selfInstance = new TypeScriptTypesChecker({
|
|
7764
|
+
projectBuildingMasterConfigRepresentative,
|
|
7765
|
+
ecmaScriptLogicProcessingSettingsRepresentative
|
|
7766
|
+
});
|
|
7767
|
+
return selfInstance.checkTypes.bind(selfInstance);
|
|
7768
|
+
}
|
|
7769
|
+
constructor({ projectBuildingMasterConfigRepresentative, ecmaScriptLogicProcessingSettingsRepresentative }) {
|
|
7770
|
+
this.projectBuildingMasterConfigRepresentative = projectBuildingMasterConfigRepresentative;
|
|
7771
|
+
this.ecmaScriptLogicProcessingSettingsRepresentative = ecmaScriptLogicProcessingSettingsRepresentative;
|
|
7772
|
+
if (this.projectBuildingMasterConfigRepresentative.mustProvideIncrementalBuilding) {
|
|
7773
|
+
ECMA_ScriptSourceFilesWatcher_1.default.initializeIfRequiredAndGetInstance({
|
|
7774
|
+
projectBuildingMasterConfigRepresentative: this.projectBuildingMasterConfigRepresentative,
|
|
7775
|
+
ecmaScriptLogicProcessingSettingsRepresentative: this.ecmaScriptLogicProcessingSettingsRepresentative
|
|
7776
|
+
}).
|
|
7777
|
+
addOnAnyEventRelatedWithActualFilesHandler({
|
|
7778
|
+
handlerID: "ON_ANY_EVENT_RELATED_WITH_ACTUAL_FILES_HANDLER--BY_TYPE_SCRIPT_TYPES_CHECKER",
|
|
7779
|
+
handler: this.onAnyEventRelatedWithActualFiles.bind(this)
|
|
7780
|
+
});
|
|
7781
|
+
}
|
|
7782
|
+
const vueTSC_ExecutableFileAbsolutePath = TypeScriptTypesChecker.
|
|
7783
|
+
getAbsolutePathOfExistingVueTSC_ExecutableFile__alwaysForwardSlashesPathSeparators(projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath);
|
|
7784
|
+
if ((0, es_extensions_1.isNull)(vueTSC_ExecutableFileAbsolutePath)) {
|
|
7785
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
7786
|
+
errorInstance: new es_extensions_1.UnexpectedEventError("File to \"vue-tsc\" executable not found"),
|
|
7787
|
+
title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
|
|
7788
|
+
occurrenceLocation: "TypeScriptTypesChecker.constructor(compoundParameter)"
|
|
7789
|
+
});
|
|
7790
|
+
}
|
|
7791
|
+
this.vueTSC_ExecutableFileAbsolutePath = vueTSC_ExecutableFileAbsolutePath;
|
|
7792
|
+
}
|
|
7793
|
+
onAnyEventRelatedWithActualFiles() {
|
|
7794
|
+
clearTimeout((0, es_extensions_1.nullToUndefined)(this.waitingForNextWithRelatedFiles));
|
|
7795
|
+
this.waitingForNextWithRelatedFiles = setTimeout(() => {
|
|
7796
|
+
this.checkTypes().catch(es_extensions_1.Logger.logPromiseError);
|
|
7797
|
+
}, (0, es_extensions_1.secondsToMilliseconds)(TypeScriptTypesChecker.WAITING_FOR_NEXT_EVENT_WITH_RELATED_FILES__SECONDS));
|
|
7798
|
+
}
|
|
7799
|
+
async checkTypes() {
|
|
7800
|
+
return new Promise((resolve, reject) => {
|
|
7801
|
+
child_process_1.default.exec(`node ${this.vueTSC_ExecutableFileAbsolutePath} --noEmit`, { encoding: "utf-8" }, (error, stdout) => {
|
|
7802
|
+
if ((0, es_extensions_1.isNotNull)(error)) {
|
|
7803
|
+
es_extensions_1.Logger.logErrorLikeMessage({
|
|
7804
|
+
title: "TypeScript Type Checking, Error(s) Detected",
|
|
7805
|
+
description: "The source code is including the TypeScript error(s).\n" +
|
|
7806
|
+
(this.projectBuildingMasterConfigRepresentative.isProductionLikeBuildingMode ?
|
|
7807
|
+
"Is is unacceptable for production-like modes thus the project building will be terminated." : "") +
|
|
7808
|
+
`${"-".repeat(TypeScriptTypesChecker.DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG)}\n` +
|
|
7809
|
+
stdout
|
|
7810
|
+
});
|
|
7811
|
+
node_notifier_1.default.notify({
|
|
7812
|
+
title: "TypeScript Types Checking, Errors Detected",
|
|
7813
|
+
message: "Please check your terminal for the details."
|
|
7814
|
+
});
|
|
7815
|
+
if (this.projectBuildingMasterConfigRepresentative.isProductionLikeBuildingMode) {
|
|
7816
|
+
reject(error);
|
|
7817
|
+
return;
|
|
7818
|
+
}
|
|
7819
|
+
resolve();
|
|
7820
|
+
return;
|
|
7821
|
+
}
|
|
7822
|
+
es_extensions_1.Logger.logSuccess({
|
|
7823
|
+
title: "TypeScript Type Checking, No Errors Found",
|
|
7824
|
+
description: "The source TypeScript is valid. Keep it up!"
|
|
7825
|
+
});
|
|
7826
|
+
resolve();
|
|
7827
|
+
});
|
|
7828
|
+
});
|
|
7829
|
+
}
|
|
7830
|
+
static getAbsolutePathOfExistingVueTSC_ExecutableFile__alwaysForwardSlashesPathSeparators(consumingProjectRootDirectoryAbsolutePath) {
|
|
7831
|
+
for (const vueTSC_ExecutableFileAbsolutePath__alwaysForwardSlashesPathSeparators of [
|
|
7832
|
+
es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
7833
|
+
consumingProjectRootDirectoryAbsolutePath,
|
|
7834
|
+
"node_modules",
|
|
7835
|
+
".bin",
|
|
7836
|
+
"vue-tsc.js"
|
|
7837
|
+
], { alwaysForwardSlashSeparators: true }),
|
|
7838
|
+
es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
7839
|
+
consumingProjectRootDirectoryAbsolutePath,
|
|
7840
|
+
"node_modules",
|
|
7841
|
+
"@yamato-daiwa",
|
|
7842
|
+
"automation",
|
|
7843
|
+
"node_modules",
|
|
7844
|
+
"vue-tsc",
|
|
7845
|
+
"bin",
|
|
7846
|
+
"vue-tsc.js"
|
|
7847
|
+
], { alwaysForwardSlashSeparators: true })
|
|
7848
|
+
]) {
|
|
7849
|
+
if (fs_1.default.existsSync(vueTSC_ExecutableFileAbsolutePath__alwaysForwardSlashesPathSeparators)) {
|
|
7850
|
+
return vueTSC_ExecutableFileAbsolutePath__alwaysForwardSlashesPathSeparators;
|
|
7851
|
+
}
|
|
7852
|
+
}
|
|
7853
|
+
return null;
|
|
7854
|
+
}
|
|
7855
|
+
}
|
|
7856
|
+
exports["default"] = TypeScriptTypesChecker;
|
|
7857
|
+
|
|
7858
|
+
|
|
7691
7859
|
/***/ }),
|
|
7692
7860
|
|
|
7693
7861
|
/***/ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Utils/ECMA_ScriptLogicEntryPointsSourceFilesAbsolutePathsAndOutputFilesActualPathsMapGenerator.ts":
|
|
@@ -7805,7 +7973,6 @@ const TypeScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPar
|
|
|
7805
7973
|
/* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7806
7974
|
const webpack_1 = __importDefault(__webpack_require__(/*! webpack */ "webpack"));
|
|
7807
7975
|
const vue_loader_1 = __webpack_require__(/*! vue-loader */ "vue-loader");
|
|
7808
|
-
const fork_ts_checker_webpack_plugin_1 = __importDefault(__webpack_require__(/*! fork-ts-checker-webpack-plugin */ "fork-ts-checker-webpack-plugin"));
|
|
7809
7976
|
const webpack_node_externals_1 = __importDefault(__webpack_require__(/*! webpack-node-externals */ "webpack-node-externals"));
|
|
7810
7977
|
/* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7811
7978
|
const path_1 = __importDefault(__webpack_require__(/*! path */ "path"));
|
|
@@ -7816,7 +7983,7 @@ class WebpackConfigGenerator {
|
|
|
7816
7983
|
static cachedTypeScriptConfigurations = {};
|
|
7817
7984
|
/* [ Approach ] Although the parameter is excessive, its properties are been pre-computed externally for other needs,
|
|
7818
7985
|
* so no need to compute them again. */
|
|
7819
|
-
static generateWebpackConfigurationForEntryPointsGroupWithExistingFiles({ entryPointsSourceFilesAbsolutePaths, ECMA_ScriptLogicEntryPointsGroupSettings: entryPointsGroupSettings, ECMA_ScriptLogicProcessingConfigRepresentative, masterConfigRepresentative
|
|
7986
|
+
static generateWebpackConfigurationForEntryPointsGroupWithExistingFiles({ entryPointsSourceFilesAbsolutePaths, ECMA_ScriptLogicEntryPointsGroupSettings: entryPointsGroupSettings, ECMA_ScriptLogicProcessingConfigRepresentative, masterConfigRepresentative }) {
|
|
7820
7987
|
/* [ Reference ] https://webpack.js.org/configuration/entry-context/#context */
|
|
7821
7988
|
const sourceFilesTopDirectoryAbsolutePath = entryPointsGroupSettings.sourceFilesTopDirectoryAbsolutePath;
|
|
7822
7989
|
/** @see https://webpack.js.org/configuration/entry-context/#entry */
|
|
@@ -7840,7 +8007,6 @@ class WebpackConfigGenerator {
|
|
|
7840
8007
|
const willPugLibraryBeBuilt = entryPointsGroupSettings.distributing?.exposingOfExportsFromEntryPoints.mustExpose === true &&
|
|
7841
8008
|
entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.pug;
|
|
7842
8009
|
const distributingSettings = entryPointsGroupSettings.distributing;
|
|
7843
|
-
// TODO Is entryPointsGroupSettings.directoriesAliasesAndCorrespondingAbsolutePathsMap related
|
|
7844
8010
|
return {
|
|
7845
8011
|
name: entryPointsGroupSettings.ID,
|
|
7846
8012
|
/* [ Webpack theory ] In this case, path separators must be operating system dependent, otherwise following error
|
|
@@ -7883,7 +8049,7 @@ class WebpackConfigGenerator {
|
|
|
7883
8049
|
"window" : "module";
|
|
7884
8050
|
case SupportedECMA_ScriptRuntimesTypes.nodeJS: return "commonjs";
|
|
7885
8051
|
case SupportedECMA_ScriptRuntimesTypes.pug: return "umd";
|
|
7886
|
-
|
|
8052
|
+
case SupportedECMA_ScriptRuntimesTypes.webWorker: {
|
|
7887
8053
|
es_extensions_1.Logger.throwErrorAndLog({
|
|
7888
8054
|
errorInstance: new es_extensions_1.UnexpectedEventError("The web worker could not be the library, while the computing of 'output.library.type' has been " +
|
|
7889
8055
|
"requested"),
|
|
@@ -7929,6 +8095,8 @@ class WebpackConfigGenerator {
|
|
|
7929
8095
|
loader: "ts-loader",
|
|
7930
8096
|
options: {
|
|
7931
8097
|
configFile: entryPointsGroupSettings.typeScriptConfigurationFileAbsolutePath,
|
|
8098
|
+
/* [ Performance Optimization ] Type checking is been executed externally and once for all files. */
|
|
8099
|
+
transpileOnly: false,
|
|
7932
8100
|
/* [ Theory ] This option allows TypeScript to process the code extracted from a single file component.
|
|
7933
8101
|
* [ Reference ] https://github.com/Microsoft/TypeScript-Vue-Starter#single-file-components */
|
|
7934
8102
|
appendTsSuffixTo: [/\.vue$/u]
|
|
@@ -8058,24 +8226,6 @@ class WebpackConfigGenerator {
|
|
|
8058
8226
|
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
|
|
8059
8227
|
} : null
|
|
8060
8228
|
}),
|
|
8061
|
-
/* < === Temporary ========================================================================================== */
|
|
8062
|
-
...mustProvideTypeScriptTypeChecking ?
|
|
8063
|
-
[
|
|
8064
|
-
new fork_ts_checker_webpack_plugin_1.default({
|
|
8065
|
-
typescript: {
|
|
8066
|
-
/* [ Theory ] Webpack's "context" is default, but generally "tsconfig.json" could be not in same directory */
|
|
8067
|
-
configFile: entryPointsGroupSettings.typeScriptConfigurationFileAbsolutePath,
|
|
8068
|
-
extensions: {
|
|
8069
|
-
vue: {
|
|
8070
|
-
enabled: true,
|
|
8071
|
-
compiler: "@vue/compiler-sfc"
|
|
8072
|
-
}
|
|
8073
|
-
}
|
|
8074
|
-
}
|
|
8075
|
-
})
|
|
8076
|
-
] :
|
|
8077
|
-
[],
|
|
8078
|
-
/* === Temporary > ========================================================================================== */
|
|
8079
8229
|
new vue_loader_1.VueLoaderPlugin()
|
|
8080
8230
|
],
|
|
8081
8231
|
optimization: {
|
|
@@ -8626,7 +8776,7 @@ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "
|
|
|
8626
8776
|
var MarkupProcessingSettings__FromFile__RawValid;
|
|
8627
8777
|
(function (MarkupProcessingSettings__FromFile__RawValid) {
|
|
8628
8778
|
/* ━━━ Properties Specification ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
8629
|
-
function generateLocalizationPropertiesSpecification(
|
|
8779
|
+
function generateLocalizationPropertiesSpecification({ forEntryPointsGroups }) {
|
|
8630
8780
|
return {
|
|
8631
8781
|
newName: "localization",
|
|
8632
8782
|
type: Object,
|
|
@@ -8682,28 +8832,92 @@ var MarkupProcessingSettings__FromFile__RawValid;
|
|
|
8682
8832
|
$localeConstantValue: {
|
|
8683
8833
|
newName: "localeConstantValue",
|
|
8684
8834
|
type: String,
|
|
8685
|
-
|
|
8835
|
+
undefinedForbiddenIf: {
|
|
8836
|
+
predicate: ({ targetPropertyDotSeparatedPath, rawData__full }) => (0, es_extensions_1.isNotUndefined)((0, es_extensions_1.getObjectPropertySafely)(rawData__full, [
|
|
8837
|
+
/* eslint-disable-next-line @typescript-eslint/no-magic-numbers --
|
|
8838
|
+
* 3 referees to last three elements in paths like
|
|
8839
|
+
* $projectBuilding.$markupProcessing.$entryPointsGroups.Pages.$localization.
|
|
8840
|
+
* $locales.english.$localeConstantValue */
|
|
8841
|
+
...(0, es_extensions_1.splitString)(targetPropertyDotSeparatedPath, ".").slice(0, -3),
|
|
8842
|
+
"$localeConstantName"
|
|
8843
|
+
])),
|
|
8844
|
+
descriptionForLogging: "`$projectBuilding.$markupProcessing." +
|
|
8845
|
+
(forEntryPointsGroups ? "$entryPointsGroups.NNN" : "$common") +
|
|
8846
|
+
".$localization.$localeConstantName` is defined"
|
|
8847
|
+
},
|
|
8686
8848
|
isNullForbidden: true,
|
|
8687
8849
|
minimalCharactersCount: 1
|
|
8688
8850
|
},
|
|
8689
8851
|
$keyInLocalizedStringResourcesObject: {
|
|
8690
8852
|
newName: "keyInLocalizedStringResourcesObject",
|
|
8691
8853
|
type: String,
|
|
8692
|
-
|
|
8854
|
+
undefinedForbiddenIf: {
|
|
8855
|
+
predicate: ({ targetPropertyDotSeparatedPath, rawData__full }) => (0, es_extensions_1.isNotUndefined)((0, es_extensions_1.getObjectPropertySafely)(rawData__full, [
|
|
8856
|
+
/* eslint-disable-next-line @typescript-eslint/no-magic-numbers --
|
|
8857
|
+
* 3 referees to last three elements in paths like
|
|
8858
|
+
* $projectBuilding.$markupProcessing.$entryPointsGroups.Pages.$localization.$locales.
|
|
8859
|
+
* english.$localeConstantValue */
|
|
8860
|
+
...(0, es_extensions_1.splitString)(targetPropertyDotSeparatedPath, ".").slice(0, -3),
|
|
8861
|
+
"$stringResourcesFileRelativePath"
|
|
8862
|
+
])),
|
|
8863
|
+
descriptionForLogging: "`$projectBuilding.$markupProcessing." +
|
|
8864
|
+
(forEntryPointsGroups ? "$entryPointsGroups.NNN" : "$common") +
|
|
8865
|
+
".$localization.$stringResourcesFileRelativePath` is defined"
|
|
8866
|
+
},
|
|
8693
8867
|
isNullForbidden: true,
|
|
8694
8868
|
minimalCharactersCount: 1
|
|
8695
8869
|
},
|
|
8696
8870
|
$valueOfConstantForInterpolationToLangHTML_Attribute: {
|
|
8697
8871
|
newName: "valueOfConstantForInterpolationToLangHTML_Attribute",
|
|
8698
8872
|
type: String,
|
|
8699
|
-
|
|
8873
|
+
undefinedForbiddenIf: {
|
|
8874
|
+
predicate: ({ targetPropertyDotSeparatedPath, rawData__full }) => (0, es_extensions_1.isNotUndefined)((0, es_extensions_1.getObjectPropertySafely)(rawData__full, [
|
|
8875
|
+
/* eslint-disable-next-line @typescript-eslint/no-magic-numbers --
|
|
8876
|
+
* 3 referees to last three elements in paths like
|
|
8877
|
+
* $projectBuilding.$markupProcessing.$entryPointsGroups.Pages.$localization.$locales.
|
|
8878
|
+
* english.$localeConstantValue */
|
|
8879
|
+
...(0, es_extensions_1.splitString)(targetPropertyDotSeparatedPath, ".").slice(0, -3),
|
|
8880
|
+
"$nameOfConstantForInterpolationToLangHTML_Attribute"
|
|
8881
|
+
])),
|
|
8882
|
+
descriptionForLogging: "`$projectBuilding.$markupProcessing." +
|
|
8883
|
+
(forEntryPointsGroups ? "$entryPointsGroups.NNN" : "$common") +
|
|
8884
|
+
".$localization.$nameOfConstantForInterpolationToLangHTML_Attribute` is defined"
|
|
8885
|
+
},
|
|
8700
8886
|
isNullForbidden: true,
|
|
8701
8887
|
minimalCharactersCount: 1
|
|
8702
8888
|
}
|
|
8703
8889
|
}
|
|
8704
8890
|
}
|
|
8705
8891
|
},
|
|
8706
|
-
...
|
|
8892
|
+
...forEntryPointsGroups ?
|
|
8893
|
+
{
|
|
8894
|
+
$excludedFilesPathsRelativeToSourcesFilesTopDirectory: {
|
|
8895
|
+
newName: "excludedFilesPathsRelativeToSourcesFilesTopDirectory",
|
|
8896
|
+
type: Array,
|
|
8897
|
+
isUndefinedForbidden: false,
|
|
8898
|
+
isNullForbidden: true,
|
|
8899
|
+
areUndefinedElementsForbidden: true,
|
|
8900
|
+
areNullElementsForbidden: true,
|
|
8901
|
+
element: {
|
|
8902
|
+
type: String,
|
|
8903
|
+
minimalCharactersCount: 1
|
|
8904
|
+
}
|
|
8905
|
+
}
|
|
8906
|
+
} :
|
|
8907
|
+
{
|
|
8908
|
+
$excludedFilesPathsRelativeRelativeToProjectRootDirectory: {
|
|
8909
|
+
newName: "excludedFilesPathsRelativeRelativeToProjectRootDirectory",
|
|
8910
|
+
type: Array,
|
|
8911
|
+
isUndefinedForbidden: false,
|
|
8912
|
+
isNullForbidden: true,
|
|
8913
|
+
areUndefinedElementsForbidden: true,
|
|
8914
|
+
areNullElementsForbidden: true,
|
|
8915
|
+
element: {
|
|
8916
|
+
type: String,
|
|
8917
|
+
minimalCharactersCount: 1
|
|
8918
|
+
}
|
|
8919
|
+
}
|
|
8920
|
+
}
|
|
8707
8921
|
}
|
|
8708
8922
|
};
|
|
8709
8923
|
}
|
|
@@ -8716,20 +8930,7 @@ var MarkupProcessingSettings__FromFile__RawValid;
|
|
|
8716
8930
|
isUndefinedForbidden: false,
|
|
8717
8931
|
mustTransformNullToUndefined: true,
|
|
8718
8932
|
properties: {
|
|
8719
|
-
$localization: generateLocalizationPropertiesSpecification({
|
|
8720
|
-
$excludedFilesPathsRelativeRelativeToProjectRootDirectory: {
|
|
8721
|
-
newName: "excludedFilesPathsRelativeRelativeToProjectRootDirectory",
|
|
8722
|
-
type: Array,
|
|
8723
|
-
isUndefinedForbidden: false,
|
|
8724
|
-
isNullForbidden: true,
|
|
8725
|
-
areUndefinedElementsForbidden: true,
|
|
8726
|
-
areNullElementsForbidden: true,
|
|
8727
|
-
element: {
|
|
8728
|
-
type: String,
|
|
8729
|
-
minimalCharactersCount: 1
|
|
8730
|
-
}
|
|
8731
|
-
}
|
|
8732
|
-
}),
|
|
8933
|
+
$localization: generateLocalizationPropertiesSpecification({ forEntryPointsGroups: false }),
|
|
8733
8934
|
$buildingModeDependent: {
|
|
8734
8935
|
newName: "buildingModeDependent",
|
|
8735
8936
|
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArray,
|
|
@@ -8927,20 +9128,7 @@ var MarkupProcessingSettings__FromFile__RawValid;
|
|
|
8927
9128
|
isUndefinedForbidden: false,
|
|
8928
9129
|
isNullForbidden: true
|
|
8929
9130
|
},
|
|
8930
|
-
$localization: generateLocalizationPropertiesSpecification({
|
|
8931
|
-
$excludedFilesPathsRelativeToSourcesFilesTopDirectory: {
|
|
8932
|
-
newName: "excludedFilesPathsRelativeToSourcesFilesTopDirectory",
|
|
8933
|
-
type: Array,
|
|
8934
|
-
isUndefinedForbidden: false,
|
|
8935
|
-
isNullForbidden: true,
|
|
8936
|
-
areUndefinedElementsForbidden: true,
|
|
8937
|
-
areNullElementsForbidden: true,
|
|
8938
|
-
element: {
|
|
8939
|
-
type: String,
|
|
8940
|
-
minimalCharactersCount: 1
|
|
8941
|
-
}
|
|
8942
|
-
}
|
|
8943
|
-
}),
|
|
9131
|
+
$localization: generateLocalizationPropertiesSpecification({ forEntryPointsGroups: true }),
|
|
8944
9132
|
$HTML_Validation: {
|
|
8945
9133
|
newName: "HTML_Validation",
|
|
8946
9134
|
type: Object,
|
|
@@ -10446,19 +10634,20 @@ const HTML_ValidatorLocalization_english_1 = __importDefault(__webpack_require__
|
|
|
10446
10634
|
const vnu_jar_1 = __importDefault(__webpack_require__(/*! vnu-jar */ "vnu-jar"));
|
|
10447
10635
|
const DotYDA_DirectoryManager_1 = __importDefault(__webpack_require__(/*! @Utils/DotYDA_DirectoryManager */ "./Utils/DotYDA_DirectoryManager.ts"));
|
|
10448
10636
|
/* ─── Generals Utils ─────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
10449
|
-
const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
|
|
10450
10637
|
const node_child_process_1 = __importDefault(__webpack_require__(/*! node:child_process */ "node:child_process"));
|
|
10451
10638
|
const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
|
|
10452
10639
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
10453
10640
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
10454
10641
|
const nanoid_1 = __webpack_require__(/*! nanoid */ "nanoid");
|
|
10455
10642
|
const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
|
|
10456
|
-
const deleteFilesFromDirectory_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/@yamato-daiwa/es-extensions-nodejs/ImprovedFileSystem/deleteFilesFromDirectory */ "./UtilsIncubator/@yamato-daiwa/es-extensions-nodejs/ImprovedFileSystem/deleteFilesFromDirectory.ts"));
|
|
10457
10643
|
class HTML_Validator {
|
|
10458
10644
|
/* ━━━ Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
10459
10645
|
static selfSingleInstance = null;
|
|
10460
10646
|
/* ─── Work Variables ───────────────────────────────────────────────────────────────────────────────────────────── */
|
|
10461
|
-
|
|
10647
|
+
/* [ Approach ]
|
|
10648
|
+
* Although "queue" usually means the order, here is order does not matter unlike the files' uniqueness that is why
|
|
10649
|
+
* set instead of simple Array used. */
|
|
10650
|
+
queuedFilesMetadata = new Set();
|
|
10462
10651
|
consumingProjectRootDirectoryAbsolutePath;
|
|
10463
10652
|
/* ─── Raw Validations Results Specification (Third-party Library Dependent) ────────────────────────────────────── */
|
|
10464
10653
|
/** @description
|
|
@@ -10674,7 +10863,7 @@ class HTML_Validator {
|
|
|
10674
10863
|
HTML_Validator.
|
|
10675
10864
|
getExpectedToBeInitializedSelfSingleInstance().
|
|
10676
10865
|
queuedFilesMetadata.
|
|
10677
|
-
|
|
10866
|
+
add(targetFileMetadata);
|
|
10678
10867
|
}
|
|
10679
10868
|
static validateQueuedFilesButReportAll() {
|
|
10680
10869
|
HTML_Validator.
|
|
@@ -10710,7 +10899,7 @@ class HTML_Validator {
|
|
|
10710
10899
|
if (!(error instanceof es_extensions_nodejs_1.FileNotFoundError)) {
|
|
10711
10900
|
es_extensions_1.Logger.logError({
|
|
10712
10901
|
errorType: "CachedDataRetrievingFailure",
|
|
10713
|
-
...HTML_Validator.localization.
|
|
10902
|
+
...HTML_Validator.localization.cachedPreviousValidationsResultsDataRetrievingErrorLog({
|
|
10714
10903
|
cachedValidationsResultsFileAbsolutePath: this.absolutePathOfCachedValidationsResultsFile
|
|
10715
10904
|
}),
|
|
10716
10905
|
occurrenceLocation: "HTML_Validator.retrieveCachedPastValidationsResultsFromFileIfItExists" +
|
|
@@ -10738,7 +10927,6 @@ class HTML_Validator {
|
|
|
10738
10927
|
/* ━━━ Private Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
10739
10928
|
/* ─── Validation ───────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
10740
10929
|
async validateQueuedFilesButReportAll() {
|
|
10741
|
-
const validationsResults = (0, es_extensions_1.createMapBasedOnOtherMap)(this.cachedValidationsResults, (filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, { issues }) => [filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, issues]);
|
|
10742
10930
|
/* [ Approach ]
|
|
10743
10931
|
* To get readable logs with code fragment, the original output HTML files can not be used because they possibly
|
|
10744
10932
|
* contains the minified HTML code.
|
|
@@ -10767,13 +10955,7 @@ class HTML_Validator {
|
|
|
10767
10955
|
if (cachedValidationsResultsForCurrentFile?.contentMD5Checksum === HTML_ContentMD5_Hash) {
|
|
10768
10956
|
continue;
|
|
10769
10957
|
}
|
|
10770
|
-
|
|
10771
|
-
// TODO По возмоности, вместо validationsResults используй this.cachedValidationsResults
|
|
10772
|
-
// Возможно в итоге окажется, что validationsResults больше не нужна.
|
|
10773
|
-
// В противном случае потребуется комментарий о том, зачем эта переменная нужна вдобавок к this.cachedValidationsResults
|
|
10774
|
-
// Очистка устаревших данных из validationsResults не объясняет, почему эта переменная нужна.
|
|
10775
|
-
// Что мешает удалить эти данные раз из this.cachedValidationsResults, если данные всё равно устарели?
|
|
10776
|
-
validationsResults.delete(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
|
|
10958
|
+
this.cachedValidationsResults.delete(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
|
|
10777
10959
|
cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, (0, es_extensions_1.splitString)(formattedHTML_Content, "\n"));
|
|
10778
10960
|
const formattedTemporaryHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
10779
10961
|
this.pathRelativeToConsumingProjectRootOfParentDirectoryOfTemporaryFormattedHTML_Files,
|
|
@@ -10794,17 +10976,19 @@ class HTML_Validator {
|
|
|
10794
10976
|
if (this.logging.validationStart) {
|
|
10795
10977
|
es_extensions_1.Logger.logInfo(HTML_Validator.localization.validationStartedInfoLog);
|
|
10796
10978
|
}
|
|
10797
|
-
const validationTimeMeasuringStopwatch = new Stopwatch_1.default().startOrRestart();
|
|
10798
10979
|
/* [ Theory ] If pass no files to Nu HTML Checker, it will fail with the error. */
|
|
10799
10980
|
if (formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly.length === 0) {
|
|
10800
|
-
HTML_Validator.reportValidationsResults(
|
|
10981
|
+
HTML_Validator.reportValidationsResults({
|
|
10982
|
+
validationsResults: this.cachedValidationsResults,
|
|
10983
|
+
validationPeriod__seconds: 0
|
|
10984
|
+
});
|
|
10801
10985
|
return;
|
|
10802
10986
|
}
|
|
10987
|
+
const validationTimeMeasuringStopwatch = new Stopwatch_1.default().startOrRestart();
|
|
10803
10988
|
const rawValidationsResults = await HTML_Validator.getRawValidationsResultsFromNuHTML_Checker(formattedTemporaryHTML_FilesPathsRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
|
|
10804
|
-
|
|
10989
|
+
es_extensions_nodejs_1.ImprovedFileSystem.removeFilesFromDirectory({
|
|
10805
10990
|
directoryPath__absoluteOrRelative: this.absolutePathOfParentDirectoryOfTemporaryFormattedHTML_Files,
|
|
10806
|
-
synchronously: true
|
|
10807
|
-
mustThrowErrorIfSomeFileCanNotBeDeleted: false
|
|
10991
|
+
synchronously: true
|
|
10808
10992
|
});
|
|
10809
10993
|
const rawValidationsResultsInspectionOutput = es_extensions_1.RawObjectDataProcessor.process(rawValidationsResults, HTML_Validator.validationsResultsSpecification);
|
|
10810
10994
|
if (rawValidationsResultsInspectionOutput.isRawDataInvalid) {
|
|
@@ -10813,8 +10997,7 @@ class HTML_Validator {
|
|
|
10813
10997
|
errorType: es_extensions_1.UnexpectedEventError.NAME,
|
|
10814
10998
|
title: es_extensions_1.UnexpectedEventError.localization.defaultTitle,
|
|
10815
10999
|
description: "The Nu HTML Checker does not much with expected one.\n" +
|
|
10816
|
-
es_extensions_1.RawObjectDataProcessor.
|
|
10817
|
-
formatValidationErrorsList(rawValidationsResultsInspectionOutput.validationErrorsMessages),
|
|
11000
|
+
es_extensions_1.RawObjectDataProcessor.formatValidationErrorsList(rawValidationsResultsInspectionOutput.validationErrorsMessages),
|
|
10818
11001
|
occurrenceLocation: "HTML_Validator.validateQueuedFilesButReportAll()",
|
|
10819
11002
|
mustOutputIf: true
|
|
10820
11003
|
});
|
|
@@ -10825,30 +11008,33 @@ class HTML_Validator {
|
|
|
10825
11008
|
* The `messages` property is the array of objects each of which has `message` string property.
|
|
10826
11009
|
* There are could be multiple objects for single file thus sorting by files required first. */
|
|
10827
11010
|
for (const rawValidationIssue of rawValidationsResultsInspectionOutput.processedData.messages) {
|
|
10828
|
-
const
|
|
10829
|
-
relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly.delete(
|
|
10830
|
-
|
|
11011
|
+
const originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly = (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(temporaryFormattedHTML_FilesEncodedURIsAndOriginalHTML_FilesRelativePathsCorrespondence, rawValidationIssue.url);
|
|
11012
|
+
relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly.delete(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly);
|
|
11013
|
+
/* [ Approach ] In the first pass for each file, the value will be undefined. */
|
|
11014
|
+
const issuesOfCurrentFile = this.cachedValidationsResults.
|
|
11015
|
+
get(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly)?.
|
|
11016
|
+
issues;
|
|
10831
11017
|
if ((0, es_extensions_1.isUndefined)(issuesOfCurrentFile)) {
|
|
10832
|
-
|
|
10833
|
-
|
|
10834
|
-
|
|
11018
|
+
this.cachedValidationsResults.set(originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly, {
|
|
11019
|
+
contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files, originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly),
|
|
11020
|
+
issues: [
|
|
11021
|
+
HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files, originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly))
|
|
11022
|
+
]
|
|
11023
|
+
});
|
|
10835
11024
|
continue;
|
|
10836
11025
|
}
|
|
10837
|
-
issuesOfCurrentFile.push(HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files,
|
|
11026
|
+
issuesOfCurrentFile.push(HTML_Validator.normalizeRawValidationIssue(rawValidationIssue, (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(cachedHTML_CodeExplodedToLinesByRelativePathsOfOriginalHTML_Files, originalHTML_FilePathRelativeToConsumingProjectRoot__forwardSlashesSeparatorsOnly)));
|
|
10838
11027
|
}
|
|
10839
11028
|
for (const relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly of relativeToConsumingProjectRootPathsOfOriginalHTML_FilesWillBeValidated__forwardSlashesSeparatorsOnly) {
|
|
10840
|
-
|
|
11029
|
+
this.cachedValidationsResults.set(relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly, {
|
|
11030
|
+
issues: [],
|
|
11031
|
+
contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files, relativeToConsumingProjectRootPathOfOriginalValidHTML_Files__forwardSlashesSeparatorsOnly)
|
|
11032
|
+
});
|
|
10841
11033
|
}
|
|
10842
|
-
validationTimeMeasuringStopwatch.stop();
|
|
10843
|
-
HTML_Validator.reportValidationsResults(validationsResults);
|
|
10844
|
-
this.cachedValidationsResults = (0, es_extensions_1.createMapBasedOnOtherMap)(validationsResults, (filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly, issues) => [
|
|
10845
|
-
filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly,
|
|
10846
|
-
{
|
|
10847
|
-
issues,
|
|
10848
|
-
contentMD5Checksum: (0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(MD5_HashesOfHTML_ContentByRelativePathsOfOriginalHTML_Files, filePathRelativeToConsumingProjectRootDirectory__forwardSlashesSeparatorsOnly)
|
|
10849
|
-
}
|
|
10850
|
-
]);
|
|
11034
|
+
const { seconds: validationPeriod__seconds } = validationTimeMeasuringStopwatch.stop();
|
|
11035
|
+
HTML_Validator.reportValidationsResults({ validationsResults: this.cachedValidationsResults, validationPeriod__seconds });
|
|
10851
11036
|
this.writeCacheToFile();
|
|
11037
|
+
this.queuedFilesMetadata.clear();
|
|
10852
11038
|
}
|
|
10853
11039
|
static async getRawValidationsResultsFromNuHTML_Checker(targetFilesPathRelativeToConsumingProjectRoot__forwardSlashesPathSeparators) {
|
|
10854
11040
|
return new Promise((resolve, reject) => {
|
|
@@ -10950,64 +11136,74 @@ class HTML_Validator {
|
|
|
10950
11136
|
};
|
|
10951
11137
|
}
|
|
10952
11138
|
/* ─── Reporting ────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
10953
|
-
static reportValidationsResults(validationsResults) {
|
|
10954
|
-
|
|
11139
|
+
static reportValidationsResults({ validationsResults, validationPeriod__seconds }) {
|
|
11140
|
+
const filesPathsRelativeToConsumingProjectRootSortedByAlphabet__forwardPathSeparatorsOnly = Array.from(validationsResults.keys()).sort();
|
|
10955
11141
|
let hasAtLeastOneFileWithInvalidHTML = false;
|
|
10956
11142
|
const hasEachFileIssues = new Map();
|
|
10957
11143
|
const formattedIssuesForEachFile = new Map();
|
|
10958
|
-
for (const [
|
|
10959
|
-
|
|
10960
|
-
|
|
11144
|
+
for (const [filePathRelativeToConsumingProjectRoot__forwardPathSeparatorsOnly, { issues }] of validationsResults.entries()) {
|
|
11145
|
+
const hasCurrentFileHTML_ValidityIssues = issues.length > 0;
|
|
11146
|
+
hasEachFileIssues.set(filePathRelativeToConsumingProjectRoot__forwardPathSeparatorsOnly, hasCurrentFileHTML_ValidityIssues);
|
|
11147
|
+
if (hasCurrentFileHTML_ValidityIssues) {
|
|
10961
11148
|
hasAtLeastOneFileWithInvalidHTML = true;
|
|
10962
|
-
formattedIssuesForEachFile.set(
|
|
11149
|
+
formattedIssuesForEachFile.set(filePathRelativeToConsumingProjectRoot__forwardPathSeparatorsOnly, HTML_Validator.formatValidationResultForSingleFile(issues));
|
|
10963
11150
|
}
|
|
10964
11151
|
}
|
|
10965
11152
|
const summary = `${(0, es_extensions_1.surroundLabelByOrnament)({
|
|
10966
|
-
label:
|
|
11153
|
+
label: HTML_Validator.localization.validityIssuesDetectedErrorLog.headings.summary,
|
|
10967
11154
|
ornamentPatten: "━",
|
|
11155
|
+
characterForIndentationAroundLabel: " ",
|
|
10968
11156
|
prependedPartCharactersCount: 3,
|
|
10969
11157
|
totalCharactersCount: HTML_Validator.DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG
|
|
10970
11158
|
})}\n` +
|
|
10971
|
-
|
|
10972
|
-
map((
|
|
11159
|
+
filesPathsRelativeToConsumingProjectRootSortedByAlphabet__forwardPathSeparatorsOnly.
|
|
11160
|
+
map((fileRelativePath__forwardPathSeparatorsOnly) => `${(0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(hasEachFileIssues, fileRelativePath__forwardPathSeparatorsOnly) ?
|
|
11161
|
+
"❌" : "✅"} ` +
|
|
11162
|
+
fileRelativePath__forwardPathSeparatorsOnly).
|
|
10973
11163
|
join("\n");
|
|
10974
11164
|
const detailedReport = `${(0, es_extensions_1.surroundLabelByOrnament)({
|
|
10975
|
-
label:
|
|
11165
|
+
label: HTML_Validator.localization.validityIssuesDetectedErrorLog.headings.details,
|
|
10976
11166
|
ornamentPatten: "━",
|
|
11167
|
+
characterForIndentationAroundLabel: " ",
|
|
10977
11168
|
prependedPartCharactersCount: 3,
|
|
10978
11169
|
totalCharactersCount: HTML_Validator.DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG
|
|
10979
11170
|
})}\n` +
|
|
10980
|
-
|
|
10981
|
-
|
|
10982
|
-
|
|
11171
|
+
filesPathsRelativeToConsumingProjectRootSortedByAlphabet__forwardPathSeparatorsOnly.
|
|
11172
|
+
filter((fileRelativePath__forwardPathSeparatorsOnly) => formattedIssuesForEachFile.has(fileRelativePath__forwardPathSeparatorsOnly)).
|
|
11173
|
+
map((fileRelativePath__forwardPathSeparatorsOnly) => `${(0, es_extensions_1.surroundLabelByOrnament)({
|
|
11174
|
+
label: fileRelativePath__forwardPathSeparatorsOnly,
|
|
11175
|
+
characterForIndentationAroundLabel: "",
|
|
10983
11176
|
ornamentPatten: "─",
|
|
10984
11177
|
prependedPartCharactersCount: 3,
|
|
10985
11178
|
totalCharactersCount: HTML_Validator.DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG
|
|
10986
11179
|
})}\n` +
|
|
10987
|
-
|
|
11180
|
+
(0, es_extensions_1.getExpectedToBeNonUndefinedMapValue)(formattedIssuesForEachFile, fileRelativePath__forwardPathSeparatorsOnly)).
|
|
10988
11181
|
join("\n");
|
|
10989
11182
|
if (hasAtLeastOneFileWithInvalidHTML) {
|
|
10990
11183
|
es_extensions_1.Logger.logErrorLikeMessage({
|
|
10991
|
-
title:
|
|
10992
|
-
description: `${summary}\n\n
|
|
11184
|
+
title: HTML_Validator.localization.validityIssuesDetectedErrorLog.title,
|
|
11185
|
+
description: `${summary}\n\n` +
|
|
11186
|
+
`${detailedReport}\n` +
|
|
11187
|
+
HTML_Validator.localization.validityIssuesDetectedErrorLog.generateSecondsElapsedSentence({ validationPeriod__seconds })
|
|
10993
11188
|
});
|
|
10994
|
-
node_notifier_1.default.notify(HTML_Validator.localization.
|
|
11189
|
+
node_notifier_1.default.notify(HTML_Validator.localization.validityIssuesDetectedToastNotification);
|
|
10995
11190
|
return;
|
|
10996
11191
|
}
|
|
10997
11192
|
es_extensions_1.Logger.logSuccess({
|
|
10998
|
-
title:
|
|
10999
|
-
description:
|
|
11000
|
-
|
|
11001
|
-
Array.from(validationsResults.keys()).
|
|
11193
|
+
title: HTML_Validator.localization.validationFinishedWithoutIssuesSuccessLog.title,
|
|
11194
|
+
description: HTML_Validator.localization.validationFinishedWithoutIssuesSuccessLog.generateDescription({
|
|
11195
|
+
validationPeriod__seconds,
|
|
11196
|
+
preFormattedErrorsMessages: Array.from(validationsResults.keys()).
|
|
11002
11197
|
map((fileRelativePath__forwardPathSeparatorsOnly) => `● ${fileRelativePath__forwardPathSeparatorsOnly}`).
|
|
11003
11198
|
join("\n")
|
|
11199
|
+
})
|
|
11004
11200
|
});
|
|
11005
11201
|
}
|
|
11006
11202
|
/* ─── Formatting ───────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
11007
11203
|
static formatValidationResultForSingleFile(issues) {
|
|
11008
11204
|
const formattedIssues = [];
|
|
11009
11205
|
for (const [index, issue] of issues.entries()) {
|
|
11010
|
-
/* [ Desired
|
|
11206
|
+
/* [ Desired Output Example ]
|
|
11011
11207
|
|
|
11012
11208
|
=== Issue No. 5 =================================================================================================
|
|
11013
11209
|
<div class="NewsFeed"></div><a><span></span><a>Foo<div></div><a>bar</a></a>
|
|
@@ -11023,6 +11219,7 @@ class HTML_Validator {
|
|
|
11023
11219
|
`${(0, es_extensions_1.surroundLabelByOrnament)({
|
|
11024
11220
|
label: HTML_Validator.localization.generateIssueNumberLabel({ issueNumber: index + 1 }),
|
|
11025
11221
|
ornamentPatten: "┄",
|
|
11222
|
+
characterForIndentationAroundLabel: " ",
|
|
11026
11223
|
prependedPartCharactersCount: 3,
|
|
11027
11224
|
totalCharactersCount: HTML_Validator.DISPLAYING_MAXIMAL_COLUMNS_COUNT_IN_LOG
|
|
11028
11225
|
})}\n`,
|
|
@@ -11041,13 +11238,11 @@ class HTML_Validator {
|
|
|
11041
11238
|
return HTML_Validator.localization.issuesTypesTitles.grossViolation;
|
|
11042
11239
|
case HTML_Validator.NormalizedValidationsResults.Issue.Types.info:
|
|
11043
11240
|
return HTML_Validator.localization.issuesTypesTitles.recommendationDisregard;
|
|
11044
|
-
default:
|
|
11045
|
-
return HTML_Validator.localization.issuesTypesTitles.other;
|
|
11046
11241
|
}
|
|
11047
11242
|
})()})\n`,
|
|
11048
|
-
...(
|
|
11243
|
+
...(0, es_extensions_1.isNotUndefined)(issue.lineNumber__numerationFrom1) &&
|
|
11049
11244
|
(0, es_extensions_1.isNotUndefined)(issue.startingColumnNumber__numerationFrom1) &&
|
|
11050
|
-
(0, es_extensions_1.isNotUndefined)(issue.endingColumnNumber__numerationFrom1)
|
|
11245
|
+
(0, es_extensions_1.isNotUndefined)(issue.endingColumnNumber__numerationFrom1) ?
|
|
11051
11246
|
[
|
|
11052
11247
|
HTML_Validator.localization.generateIssueOccurrenceLocationIndication({
|
|
11053
11248
|
lineNumber: issue.lineNumber__numerationFrom1,
|
|
@@ -11064,21 +11259,25 @@ class HTML_Validator {
|
|
|
11064
11259
|
static computeAbsolutePathOfCachedValidationsResultsFileActualForCurrentProjectBuildingMode({ parentDirectoryAbsolutePath, projectBuildingSelectiveExecutionID, consumingProjectBuildingMode }) {
|
|
11065
11260
|
return es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
11066
11261
|
parentDirectoryAbsolutePath,
|
|
11067
|
-
|
|
11262
|
+
[
|
|
11263
|
+
`${HTML_Validator.CACHED_VALIDATIONS_RESULTS_FILE_CONSTANT_NAME_PART}.`,
|
|
11264
|
+
...(0, es_extensions_1.isUndefined)(projectBuildingSelectiveExecutionID) ? [] : [`${projectBuildingSelectiveExecutionID}.`],
|
|
11265
|
+
`${(0, es_extensions_1.toLowerCamelCase)(consumingProjectBuildingMode)}.json`
|
|
11266
|
+
].join(".")
|
|
11068
11267
|
]);
|
|
11069
11268
|
}
|
|
11070
11269
|
writeCacheToFile() {
|
|
11071
|
-
|
|
11072
|
-
targetPath: this.absolutePathOfParentDirectoryOfCachedValidationsResultsFile,
|
|
11073
|
-
mustThrowErrorIfTargetDirectoryExists: false,
|
|
11074
|
-
synchronously: true
|
|
11075
|
-
});
|
|
11270
|
+
/* [ Maintainability ] Keep this variable for easier debugging. */
|
|
11076
11271
|
const cachedValidationsResultsFileContent = Array.from(this.cachedValidationsResults.entries()).
|
|
11077
11272
|
reduce((accumulatingValue, [filePathRelativeToConsumingProjectRootDirectory, cachedValidationRawResultsForSpecificFile]) => {
|
|
11078
11273
|
accumulatingValue[filePathRelativeToConsumingProjectRootDirectory] = cachedValidationRawResultsForSpecificFile;
|
|
11079
11274
|
return accumulatingValue;
|
|
11080
11275
|
}, {});
|
|
11081
|
-
|
|
11276
|
+
es_extensions_nodejs_1.ImprovedFileSystem.writeFileToPossiblyNotExistingDirectory({
|
|
11277
|
+
filePath: this.absolutePathOfParentDirectoryOfCachedValidationsResultsFile,
|
|
11278
|
+
content: JSON.stringify(cachedValidationsResultsFileContent, null, 2),
|
|
11279
|
+
synchronously: true
|
|
11280
|
+
});
|
|
11082
11281
|
}
|
|
11083
11282
|
/* ━━━ Routines ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
11084
11283
|
static getExpectedToBeInitializedSelfSingleInstance() {
|
|
@@ -11102,17 +11301,15 @@ class HTML_Validator {
|
|
|
11102
11301
|
(function (Types) {
|
|
11103
11302
|
Types["info"] = "info";
|
|
11104
11303
|
Types["error"] = "error";
|
|
11105
|
-
Types["nonDocumentError"] = "non-document-error";
|
|
11106
|
-
Types["networkError"] = "network-error";
|
|
11107
11304
|
})(Types = Issue.Types || (Issue.Types = {}));
|
|
11108
|
-
let
|
|
11109
|
-
(function (
|
|
11110
|
-
|
|
11111
|
-
|
|
11112
|
-
|
|
11113
|
-
|
|
11114
|
-
|
|
11115
|
-
})(
|
|
11305
|
+
let SubTypes;
|
|
11306
|
+
(function (SubTypes) {
|
|
11307
|
+
SubTypes["warning"] = "warning";
|
|
11308
|
+
SubTypes["fatal"] = "fatal";
|
|
11309
|
+
SubTypes["io"] = "io";
|
|
11310
|
+
SubTypes["schema"] = "schema";
|
|
11311
|
+
SubTypes["internal"] = "internal";
|
|
11312
|
+
})(SubTypes = Issue.SubTypes || (Issue.SubTypes = {}));
|
|
11116
11313
|
})(Issue = NormalizedValidationsResults.Issue || (NormalizedValidationsResults.Issue = {}));
|
|
11117
11314
|
})(NormalizedValidationsResults = HTML_Validator.NormalizedValidationsResults || (HTML_Validator.NormalizedValidationsResults = {}));
|
|
11118
11315
|
})(HTML_Validator || (HTML_Validator = {}));
|
|
@@ -11130,7 +11327,7 @@ exports["default"] = HTML_Validator;
|
|
|
11130
11327
|
|
|
11131
11328
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
11132
11329
|
const HTML_ValidatorLocalization__english = {
|
|
11133
|
-
|
|
11330
|
+
cachedPreviousValidationsResultsDataRetrievingErrorLog: ({ cachedValidationsResultsFileAbsolutePath }) => ({
|
|
11134
11331
|
title: "Cached Previous Validations Data Retrieving Failure",
|
|
11135
11332
|
description: "Unable to read and/or parse the existing HTML validation cache file " +
|
|
11136
11333
|
`"${cachedValidationsResultsFileAbsolutePath}".`
|
|
@@ -11139,12 +11336,27 @@ const HTML_ValidatorLocalization__english = {
|
|
|
11139
11336
|
title: "HTML Code Validation Started",
|
|
11140
11337
|
description: "Validating the output HTML files..."
|
|
11141
11338
|
},
|
|
11142
|
-
|
|
11143
|
-
|
|
11144
|
-
|
|
11145
|
-
|
|
11339
|
+
validityIssuesDetectedErrorLog: {
|
|
11340
|
+
title: "HTML Validation, Issue(s) Detected",
|
|
11341
|
+
headings: {
|
|
11342
|
+
summary: "Summary",
|
|
11343
|
+
details: "Details"
|
|
11344
|
+
},
|
|
11345
|
+
generateSecondsElapsedSentence: ({ validationPeriod__seconds }) => `Seconds elapsed: ${validationPeriod__seconds}`
|
|
11146
11346
|
},
|
|
11147
|
-
|
|
11347
|
+
validityIssuesDetectedToastNotification: {
|
|
11348
|
+
title: "HTML Validation, Issue(s) Detected",
|
|
11349
|
+
message: "W3C rules violations and / or recommendations neglect detected. " +
|
|
11350
|
+
"Check the console for the details."
|
|
11351
|
+
},
|
|
11352
|
+
validationFinishedWithoutIssuesSuccessLog: {
|
|
11353
|
+
title: "HTML Validation, All Valid",
|
|
11354
|
+
generateDescription: ({ validationPeriod__seconds, preFormattedErrorsMessages }) => "All HTML files (except excluded ones if any) contains valid HTML. " +
|
|
11355
|
+
"The following files has been checked:\n" +
|
|
11356
|
+
`${preFormattedErrorsMessages}\n` +
|
|
11357
|
+
`Seconds elapsed: ${validationPeriod__seconds}`
|
|
11358
|
+
},
|
|
11359
|
+
generateIssueNumberLabel: ({ issueNumber }) => `Issue No. ${issueNumber}`,
|
|
11148
11360
|
generateIssueOccurrenceLocationIndication: ({ lineNumber, startingColumnNumber, lastColumnNumber }) => `At line ${lineNumber}, columns ${startingColumnNumber}-${lastColumnNumber}`,
|
|
11149
11361
|
issuesTypesTitles: {
|
|
11150
11362
|
grossViolation: "Gross violation",
|
|
@@ -12103,7 +12315,6 @@ const SourceCodeProcessingRawSettingsNormalizer_1 = __importDefault(__webpack_re
|
|
|
12103
12315
|
const RoutingSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/RawSettingsNormalizer/RoutingSettingsNormalizer */ "./ProjectBuilding/SourceCodeProcessing/Markup/RawSettingsNormalizer/RoutingSettingsNormalizer.ts"));
|
|
12104
12316
|
/* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
12105
12317
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
12106
|
-
const removeMultipleElementsFromSetByPredicate_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Set/removeMultipleElementsFromSetByPredicate */ "./UtilsIncubator/Set/removeMultipleElementsFromSetByPredicate.ts"));
|
|
12107
12318
|
const isSubdirectory_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/NodeJS/isSubdirectory */ "./UtilsIncubator/NodeJS/isSubdirectory.ts"));
|
|
12108
12319
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
12109
12320
|
/* ─── Localization ───────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
@@ -12149,7 +12360,6 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
|
|
|
12149
12360
|
pagesVariations: dataHoldingSelfInstance.normalizeStaticPreviewPagesVariationsSettings(),
|
|
12150
12361
|
importsFromStaticDataFiles: dataHoldingSelfInstance.normalizeImportsFromStaticDataFiles()
|
|
12151
12362
|
},
|
|
12152
|
-
/* TODO Replace value of `absolutePathsOfSectioningToCache`. https://trello.com/c/RJfFF7oh */
|
|
12153
12363
|
...(0, es_extensions_1.isNotUndefined)(markupProcessingSettings__fromFile__rawValid.routing) ? {
|
|
12154
12364
|
routing: {
|
|
12155
12365
|
variable: markupProcessingSettings__fromFile__rawValid.routing.variable,
|
|
@@ -12526,7 +12736,7 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
|
|
|
12526
12736
|
excludedFilesPathsRelativeToSourcesFilesTopDirectory?.
|
|
12527
12737
|
map((excludedFilePathRelativeRelativeToSourcesFileTopDirectory) => es_extensions_nodejs_1.ImprovedPath.joinPathSegments([sourceFilesTopDirectoryAbsolutePath, excludedFilePathRelativeRelativeToSourcesFileTopDirectory], { alwaysForwardSlashSeparators: true })) ??
|
|
12528
12738
|
[]).
|
|
12529
|
-
concat(Array.from((0,
|
|
12739
|
+
concat(Array.from((0, es_extensions_1.removeMultipleElementsFromSetByPredicate)({
|
|
12530
12740
|
targetSet: this.unusedCommonlyExcludedFromLocalizationEntryPointsSourceFilesAbsolutePaths,
|
|
12531
12741
|
predicate: (commonlyExcludedFromLocalizationEntryPointsSourceFileAbsolutePath) => (0, isSubdirectory_1.default)({
|
|
12532
12742
|
whichPath: commonlyExcludedFromLocalizationEntryPointsSourceFileAbsolutePath,
|
|
@@ -12625,7 +12835,7 @@ const markupProcessingRawSettingsNormalizerLocalization__english = {
|
|
|
12625
12835
|
`paths has not been specified for the "${consumingProjectBuildingMode}" building mode. ` +
|
|
12626
12836
|
"The resources references will be resolved to relative paths instead. " +
|
|
12627
12837
|
"If you wish these references be resolved to relative path, set \"$projectBuilding.$markupProcessing.$common." +
|
|
12628
|
-
"$buildingModeDependent.[PROJECT_BUILDING_MODE].$
|
|
12838
|
+
"$buildingModeDependent.[PROJECT_BUILDING_MODE].$mustResolveResourcesPointersToRelativePaths\" " +
|
|
12629
12839
|
`to true for the "${consumingProjectBuildingMode}" building mode.`
|
|
12630
12840
|
}),
|
|
12631
12841
|
generateStaticPreviewStateDependentPagesVariationsSpecificationFileReadingFailedMessage: (templateVariables) => "Failed to read the static preview state dependent pages variations specification file at " +
|
|
@@ -15844,6 +16054,21 @@ class VinylFileClass extends vinyl_1.default {
|
|
|
15844
16054
|
exports["default"] = VinylFileClass;
|
|
15845
16055
|
|
|
15846
16056
|
|
|
16057
|
+
/***/ }),
|
|
16058
|
+
|
|
16059
|
+
/***/ "./Utils/VoidPromiseReturningFunction.ts":
|
|
16060
|
+
/*!***********************************************!*\
|
|
16061
|
+
!*** ./Utils/VoidPromiseReturningFunction.ts ***!
|
|
16062
|
+
\***********************************************/
|
|
16063
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
16064
|
+
|
|
16065
|
+
|
|
16066
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
16067
|
+
exports.voidPromiseReturningFunction = void 0;
|
|
16068
|
+
const voidPromiseReturningFunction = async () => Promise.resolve();
|
|
16069
|
+
exports.voidPromiseReturningFunction = voidPromiseReturningFunction;
|
|
16070
|
+
|
|
16071
|
+
|
|
15847
16072
|
/***/ }),
|
|
15848
16073
|
|
|
15849
16074
|
/***/ "./Utils/createImmediatelyEndingEmptyStream.ts":
|
|
@@ -15883,59 +16108,6 @@ function extractStringifiedContentFromVinylFile(targetFile) {
|
|
|
15883
16108
|
}
|
|
15884
16109
|
|
|
15885
16110
|
|
|
15886
|
-
/***/ }),
|
|
15887
|
-
|
|
15888
|
-
/***/ "./UtilsIncubator/@yamato-daiwa/es-extensions-nodejs/ImprovedFileSystem/deleteFilesFromDirectory.ts":
|
|
15889
|
-
/*!**********************************************************************************************************!*\
|
|
15890
|
-
!*** ./UtilsIncubator/@yamato-daiwa/es-extensions-nodejs/ImprovedFileSystem/deleteFilesFromDirectory.ts ***!
|
|
15891
|
-
\**********************************************************************************************************/
|
|
15892
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
15893
|
-
|
|
15894
|
-
|
|
15895
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15896
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15897
|
-
};
|
|
15898
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
15899
|
-
exports["default"] = deleteFilesFromDirectory;
|
|
15900
|
-
const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
|
|
15901
|
-
const promises_1 = __importDefault(__webpack_require__(/*! fs/promises */ "fs/promises"));
|
|
15902
|
-
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
15903
|
-
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
15904
|
-
function deleteFilesFromDirectory({ directoryPath__absoluteOrRelative, targetFileNamesExtensions, mustThrowErrorIfSomeFileCanNotBeDeleted, synchronously }) {
|
|
15905
|
-
const targetFilesAbsolutePaths = es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously([
|
|
15906
|
-
es_extensions_nodejs_1.ImprovedGlob.buildAllFilesInCurrentDirectoryAndBelowGlobSelector({
|
|
15907
|
-
basicDirectoryPath: directoryPath__absoluteOrRelative,
|
|
15908
|
-
fileNamesExtensions: targetFileNamesExtensions
|
|
15909
|
-
})
|
|
15910
|
-
]);
|
|
15911
|
-
if (synchronously) {
|
|
15912
|
-
for (const targetFilesAbsolutePath of targetFilesAbsolutePaths) {
|
|
15913
|
-
try {
|
|
15914
|
-
fs_1.default.unlinkSync(targetFilesAbsolutePath);
|
|
15915
|
-
}
|
|
15916
|
-
catch (error) {
|
|
15917
|
-
if (mustThrowErrorIfSomeFileCanNotBeDeleted) {
|
|
15918
|
-
es_extensions_1.Logger.throwErrorAndLog({
|
|
15919
|
-
errorType: "FileDeletingFailure",
|
|
15920
|
-
title: "File Deleting Failed",
|
|
15921
|
-
description: `The error has occurred during deleting of the file with path "${targetFilesAbsolutePath}".`,
|
|
15922
|
-
occurrenceLocation: "deleteFilesFromDirectory(compoundParameter)",
|
|
15923
|
-
innerError: error
|
|
15924
|
-
});
|
|
15925
|
-
}
|
|
15926
|
-
}
|
|
15927
|
-
}
|
|
15928
|
-
return;
|
|
15929
|
-
}
|
|
15930
|
-
return new Promise((resolve, reject) => {
|
|
15931
|
-
Promise.
|
|
15932
|
-
all(targetFilesAbsolutePaths.map(async (targetFilesAbsolutePath) => promises_1.default.unlink(targetFilesAbsolutePath))).
|
|
15933
|
-
then(resolve).
|
|
15934
|
-
catch(reject);
|
|
15935
|
-
});
|
|
15936
|
-
}
|
|
15937
|
-
|
|
15938
|
-
|
|
15939
16111
|
/***/ }),
|
|
15940
16112
|
|
|
15941
16113
|
/***/ "./UtilsIncubator/NodeJS/isSubdirectory.ts":
|
|
@@ -15957,32 +16129,6 @@ function isSubdirectory({ whichPath, ofWhichPath }) {
|
|
|
15957
16129
|
}
|
|
15958
16130
|
|
|
15959
16131
|
|
|
15960
|
-
/***/ }),
|
|
15961
|
-
|
|
15962
|
-
/***/ "./UtilsIncubator/Set/removeMultipleElementsFromSetByPredicate.ts":
|
|
15963
|
-
/*!************************************************************************!*\
|
|
15964
|
-
!*** ./UtilsIncubator/Set/removeMultipleElementsFromSetByPredicate.ts ***!
|
|
15965
|
-
\************************************************************************/
|
|
15966
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
15967
|
-
|
|
15968
|
-
|
|
15969
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
15970
|
-
exports["default"] = removeMultipleElementsFromSetByPredicate;
|
|
15971
|
-
function removeMultipleElementsFromSetByPredicate({ targetSet, predicate }) {
|
|
15972
|
-
const removedElements = [];
|
|
15973
|
-
for (const element of targetSet) {
|
|
15974
|
-
if (predicate(element)) {
|
|
15975
|
-
targetSet.delete(element);
|
|
15976
|
-
removedElements.push(element);
|
|
15977
|
-
}
|
|
15978
|
-
}
|
|
15979
|
-
return {
|
|
15980
|
-
updatedSet: targetSet,
|
|
15981
|
-
removedElements
|
|
15982
|
-
};
|
|
15983
|
-
}
|
|
15984
|
-
|
|
15985
|
-
|
|
15986
16132
|
/***/ }),
|
|
15987
16133
|
|
|
15988
16134
|
/***/ "./UtilsIncubator/Stopwatch.ts":
|
|
@@ -16113,6 +16259,16 @@ module.exports = require("browser-sync");
|
|
|
16113
16259
|
|
|
16114
16260
|
/***/ }),
|
|
16115
16261
|
|
|
16262
|
+
/***/ "child_process":
|
|
16263
|
+
/*!********************************!*\
|
|
16264
|
+
!*** external "child_process" ***!
|
|
16265
|
+
\********************************/
|
|
16266
|
+
/***/ ((module) => {
|
|
16267
|
+
|
|
16268
|
+
module.exports = require("child_process");
|
|
16269
|
+
|
|
16270
|
+
/***/ }),
|
|
16271
|
+
|
|
16116
16272
|
/***/ "cssnano":
|
|
16117
16273
|
/*!**************************!*\
|
|
16118
16274
|
!*** external "cssnano" ***!
|
|
@@ -16143,16 +16299,6 @@ module.exports = require("eslint");
|
|
|
16143
16299
|
|
|
16144
16300
|
/***/ }),
|
|
16145
16301
|
|
|
16146
|
-
/***/ "fork-ts-checker-webpack-plugin":
|
|
16147
|
-
/*!*************************************************!*\
|
|
16148
|
-
!*** external "fork-ts-checker-webpack-plugin" ***!
|
|
16149
|
-
\*************************************************/
|
|
16150
|
-
/***/ ((module) => {
|
|
16151
|
-
|
|
16152
|
-
module.exports = require("fork-ts-checker-webpack-plugin");
|
|
16153
|
-
|
|
16154
|
-
/***/ }),
|
|
16155
|
-
|
|
16156
16302
|
/***/ "fs":
|
|
16157
16303
|
/*!*********************!*\
|
|
16158
16304
|
!*** external "fs" ***!
|
|
@@ -16163,16 +16309,6 @@ module.exports = require("fs");
|
|
|
16163
16309
|
|
|
16164
16310
|
/***/ }),
|
|
16165
16311
|
|
|
16166
|
-
/***/ "fs/promises":
|
|
16167
|
-
/*!******************************!*\
|
|
16168
|
-
!*** external "fs/promises" ***!
|
|
16169
|
-
\******************************/
|
|
16170
|
-
/***/ ((module) => {
|
|
16171
|
-
|
|
16172
|
-
module.exports = require("fs/promises");
|
|
16173
|
-
|
|
16174
|
-
/***/ }),
|
|
16175
|
-
|
|
16176
16312
|
/***/ "gulp":
|
|
16177
16313
|
/*!***********************!*\
|
|
16178
16314
|
!*** external "gulp" ***!
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yamato-daiwa/automation",
|
|
3
|
-
"version": "0.7.0
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The project building tool with declarative YAML configuration specializing on Pug, Stylus and TypeScript as source code languages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"build",
|
|
@@ -20,26 +20,25 @@
|
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@eslint-community/eslint-plugin-eslint-comments": "4.5.0",
|
|
23
|
-
"@stylistic/eslint-plugin": "
|
|
24
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
25
|
-
"@typescript-eslint/parser": "8.
|
|
26
|
-
"@vue/compiler-sfc": "3.5.
|
|
23
|
+
"@stylistic/eslint-plugin": "5.2.2",
|
|
24
|
+
"@typescript-eslint/eslint-plugin": "8.38.0",
|
|
25
|
+
"@typescript-eslint/parser": "8.38.0",
|
|
26
|
+
"@vue/compiler-sfc": "3.5.18",
|
|
27
27
|
"@webdiscus/pug-loader": "2.11.1",
|
|
28
|
-
"@yamato-daiwa/es-extensions": "1.8.0-
|
|
29
|
-
"@yamato-daiwa/es-extensions-nodejs": "1.8.0-
|
|
30
|
-
"@yamato-daiwa/style_guides": "0.
|
|
28
|
+
"@yamato-daiwa/es-extensions": "1.8.0-rc.1",
|
|
29
|
+
"@yamato-daiwa/es-extensions-nodejs": "1.8.0-rc.1",
|
|
30
|
+
"@yamato-daiwa/style_guides": "0.8.1",
|
|
31
31
|
"autoprefixer": "10.4.21",
|
|
32
32
|
"browser-sync": "3.0.4",
|
|
33
33
|
"css-loader": "7.1.2",
|
|
34
|
-
"cssnano": "7.0
|
|
34
|
+
"cssnano": "7.1.0",
|
|
35
35
|
"dotenv": "16.5.0",
|
|
36
|
-
"eslint": "9.
|
|
37
|
-
"eslint-plugin-import": "2.
|
|
38
|
-
"eslint-plugin-n": "17.
|
|
36
|
+
"eslint": "9.32.0",
|
|
37
|
+
"eslint-plugin-import": "2.32.0",
|
|
38
|
+
"eslint-plugin-n": "17.21.3",
|
|
39
39
|
"eslint-plugin-react": "7.37.5",
|
|
40
40
|
"eslint-plugin-vue": "9.33.0",
|
|
41
41
|
"eslint-plugin-vue-pug": "0.6.2",
|
|
42
|
-
"fork-ts-checker-webpack-plugin": "7.3.0",
|
|
43
42
|
"gulp": "4.0.2",
|
|
44
43
|
"gulp-data": "1.3.1",
|
|
45
44
|
"gulp-if": "3.0.0",
|
|
@@ -74,8 +73,8 @@
|
|
|
74
73
|
"vnu-jar": "24.10.17",
|
|
75
74
|
"vue-loader": "17.4.2",
|
|
76
75
|
"vue-style-loader": "4.1.3",
|
|
77
|
-
"vue-tsc": "
|
|
78
|
-
"webpack": "5.
|
|
76
|
+
"vue-tsc": "3.0.5",
|
|
77
|
+
"webpack": "5.101.0",
|
|
79
78
|
"webpack-node-externals": "3.0.0",
|
|
80
79
|
"webpack-stream": "7.0.0",
|
|
81
80
|
"worker-loader": "3.0.8",
|
|
@@ -85,7 +84,7 @@
|
|
|
85
84
|
"@types/browser-sync": "2.29.0",
|
|
86
85
|
"@types/cssnano": "5.0.0",
|
|
87
86
|
"@types/gulp": "4.0.17",
|
|
88
|
-
"@types/gulp-if": "3.0.
|
|
87
|
+
"@types/gulp-if": "3.0.5",
|
|
89
88
|
"@types/gulp-imagemin": "7.0.3",
|
|
90
89
|
"@types/gulp-nodemon": "0.0.37",
|
|
91
90
|
"@types/gulp-plumber": "0.0.37",
|