@yamato-daiwa/automation 0.0.10 → 0.1.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 +370 -317
- package/package.json +10 -9
package/EntryPoint.js
CHANGED
|
@@ -72,6 +72,9 @@ const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensio
|
|
|
72
72
|
const path_1 = __importDefault(__webpack_require__(/*! path */ "path"));
|
|
73
73
|
const yamljs_1 = __importDefault(__webpack_require__(/*! yamljs */ "yamljs"));
|
|
74
74
|
class EntryPoint {
|
|
75
|
+
static {
|
|
76
|
+
es_extensions_1.Logger.setImplementation(es_extensions_nodejs_1.ConsoleApplicationLogger);
|
|
77
|
+
}
|
|
75
78
|
static interpretAndExecuteConsoleCommand(rawConsoleCommand) {
|
|
76
79
|
const parsedConsoleCommand = es_extensions_nodejs_1.ConsoleCommandsParser.parse(rawConsoleCommand, ApplicationConsoleLineInterface_1.default.specification);
|
|
77
80
|
if (true) {
|
|
@@ -113,9 +116,6 @@ class EntryPoint {
|
|
|
113
116
|
}
|
|
114
117
|
}
|
|
115
118
|
}
|
|
116
|
-
static {
|
|
117
|
-
es_extensions_1.Logger.setImplementation(es_extensions_nodejs_1.ConsoleApplicationLogger);
|
|
118
|
-
}
|
|
119
119
|
}
|
|
120
120
|
exports["default"] = EntryPoint;
|
|
121
121
|
|
|
@@ -291,12 +291,14 @@ const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_requi
|
|
|
291
291
|
class AudiosProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
|
|
292
292
|
TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Audio";
|
|
293
293
|
TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Audios";
|
|
294
|
+
relevantSourceFilesGlobSelectors;
|
|
294
295
|
assetsProcessingCommonSettings;
|
|
295
296
|
actualAssetsGroupsSettings;
|
|
296
297
|
constructor(audiosManagementSettings, masterConfigRepresentative) {
|
|
297
298
|
super(masterConfigRepresentative);
|
|
298
299
|
this.assetsProcessingCommonSettings = audiosManagementSettings.common;
|
|
299
300
|
this.actualAssetsGroupsSettings = audiosManagementSettings.assetsGroups;
|
|
301
|
+
this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
|
|
300
302
|
}
|
|
301
303
|
}
|
|
302
304
|
exports["default"] = AudiosProcessingSettingsRepresentative;
|
|
@@ -497,13 +499,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
497
499
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
498
500
|
const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/AssetsProcessingSettingsRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/AssetsProcessingSettingsRepresentative.ts"));
|
|
499
501
|
class FontsProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
|
|
502
|
+
TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Font";
|
|
500
503
|
TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Fonts";
|
|
504
|
+
relevantSourceFilesGlobSelectors;
|
|
501
505
|
assetsProcessingCommonSettings;
|
|
502
506
|
actualAssetsGroupsSettings;
|
|
503
507
|
constructor(imagesManagementSettings, masterConfigRepresentative) {
|
|
504
508
|
super(masterConfigRepresentative);
|
|
505
509
|
this.assetsProcessingCommonSettings = imagesManagementSettings.common;
|
|
506
510
|
this.actualAssetsGroupsSettings = imagesManagementSettings.assetsGroups;
|
|
511
|
+
this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
|
|
507
512
|
}
|
|
508
513
|
}
|
|
509
514
|
exports["default"] = FontsProcessingSettingsRepresentative;
|
|
@@ -705,12 +710,14 @@ const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_requi
|
|
|
705
710
|
class ImagesProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
|
|
706
711
|
TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Image";
|
|
707
712
|
TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Images";
|
|
713
|
+
relevantSourceFilesGlobSelectors;
|
|
708
714
|
assetsProcessingCommonSettings;
|
|
709
715
|
actualAssetsGroupsSettings;
|
|
710
716
|
constructor(imagesManagementSettings, masterConfigRepresentative) {
|
|
711
717
|
super(masterConfigRepresentative);
|
|
712
718
|
this.assetsProcessingCommonSettings = imagesManagementSettings.common;
|
|
713
719
|
this.actualAssetsGroupsSettings = imagesManagementSettings.assetsGroups;
|
|
720
|
+
this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
|
|
714
721
|
}
|
|
715
722
|
}
|
|
716
723
|
exports["default"] = ImagesProcessingSettingsRepresentative;
|
|
@@ -803,7 +810,7 @@ class ImagesProcessor extends GulpStreamsBasedAssetsProcessor_1.default {
|
|
|
803
810
|
pipe(super.printProcessedFilesPathsAndQuantity()).
|
|
804
811
|
pipe(super.handleErrorIfItWillOccur()).
|
|
805
812
|
pipe((0, gulp_intercept_1.default)(this.addActualSourceCodeProcessingSettingsToVinylFile.bind(this))).
|
|
806
|
-
pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isProductionBuildingMode, (0, gulp_imagemin_1.default)([
|
|
813
|
+
pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isStagingBuildingMode || this.masterConfigRepresentative.isProductionBuildingMode, (0, gulp_imagemin_1.default)([
|
|
807
814
|
gulp_imagemin_1.default.mozjpeg({ progressive: true }),
|
|
808
815
|
gulp_imagemin_1.default.gifsicle({ interlaced: true }),
|
|
809
816
|
gulp_imagemin_1.default.svgo({}),
|
|
@@ -921,12 +928,14 @@ const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_requi
|
|
|
921
928
|
class VideosProcessingSettingsRepresentative extends AssetsProcessingSettingsRepresentative_1.default {
|
|
922
929
|
TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Video";
|
|
923
930
|
TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Videos";
|
|
931
|
+
relevantSourceFilesGlobSelectors;
|
|
924
932
|
assetsProcessingCommonSettings;
|
|
925
933
|
actualAssetsGroupsSettings;
|
|
926
934
|
constructor(videosManagementSettings, masterConfigRepresentative) {
|
|
927
935
|
super(masterConfigRepresentative);
|
|
928
936
|
this.assetsProcessingCommonSettings = videosManagementSettings.common;
|
|
929
937
|
this.actualAssetsGroupsSettings = videosManagementSettings.assetsGroups;
|
|
938
|
+
this.relevantSourceFilesGlobSelectors = Array.from(this.actualAssetsGroupsSettings.values()).map((imagesGroupSettings) => imagesGroupSettings.sourceFilesGlobSelector);
|
|
930
939
|
}
|
|
931
940
|
}
|
|
932
941
|
exports["default"] = VideosProcessingSettingsRepresentative;
|
|
@@ -1078,6 +1087,7 @@ class BrowserLiveReloader {
|
|
|
1078
1087
|
baseDir: browserLiveReloadingConfigRepresentative.targetFilesRootDirectoryAbsolutePath,
|
|
1079
1088
|
index: browserLiveReloadingConfigRepresentative.startingFilenameWithExtension
|
|
1080
1089
|
},
|
|
1090
|
+
browser: "chrome",
|
|
1081
1091
|
...(0, es_extensions_1.isNotNull)(browserLiveReloadingConfigRepresentative.customMainPort) ? {
|
|
1082
1092
|
port: browserLiveReloadingConfigRepresentative.customMainPort
|
|
1083
1093
|
} : {},
|
|
@@ -1349,7 +1359,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
1349
1359
|
const ConsumingProjectPreDefinedBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Defaults/ConsumingProjectPreDefinedBuildingModes */ "./ProjectBuilding/Common/Defaults/ConsumingProjectPreDefinedBuildingModes.ts"));
|
|
1350
1360
|
exports["default"] = {
|
|
1351
1361
|
revisioning: {
|
|
1352
|
-
mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.
|
|
1362
|
+
mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview &&
|
|
1363
|
+
projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.development,
|
|
1353
1364
|
contentHashPostfixSeparator: "--"
|
|
1354
1365
|
}
|
|
1355
1366
|
};
|
|
@@ -1381,6 +1392,7 @@ exports["default"] = CONFIG_FILE_DEFAULT_NAME_WITH_EXTENSION;
|
|
|
1381
1392
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1382
1393
|
var ConsumingProjectPreDefinedBuildingModes;
|
|
1383
1394
|
(function (ConsumingProjectPreDefinedBuildingModes) {
|
|
1395
|
+
ConsumingProjectPreDefinedBuildingModes["staticPreview"] = "STATIC_PREVIEW";
|
|
1384
1396
|
ConsumingProjectPreDefinedBuildingModes["development"] = "DEVELOPMENT";
|
|
1385
1397
|
ConsumingProjectPreDefinedBuildingModes["testing"] = "TESTING";
|
|
1386
1398
|
ConsumingProjectPreDefinedBuildingModes["staging"] = "STAGING";
|
|
@@ -1491,11 +1503,9 @@ var AssetsProcessingSettingsGenericProperties__FromFile__RawValid;
|
|
|
1491
1503
|
newName: "buildingModeDependent",
|
|
1492
1504
|
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
|
|
1493
1505
|
required: true,
|
|
1494
|
-
|
|
1495
|
-
consumingProjectLocalizedPreDefinedBuildingModes.development,
|
|
1496
|
-
consumingProjectLocalizedPreDefinedBuildingModes.production
|
|
1497
|
-
],
|
|
1506
|
+
minimalEntriesCount: 1,
|
|
1498
1507
|
keysRenamings: {
|
|
1508
|
+
[consumingProjectLocalizedPreDefinedBuildingModes.staticPreview]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
|
|
1499
1509
|
[consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
|
|
1500
1510
|
[consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
|
|
1501
1511
|
[consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
|
|
@@ -1932,7 +1942,7 @@ class SourceCodeProcessingRawSettingsNormalizer {
|
|
|
1932
1942
|
}
|
|
1933
1943
|
createNormalizedEntryPointsGroupsSettings(entryPointsGroupsSettings__rawValid, completeEntryPointsGroupNormalizedSettingsGeneralPropertiesUntilSpecificEntryPointsGroupNormalizedSettings) {
|
|
1934
1944
|
const entryPointsGroupsSettings__normalized = new Map();
|
|
1935
|
-
/* [ Approach ] This case could be both valid (e.
|
|
1945
|
+
/* [ Approach ] This case could be both valid (e.g. if inside the project markup is being declared only inside
|
|
1936
1946
|
Vue components) or invalid. */
|
|
1937
1947
|
if ((0, es_extensions_1.isUndefined)(entryPointsGroupsSettings__rawValid)) {
|
|
1938
1948
|
return entryPointsGroupsSettings__normalized;
|
|
@@ -2323,7 +2333,6 @@ const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "
|
|
|
2323
2333
|
class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.default {
|
|
2324
2334
|
static WAITING_FOR_OTHER_FILES_WILL_BE_SAVED_PERIOD__SECONDS = 1;
|
|
2325
2335
|
associatedAssetsProcessingConfigRepresentative;
|
|
2326
|
-
sourceFilesThoseAlwaysWillBeWatchedGlobSelectors = [];
|
|
2327
2336
|
filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing = new Set();
|
|
2328
2337
|
waitingForOtherFilesWillBeSavedDuration = null;
|
|
2329
2338
|
constructor(masterConfigRepresentative, certainAssetsManagementConfigRepresentative) {
|
|
@@ -2331,7 +2340,7 @@ class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.def
|
|
|
2331
2340
|
this.associatedAssetsProcessingConfigRepresentative = certainAssetsManagementConfigRepresentative;
|
|
2332
2341
|
}
|
|
2333
2342
|
initializeOrUpdateSourceFilesWatcher() {
|
|
2334
|
-
gulp_1.default.watch(this.
|
|
2343
|
+
gulp_1.default.watch(this.associatedAssetsProcessingConfigRepresentative.relevantSourceFilesGlobSelectors).
|
|
2335
2344
|
on("all", (eventName, fileOrDirectoryPath) => {
|
|
2336
2345
|
es_extensions_1.Logger.logInfo({
|
|
2337
2346
|
title: `${this.SOURCE_FILES_TYPE_LABEL_FOR_LOGGING} files watcher`,
|
|
@@ -2353,7 +2362,7 @@ class GulpStreamsBasedAssetsProcessor extends GulpStreamsBasedTaskExecutor_1.def
|
|
|
2353
2362
|
this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing.add(fileOrDirectoryPath);
|
|
2354
2363
|
this.waitingForOtherFilesWillBeSavedDuration = setTimeout(() => {
|
|
2355
2364
|
if (this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing.size > 0) {
|
|
2356
|
-
this.processAssets(Array.from(this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing));
|
|
2365
|
+
this.processAssets(Array.from(this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing))();
|
|
2357
2366
|
}
|
|
2358
2367
|
this.filesWhichStatusHasBeenChangedAbsolutePathsQueueToProcessing.clear();
|
|
2359
2368
|
}, (0, es_extensions_1.secondsToMilliseconds)(GulpStreamsBasedAssetsProcessor.WAITING_FOR_OTHER_FILES_WILL_BE_SAVED_PERIOD__SECONDS));
|
|
@@ -2900,6 +2909,7 @@ const ProjectBuildingConfigFromFileDefaultLocalization = {
|
|
|
2900
2909
|
browserLiveReloading: "browserLiveReloading"
|
|
2901
2910
|
},
|
|
2902
2911
|
consumingProjectPreDefinedBuildingModes: {
|
|
2912
|
+
staticPreview: "STATIC_PREVIEW",
|
|
2903
2913
|
development: "DEVELOPMENT",
|
|
2904
2914
|
testing: "TESTING",
|
|
2905
2915
|
staging: "STAGING",
|
|
@@ -3405,6 +3415,9 @@ class ProjectBuildingMasterConfigRepresentative {
|
|
|
3405
3415
|
}
|
|
3406
3416
|
/* --- Project building mode -------------------------------------------------------------------------------------- */
|
|
3407
3417
|
get consumingProjectBuildingMode() { return this.commonSettings.projectBuildingMode; }
|
|
3418
|
+
get isStaticPreviewBuildingMode() {
|
|
3419
|
+
return this.commonSettings.projectBuildingMode === ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview;
|
|
3420
|
+
}
|
|
3408
3421
|
get isDevelopmentBuildingMode() {
|
|
3409
3422
|
return this.commonSettings.projectBuildingMode === ConsumingProjectPreDefinedBuildingModes_1.default.development;
|
|
3410
3423
|
}
|
|
@@ -3445,7 +3458,8 @@ class ProjectBuildingMasterConfigRepresentative {
|
|
|
3445
3458
|
return (0, es_extensions_1.isNotUndefined)(this.videosProcessingSettingsRepresentative);
|
|
3446
3459
|
}
|
|
3447
3460
|
get mustProvideBrowserLiveReloading() {
|
|
3448
|
-
return (0, es_extensions_1.isNotUndefined)(this.browserLiveReloadingSettingsRepresentative) &&
|
|
3461
|
+
return (0, es_extensions_1.isNotUndefined)(this.browserLiveReloadingSettingsRepresentative) &&
|
|
3462
|
+
(this.isStaticPreviewBuildingMode || this.isDevelopmentBuildingMode);
|
|
3449
3463
|
}
|
|
3450
3464
|
/* --- Debugging -------------------------------------------------------------------------------------------------- */
|
|
3451
3465
|
get mustDebugEntryPointsAndPartialFiles() {
|
|
@@ -3715,7 +3729,8 @@ exports["default"] = {
|
|
|
3715
3729
|
mustExecute(namedParameters) {
|
|
3716
3730
|
if (namedParameters.targetRuntimeType === SupportedECMA_ScriptRuntimesTypes.browser ||
|
|
3717
3731
|
namedParameters.targetRuntimeType === SupportedECMA_ScriptRuntimesTypes.webWorker) {
|
|
3718
|
-
return namedParameters.consumingProjectBuildingMode !== ConsumingProjectPreDefinedBuildingModes_1.default.
|
|
3732
|
+
return namedParameters.consumingProjectBuildingMode !== ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview &&
|
|
3733
|
+
namedParameters.consumingProjectBuildingMode !== ConsumingProjectPreDefinedBuildingModes_1.default.development;
|
|
3719
3734
|
}
|
|
3720
3735
|
return false;
|
|
3721
3736
|
},
|
|
@@ -3914,11 +3929,9 @@ var ECMA_ScriptLogicProcessingSettings__FromFile__RawValid;
|
|
|
3914
3929
|
newName: "buildingModeDependent",
|
|
3915
3930
|
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
|
|
3916
3931
|
required: true,
|
|
3917
|
-
|
|
3918
|
-
consumingProjectLocalizedPreDefinedBuildingModes.development,
|
|
3919
|
-
consumingProjectLocalizedPreDefinedBuildingModes.production
|
|
3920
|
-
],
|
|
3932
|
+
minimalEntriesCount: 1,
|
|
3921
3933
|
keysRenamings: {
|
|
3934
|
+
[consumingProjectLocalizedPreDefinedBuildingModes.staticPreview]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
|
|
3922
3935
|
[consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
|
|
3923
3936
|
[consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
|
|
3924
3937
|
[consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
|
|
@@ -4025,7 +4038,8 @@ class ECMA_ScriptLogicProcessor extends TaskExecutor_1.default {
|
|
|
4025
4038
|
});
|
|
4026
4039
|
}
|
|
4027
4040
|
/** 〔 納品版のみ理由 〕 開発版で同じ事をすれば、gulpが落ちる */
|
|
4028
|
-
if (dataHoldingSelfInstance.masterConfigRepresentative.
|
|
4041
|
+
if ((dataHoldingSelfInstance.masterConfigRepresentative.isStagingBuildingMode ||
|
|
4042
|
+
dataHoldingSelfInstance.masterConfigRepresentative.isProductionBuildingMode) &&
|
|
4029
4043
|
(0, es_extensions_1.isNotUndefined)(finalErrorMessageDynamicPart)) {
|
|
4030
4044
|
es_extensions_1.Logger.logError({
|
|
4031
4045
|
errorType: "ECMA_ScriptLogicProcessingError",
|
|
@@ -4271,9 +4285,14 @@ class WebpackConfigGenerator {
|
|
|
4271
4285
|
...willPugLibraryBeBuilt ? { globalObject: "globalThis" } : null
|
|
4272
4286
|
},
|
|
4273
4287
|
...willBrowserJS_LibraryBeBuilt ? { experiments: { outputModule: true } } : null,
|
|
4274
|
-
mode: this.masterConfigRepresentative.
|
|
4275
|
-
|
|
4276
|
-
|
|
4288
|
+
mode: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
4289
|
+
this.masterConfigRepresentative.isDevelopmentBuildingMode ?
|
|
4290
|
+
"development" : "production",
|
|
4291
|
+
watch: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
4292
|
+
this.masterConfigRepresentative.isDevelopmentBuildingMode,
|
|
4293
|
+
devtool: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
4294
|
+
this.masterConfigRepresentative.isDevelopmentBuildingMode ?
|
|
4295
|
+
"eval" : false,
|
|
4277
4296
|
...entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.nodeJS ? {
|
|
4278
4297
|
node: {
|
|
4279
4298
|
__dirname: true,
|
|
@@ -4429,13 +4448,17 @@ class WebpackConfigGenerator {
|
|
|
4429
4448
|
new vue_loader_1.VueLoaderPlugin(),
|
|
4430
4449
|
new eslint_webpack_plugin_1.default({
|
|
4431
4450
|
extensions: ["js", "ts", "vue"],
|
|
4432
|
-
failOnError: this.masterConfigRepresentative.
|
|
4433
|
-
|
|
4451
|
+
failOnError: this.masterConfigRepresentative.isStagingBuildingMode ||
|
|
4452
|
+
this.masterConfigRepresentative.isProductionBuildingMode,
|
|
4453
|
+
failOnWarning: this.masterConfigRepresentative.isStagingBuildingMode ||
|
|
4454
|
+
this.masterConfigRepresentative.isProductionBuildingMode
|
|
4434
4455
|
})
|
|
4435
4456
|
],
|
|
4436
4457
|
optimization: {
|
|
4437
|
-
minimize: this.masterConfigRepresentative.
|
|
4438
|
-
|
|
4458
|
+
minimize: this.masterConfigRepresentative.isStagingBuildingMode ||
|
|
4459
|
+
this.masterConfigRepresentative.isProductionBuildingMode,
|
|
4460
|
+
emitOnErrors: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
4461
|
+
this.masterConfigRepresentative.isDevelopmentBuildingMode
|
|
4439
4462
|
}
|
|
4440
4463
|
};
|
|
4441
4464
|
}
|
|
@@ -4458,7 +4481,8 @@ class WebpackConfigGenerator {
|
|
|
4458
4481
|
* [ path at search string of browser ] + publicPath + chunkFilename
|
|
4459
4482
|
* */
|
|
4460
4483
|
computePublicPathIfPossible(ECMA_ScriptLogicEntryPointsGroupSettings__normalized) {
|
|
4461
|
-
if (!this.masterConfigRepresentative.
|
|
4484
|
+
if (!this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
|
|
4485
|
+
!this.masterConfigRepresentative.isDevelopmentBuildingMode) {
|
|
4462
4486
|
return "/";
|
|
4463
4487
|
}
|
|
4464
4488
|
return ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID.replace(ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID, "/");
|
|
@@ -4547,9 +4571,7 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
|
|
|
4547
4571
|
lintingCommonSettings;
|
|
4548
4572
|
static normalize({ markupProcessingSettings__fromFile__rawValid, commonSettings__normalized }) {
|
|
4549
4573
|
const lintingCommonSettings = (0, es_extensions_1.isUndefined)(markupProcessingSettings__fromFile__rawValid.linting) ?
|
|
4550
|
-
{
|
|
4551
|
-
isCompletelyDisabled: !MarkupProcessingSettings__Default_1.default.linting.mustExecute
|
|
4552
|
-
} :
|
|
4574
|
+
{ isCompletelyDisabled: !MarkupProcessingSettings__Default_1.default.linting.mustExecute } :
|
|
4553
4575
|
{
|
|
4554
4576
|
isCompletelyDisabled: markupProcessingSettings__fromFile__rawValid.linting.disableCompletely === true ?
|
|
4555
4577
|
true : !MarkupProcessingSettings__Default_1.default.linting.mustExecute,
|
|
@@ -4577,7 +4599,7 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
|
|
|
4577
4599
|
MarkupProcessingSettings__Default_1.default.waitingForOtherFilesWillBeSavedPeriod__seconds
|
|
4578
4600
|
},
|
|
4579
4601
|
linting: lintingCommonSettings,
|
|
4580
|
-
|
|
4602
|
+
relevantEntryPointsGroups: dataHoldingSelfInstance.createNormalizedEntryPointsGroupsSettings(markupProcessingSettings__fromFile__rawValid.entryPointsGroups, dataHoldingSelfInstance.
|
|
4581
4603
|
completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings.
|
|
4582
4604
|
bind(dataHoldingSelfInstance))
|
|
4583
4605
|
};
|
|
@@ -4587,15 +4609,6 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
|
|
|
4587
4609
|
this.lintingCommonSettings = namedParameters.lintingCommonSettings;
|
|
4588
4610
|
}
|
|
4589
4611
|
completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings(entryPointsGroupGenericSettings__normalized, entryPointsGroupSettings__rawValid) {
|
|
4590
|
-
const entryPointsGroupSettings__buildingModeDependent__rawValid = entryPointsGroupSettings__rawValid.buildingModeDependent[this.consumingProjectBuildingMode];
|
|
4591
|
-
if ((0, es_extensions_1.isUndefined)(entryPointsGroupSettings__buildingModeDependent__rawValid)) {
|
|
4592
|
-
es_extensions_1.Logger.throwErrorAndLog({
|
|
4593
|
-
errorInstance: new es_extensions_1.AlgorithmMismatchError(`プロジェクト構成モード:「${this.consumingProjectBuildingMode}」に該当する生入点設定が発見されず。`),
|
|
4594
|
-
occurrenceLocation: "MarkupProcessingRawSettingsNormalizer" +
|
|
4595
|
-
"completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings",
|
|
4596
|
-
title: es_extensions_1.AlgorithmMismatchError.localization.defaultTitle
|
|
4597
|
-
});
|
|
4598
|
-
}
|
|
4599
4612
|
return {
|
|
4600
4613
|
...entryPointsGroupGenericSettings__normalized,
|
|
4601
4614
|
HTML_Validation: {
|
|
@@ -4666,12 +4679,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4666
4679
|
};
|
|
4667
4680
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4668
4681
|
const GulpStreamBasedSourceCodeProcessingConfigRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/GulpStreamBasedSourceCodeProcessingConfigRepresentative.ts"));
|
|
4669
|
-
/* --- Utils -------------------------------------------------------------------------------------------------------- */
|
|
4670
|
-
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
4671
4682
|
class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodeProcessingConfigRepresentative_1.default {
|
|
4672
|
-
TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
|
|
4673
4683
|
supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots;
|
|
4684
|
+
TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM = "Markup";
|
|
4685
|
+
TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM = "Markup";
|
|
4686
|
+
prefixOfEntryPointsGroupReference = "@";
|
|
4674
4687
|
waitingForTheOtherFilesWillBeSavedPeriod__seconds;
|
|
4688
|
+
entryPointsGroupsNormalizedSettingsMappedByReferences;
|
|
4675
4689
|
sourceCodeLintingCommonSettings;
|
|
4676
4690
|
sourceAndOutputFilesAbsolutePathsCorrespondenceMap = new Map();
|
|
4677
4691
|
relevantEntryPointsGroupsSettings;
|
|
@@ -4680,21 +4694,15 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
|
|
|
4680
4694
|
super(projectBuildingMasterConfigRepresentative);
|
|
4681
4695
|
this.sourceCodeProcessingCommonSettings = normalizedMarkupProcessingSettings.common;
|
|
4682
4696
|
this.sourceCodeLintingCommonSettings = normalizedMarkupProcessingSettings.linting;
|
|
4683
|
-
this.relevantEntryPointsGroupsSettings = normalizedMarkupProcessingSettings.
|
|
4684
|
-
entryPointsGroupsActualForCurrentProjectBuildingMode;
|
|
4685
|
-
if (this.relevantEntryPointsGroupsSettings.size === 0) {
|
|
4686
|
-
es_extensions_1.Logger.logWarning({
|
|
4687
|
-
title: "Styles processing idle",
|
|
4688
|
-
description: "Styles processing idle",
|
|
4689
|
-
occurrenceLocation: "No markup processing settings has been specified for project building mode " +
|
|
4690
|
-
`'${this.masterConfigRepresentative.consumingProjectBuildingMode}' and/or current ` +
|
|
4691
|
-
"selective execution."
|
|
4692
|
-
});
|
|
4693
|
-
}
|
|
4697
|
+
this.relevantEntryPointsGroupsSettings = normalizedMarkupProcessingSettings.relevantEntryPointsGroups;
|
|
4694
4698
|
this.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots = normalizedMarkupProcessingSettings.common.
|
|
4695
4699
|
supportedSourceFileNameExtensionsWithoutLeadingDots;
|
|
4696
4700
|
this.waitingForTheOtherFilesWillBeSavedPeriod__seconds = normalizedMarkupProcessingSettings.common.
|
|
4697
4701
|
waitingForSubsequentFilesWillBeSavedPeriod__seconds;
|
|
4702
|
+
this.entryPointsGroupsNormalizedSettingsMappedByReferences = new Map(Array.from(this.relevantEntryPointsGroupsSettings.values()).map((entryPointsGroupSettings) => [
|
|
4703
|
+
`${this.prefixOfEntryPointsGroupReference}${entryPointsGroupSettings.ID}`,
|
|
4704
|
+
entryPointsGroupSettings
|
|
4705
|
+
]));
|
|
4698
4706
|
super.initializeOrUpdatePartialFilesAndEntryPointsRelationsMap();
|
|
4699
4707
|
}
|
|
4700
4708
|
}
|
|
@@ -4715,7 +4723,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4715
4723
|
};
|
|
4716
4724
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4717
4725
|
const MarkupProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingRestrictions */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingRestrictions.ts"));
|
|
4718
|
-
|
|
4726
|
+
const MarkupProcessingSettings__Default = {
|
|
4719
4727
|
waitingForOtherFilesWillBeSavedPeriod__seconds: 1,
|
|
4720
4728
|
linting: {
|
|
4721
4729
|
mustExecute: true,
|
|
@@ -4729,6 +4737,7 @@ exports["default"] = {
|
|
|
4729
4737
|
standard: MarkupProcessingRestrictions_1.default.SupportedAccessibilityStandards.WCAG2AAA
|
|
4730
4738
|
}
|
|
4731
4739
|
};
|
|
4740
|
+
exports["default"] = MarkupProcessingSettings__Default;
|
|
4732
4741
|
|
|
4733
4742
|
|
|
4734
4743
|
/***/ }),
|
|
@@ -4783,6 +4792,7 @@ var MarkupProcessingSettings__FromFile__RawValid;
|
|
|
4783
4792
|
newName: "entryPointsGroups",
|
|
4784
4793
|
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
|
|
4785
4794
|
required: true,
|
|
4795
|
+
minimalEntriesCount: 1,
|
|
4786
4796
|
value: {
|
|
4787
4797
|
type: Object,
|
|
4788
4798
|
properties: {
|
|
@@ -4836,11 +4846,9 @@ var MarkupProcessingSettings__FromFile__RawValid;
|
|
|
4836
4846
|
newName: "buildingModeDependent",
|
|
4837
4847
|
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
|
|
4838
4848
|
required: true,
|
|
4839
|
-
|
|
4840
|
-
consumingProjectLocalizedPreDefinedBuildingModes.development,
|
|
4841
|
-
consumingProjectLocalizedPreDefinedBuildingModes.production
|
|
4842
|
-
],
|
|
4849
|
+
minimalEntriesCount: 1,
|
|
4843
4850
|
keysRenamings: {
|
|
4851
|
+
[consumingProjectLocalizedPreDefinedBuildingModes.staticPreview]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
|
|
4844
4852
|
[consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
|
|
4845
4853
|
[consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
|
|
4846
4854
|
[consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
|
|
@@ -4889,7 +4897,7 @@ const gulp_pug_1 = __importDefault(__webpack_require__(/*! gulp-pug */ "gulp-pug
|
|
|
4889
4897
|
const gulp_intercept_1 = __importDefault(__webpack_require__(/*! gulp-intercept */ "gulp-intercept"));
|
|
4890
4898
|
const gulp_html_prettify_1 = __importDefault(__webpack_require__(/*! gulp-html-prettify */ "gulp-html-prettify"));
|
|
4891
4899
|
/* --- Applied utils ------------------------------------------------------------------------------------------------ */
|
|
4892
|
-
const
|
|
4900
|
+
const ResourcesReferencesResolverForHTML_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts"));
|
|
4893
4901
|
const HTML_Validator_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/HTML_Validator/HTML_Validator */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts"));
|
|
4894
4902
|
const AccessibilityInspector_1 = __importDefault(__webpack_require__(/*! ./Plugins/AccessibilityInspector/AccessibilityInspector */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/AccessibilityInspector/AccessibilityInspector.ts"));
|
|
4895
4903
|
const removeExtraSpacesFromJapaneseText_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/removeExtraSpacesFromJapaneseText */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/removeExtraSpacesFromJapaneseText.ts"));
|
|
@@ -4906,7 +4914,8 @@ class MarkupProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
|
|
|
4906
4914
|
return () => new stream_1.PassThrough().end();
|
|
4907
4915
|
}
|
|
4908
4916
|
const dataHoldingSelfInstance = new MarkupProcessor(masterConfigRepresentative, markupProcessingSettingsRepresentative);
|
|
4909
|
-
if (masterConfigRepresentative.
|
|
4917
|
+
if (masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
4918
|
+
masterConfigRepresentative.isDevelopmentBuildingMode) {
|
|
4910
4919
|
dataHoldingSelfInstance.initializeSourceFilesDirectoriesWhichAlwaysWillBeBeingWatchedGlobSelectors();
|
|
4911
4920
|
dataHoldingSelfInstance.initializeOrUpdateWatchedSourceFilesGlobSelectors();
|
|
4912
4921
|
dataHoldingSelfInstance.initializeOrUpdateSourceFilesWatcher();
|
|
@@ -4930,6 +4939,7 @@ class MarkupProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
|
|
|
4930
4939
|
pipe((0, gulp_intercept_1.default)(this.addActualSourceCodeProcessingSettingsToVinylFile.bind(this))).
|
|
4931
4940
|
pipe((0, gulp_pug_1.default)({
|
|
4932
4941
|
locals: {
|
|
4942
|
+
__IS_STATIC_PREVIEW_BUILDING_MODE__: this.masterConfigRepresentative.isStaticPreviewBuildingMode,
|
|
4933
4943
|
__IS_DEVELOPMENT_BUILDING_MODE__: this.masterConfigRepresentative.isDevelopmentBuildingMode,
|
|
4934
4944
|
__IS_TESTING_BUILDING_MODE__: this.masterConfigRepresentative.isTestingBuildingMode,
|
|
4935
4945
|
__IS_STAGING_BUILDING_MODE__: this.masterConfigRepresentative.isStagingBuildingMode,
|
|
@@ -4954,11 +4964,14 @@ class MarkupProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
|
|
|
4954
4964
|
}
|
|
4955
4965
|
onRawOutputCode(_compiledHTML_File) {
|
|
4956
4966
|
const compiledHTML_File = _compiledHTML_File;
|
|
4957
|
-
compiledHTML_File.contents = Buffer.from(
|
|
4967
|
+
compiledHTML_File.contents = Buffer.from(ResourcesReferencesResolverForHTML_1.default.resolve(compiledHTML_File, this.masterConfigRepresentative));
|
|
4958
4968
|
return compiledHTML_File;
|
|
4959
4969
|
}
|
|
4960
4970
|
onPostProcessedCode(_compiledHTML_File) {
|
|
4961
4971
|
const compiledHTML_File = _compiledHTML_File;
|
|
4972
|
+
this.markupProcessingConfigRepresentative.
|
|
4973
|
+
sourceAndOutputFilesAbsolutePathsCorrespondenceMap.
|
|
4974
|
+
set(ImprovedPath_1.default.replacePathSeparatorsToForwardSlashes(compiledHTML_File.sourceAbsolutePath), ImprovedPath_1.default.joinPathSegments(compiledHTML_File.outputDirectoryAbsolutePath, compiledHTML_File.basename));
|
|
4962
4975
|
if (compiledHTML_File.processingSettings.HTML_Validation.mustExecute) {
|
|
4963
4976
|
HTML_Validator_1.default.validateHTML(compiledHTML_File, this.masterConfigRepresentative);
|
|
4964
4977
|
}
|
|
@@ -4992,7 +5005,6 @@ const access_sniff_1 = __importDefault(__webpack_require__(/*! access-sniff */ "
|
|
|
4992
5005
|
const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
|
|
4993
5006
|
const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
|
|
4994
5007
|
const isCompiledHTML_ContentEmpty_1 = __importDefault(__webpack_require__(/*! @Utils/isCompiledHTML_ContentEmpty */ "./Utils/isCompiledHTML_ContentEmpty.ts"));
|
|
4995
|
-
/* --- General utils ------------------------------------------------------------------------------------------------ */
|
|
4996
5008
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
4997
5009
|
const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
|
|
4998
5010
|
const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
|
|
@@ -5045,7 +5057,7 @@ class AccessibilityInspector {
|
|
|
5045
5057
|
}
|
|
5046
5058
|
es_extensions_1.Logger.logErrorLikeMessage(AccessibilityInspector.localization.generateIssuesFoundErrorLog({
|
|
5047
5059
|
targetFileRelativePath,
|
|
5048
|
-
|
|
5060
|
+
formattedErrorsAndWarnings: formattedErrors.join("\n\n")
|
|
5049
5061
|
}));
|
|
5050
5062
|
});
|
|
5051
5063
|
}
|
|
@@ -5063,85 +5075,259 @@ exports["default"] = AccessibilityInspector;
|
|
|
5063
5075
|
|
|
5064
5076
|
|
|
5065
5077
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5066
|
-
const
|
|
5078
|
+
const accessibilityInspectorLocalization__english = {
|
|
5067
5079
|
generateFileIsEmptyWarningLog: (namedParameters) => ({
|
|
5068
|
-
title: "
|
|
5069
|
-
description: `File '${namedParameters.targetFileRelativePath}' is empty,
|
|
5080
|
+
title: "HTML code accessibility inspection terminated",
|
|
5081
|
+
description: `File '${namedParameters.targetFileRelativePath}' is empty, nothing to inspect.`
|
|
5070
5082
|
}),
|
|
5071
5083
|
generateInspectionStartedInfoLog: (namedParameters) => ({
|
|
5072
|
-
title: "
|
|
5073
|
-
description: `Begin the inspection of file '${namedParameters.targetFileRelativePath}' ...`
|
|
5084
|
+
title: "HTML code accessibility inspection started",
|
|
5085
|
+
description: `Begin the accessibility inspection of HTML code in the file '${namedParameters.targetFileRelativePath}' ...`
|
|
5074
5086
|
}),
|
|
5075
5087
|
generateInspectionFinishedWithNoIssuesFoundSuccessLog: (namedParameters) => ({
|
|
5076
|
-
title: "
|
|
5077
|
-
description: `
|
|
5088
|
+
title: "HTML code accessibility inspection finished",
|
|
5089
|
+
description: `The HTML code in file '${namedParameters.targetFileRelativePath}' has not the accessibility issues.\n` +
|
|
5078
5090
|
`${namedParameters.secondsElapsed} seconds elapsed.`
|
|
5079
5091
|
}),
|
|
5080
5092
|
issuesFoundNotification: {
|
|
5081
|
-
title: "
|
|
5082
|
-
message: "Accessibility issues detected.
|
|
5093
|
+
title: "HTML code accessibility inspection, issue(s) found",
|
|
5094
|
+
message: "Accessibility issues detected in one or more HTML files. Please check the console for the details."
|
|
5083
5095
|
},
|
|
5084
5096
|
generateIssueOccurrenceLocationIndication: (namedParameters) => `Line ${namedParameters.lineNumber}, column ${namedParameters.columnNumber}`,
|
|
5085
5097
|
generateIssuesFoundErrorLog: (namedParameters) => ({
|
|
5086
|
-
customBadgeText: "
|
|
5087
|
-
title: "
|
|
5088
|
-
description: `
|
|
5089
|
-
`${namedParameters.
|
|
5098
|
+
customBadgeText: "HTML code accessibility inspection not passed",
|
|
5099
|
+
title: "HTML code accessibility inspection, issue(s) found",
|
|
5100
|
+
description: `HTML file '${namedParameters.targetFileRelativePath}' is including the following accessibility issues:\n\n` +
|
|
5101
|
+
`${namedParameters.formattedErrorsAndWarnings}\n\n`
|
|
5090
5102
|
}),
|
|
5091
5103
|
formattedError: {
|
|
5092
5104
|
violatedGuidelineItem: "Violated rule",
|
|
5093
5105
|
keyAndValueSeparator: ":"
|
|
5094
5106
|
}
|
|
5095
5107
|
};
|
|
5096
|
-
exports["default"] =
|
|
5108
|
+
exports["default"] = accessibilityInspectorLocalization__english;
|
|
5097
5109
|
|
|
5098
5110
|
|
|
5099
5111
|
/***/ }),
|
|
5100
5112
|
|
|
5101
|
-
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/
|
|
5102
|
-
|
|
5103
|
-
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/
|
|
5104
|
-
|
|
5113
|
+
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts":
|
|
5114
|
+
/*!**********************************************************************************************!*\
|
|
5115
|
+
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts ***!
|
|
5116
|
+
\**********************************************************************************************/
|
|
5117
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5118
|
+
|
|
5119
|
+
|
|
5120
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5121
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5122
|
+
};
|
|
5123
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5124
|
+
/* --- Assets ------------------------------------------------------------------------------------------------------- */
|
|
5125
|
+
const HTML_ValidatorLocalization_english_1 = __importDefault(__webpack_require__(/*! ./HTML_ValidatorLocalization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts"));
|
|
5126
|
+
/* --- Applied utils ------------------------------------------------------------------------------------------------ */
|
|
5127
|
+
const html_validator_1 = __importDefault(__webpack_require__(/*! html-validator */ "html-validator"));
|
|
5128
|
+
const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
|
|
5129
|
+
const isCompiledHTML_ContentEmpty_1 = __importDefault(__webpack_require__(/*! @Utils/isCompiledHTML_ContentEmpty */ "./Utils/isCompiledHTML_ContentEmpty.ts"));
|
|
5130
|
+
const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
|
|
5131
|
+
/* --- General utils ------------------------------------------------------------------------------------------------ */
|
|
5132
|
+
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
5133
|
+
const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
|
|
5134
|
+
const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
|
|
5135
|
+
class HTML_Validator {
|
|
5136
|
+
static localization = HTML_ValidatorLocalization_english_1.default;
|
|
5137
|
+
static validateHTML(compiledHTML_File, masterConfigRepresentative) {
|
|
5138
|
+
const extractedHTML_Code = (0, getExpectedToBeNonNullStringifiedContentOfVinylFile_1.default)(compiledHTML_File);
|
|
5139
|
+
const targetFileRelativePath = ImprovedPath_1.default.computeRelativePath({
|
|
5140
|
+
basePath: masterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
|
|
5141
|
+
comparedPath: compiledHTML_File.path
|
|
5142
|
+
});
|
|
5143
|
+
if ((0, isCompiledHTML_ContentEmpty_1.default)(extractedHTML_Code)) {
|
|
5144
|
+
es_extensions_1.Logger.logWarning(HTML_Validator.localization.generateFileIsEmptyWarningLog({ targetFileRelativePath }));
|
|
5145
|
+
return;
|
|
5146
|
+
}
|
|
5147
|
+
const validationTimeMeasuringStopwatch = new Stopwatch_1.default().startOrRestart();
|
|
5148
|
+
es_extensions_1.Logger.logInfo(HTML_Validator.localization.generateValidationStartedInfoLog({ targetFileRelativePath }));
|
|
5149
|
+
(0, html_validator_1.default)({
|
|
5150
|
+
/* eslint-disable-next-line id-denylist --
|
|
5151
|
+
* From the viewpoint of TypeScript, the property name does not conflict with imported names.
|
|
5152
|
+
* ESLint community has declined to fix this.
|
|
5153
|
+
* https://github.com/eslint/eslint/issues/15504 */
|
|
5154
|
+
data: extractedHTML_Code,
|
|
5155
|
+
format: "json"
|
|
5156
|
+
}).
|
|
5157
|
+
then((validationResults) => {
|
|
5158
|
+
const validationPeriod__seconds = validationTimeMeasuringStopwatch.stop().seconds;
|
|
5159
|
+
const filteredIssues = (0, es_extensions_1.removeArrayElementsByPredicates)({
|
|
5160
|
+
targetArray: validationResults.messages,
|
|
5161
|
+
predicates: HTML_Validator.getPredicatesForHTML_ValidationIssuesFiltering(),
|
|
5162
|
+
mutably: false
|
|
5163
|
+
}).updatedArray;
|
|
5164
|
+
if (filteredIssues.length === 0) {
|
|
5165
|
+
es_extensions_1.Logger.logSuccess(HTML_Validator.localization.generateValidationFinishedWithNoIssuesFoundSuccessLog({
|
|
5166
|
+
targetFileRelativePath,
|
|
5167
|
+
secondsElapsed: validationPeriod__seconds
|
|
5168
|
+
}));
|
|
5169
|
+
return;
|
|
5170
|
+
}
|
|
5171
|
+
node_notifier_1.default.notify(HTML_Validator.localization.issuesFoundNotification);
|
|
5172
|
+
const formattedErrors = [];
|
|
5173
|
+
for (const issue of filteredIssues) {
|
|
5174
|
+
let accumulatingFormattedError = "";
|
|
5175
|
+
if (HTML_Validator.isValidationMessageLocationObject(issue)) {
|
|
5176
|
+
const codeFragmentPartWhichMustBeHighlighted = issue.extract.substring(issue.hiliteStart, issue.hiliteStart + issue.hiliteLength);
|
|
5177
|
+
accumulatingFormattedError = `${issue.extract.replace(codeFragmentPartWhichMustBeHighlighted, es_extensions_1.Logger.highlightText(codeFragmentPartWhichMustBeHighlighted))}\n${HTML_Validator.localization.generateIssueOccurrenceLocationIndication({
|
|
5178
|
+
lineNumber: issue.lastLine, startingColumnNumber: issue.firstColumn, lastColumnNumber: issue.lastColumn
|
|
5179
|
+
})}\n`;
|
|
5180
|
+
}
|
|
5181
|
+
switch (issue.type) {
|
|
5182
|
+
case "error": {
|
|
5183
|
+
accumulatingFormattedError = `${accumulatingFormattedError}` +
|
|
5184
|
+
`${HTML_Validator.localization.issuesTypesTitles.grossViolation}` +
|
|
5185
|
+
`${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
|
|
5186
|
+
break;
|
|
5187
|
+
}
|
|
5188
|
+
case "info": {
|
|
5189
|
+
accumulatingFormattedError =
|
|
5190
|
+
`${accumulatingFormattedError}` +
|
|
5191
|
+
`${HTML_Validator.localization.issuesTypesTitles.recommendationDisregard}` +
|
|
5192
|
+
`${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
|
|
5193
|
+
break;
|
|
5194
|
+
}
|
|
5195
|
+
default: {
|
|
5196
|
+
accumulatingFormattedError = `${accumulatingFormattedError}` +
|
|
5197
|
+
`${HTML_Validator.localization.issuesTypesTitles.other}` +
|
|
5198
|
+
`${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
|
|
5199
|
+
break;
|
|
5200
|
+
}
|
|
5201
|
+
}
|
|
5202
|
+
accumulatingFormattedError = `${accumulatingFormattedError}${issue.message}`;
|
|
5203
|
+
formattedErrors.push(accumulatingFormattedError);
|
|
5204
|
+
}
|
|
5205
|
+
es_extensions_1.Logger.logErrorLikeMessage(HTML_Validator.localization.generateIssuesFoundErrorLog({
|
|
5206
|
+
targetFileRelativePath,
|
|
5207
|
+
formattedErrorsAndWarnings: formattedErrors.join("\n\n")
|
|
5208
|
+
}));
|
|
5209
|
+
}).
|
|
5210
|
+
catch((error) => {
|
|
5211
|
+
es_extensions_1.Logger.logError({
|
|
5212
|
+
errorType: es_extensions_1.DataRetrievingFailedError.localization.defaultTitle,
|
|
5213
|
+
...HTML_Validator.localization.validationFailedErrorLog,
|
|
5214
|
+
occurrenceLocation: "HTML_Validator.validateHTML(...parameters)",
|
|
5215
|
+
caughtError: error
|
|
5216
|
+
});
|
|
5217
|
+
});
|
|
5218
|
+
}
|
|
5219
|
+
static getPredicatesForHTML_ValidationIssuesFiltering() {
|
|
5220
|
+
return [
|
|
5221
|
+
(HTML_ValidationIssue) => HTML_ValidationIssue.message === "Attribute “webkitdirectory” not allowed on element “input” at this point."
|
|
5222
|
+
];
|
|
5223
|
+
}
|
|
5224
|
+
static isValidationMessageLocationObject(violation) {
|
|
5225
|
+
return (0, es_extensions_1.isArbitraryObject)(violation) &&
|
|
5226
|
+
(0, es_extensions_1.isNotUndefined)(violation.extract) &&
|
|
5227
|
+
(0, es_extensions_1.isNotUndefined)(violation.lastLine) &&
|
|
5228
|
+
(0, es_extensions_1.isNotUndefined)(violation.firstColumn) &&
|
|
5229
|
+
(0, es_extensions_1.isNotUndefined)(violation.lastColumn);
|
|
5230
|
+
}
|
|
5231
|
+
}
|
|
5232
|
+
exports["default"] = HTML_Validator;
|
|
5233
|
+
|
|
5234
|
+
|
|
5235
|
+
/***/ }),
|
|
5236
|
+
|
|
5237
|
+
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts":
|
|
5238
|
+
/*!******************************************************************************************************************!*\
|
|
5239
|
+
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts ***!
|
|
5240
|
+
\******************************************************************************************************************/
|
|
5241
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
5242
|
+
|
|
5243
|
+
|
|
5244
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5245
|
+
const HTML_ValidatorLocalization__english = {
|
|
5246
|
+
generateFileIsEmptyWarningLog: (namedParameters) => ({
|
|
5247
|
+
title: "HTML code validation terminated",
|
|
5248
|
+
description: `File '${namedParameters.targetFileRelativePath}' is empty, no HTML to validate.`
|
|
5249
|
+
}),
|
|
5250
|
+
generateValidationStartedInfoLog: (namedParameters) => ({
|
|
5251
|
+
title: "HTML code validation started",
|
|
5252
|
+
description: `Begin the validation of HTML code in the file '${namedParameters.targetFileRelativePath}' ...`
|
|
5253
|
+
}),
|
|
5254
|
+
generateValidationFinishedWithNoIssuesFoundSuccessLog: (namedParameters) => ({
|
|
5255
|
+
title: "HTML validation finished",
|
|
5256
|
+
description: `File '${namedParameters.targetFileRelativePath}' is fully obeying to W3C rules and recommendations.\n` +
|
|
5257
|
+
`${namedParameters.secondsElapsed} seconds elapsed.`
|
|
5258
|
+
}),
|
|
5259
|
+
issuesFoundNotification: {
|
|
5260
|
+
title: "HTML validation, issue(s) found",
|
|
5261
|
+
message: "W3C rules violations and / or recommendations neglect detected. Check the console for the details."
|
|
5262
|
+
},
|
|
5263
|
+
generateIssueOccurrenceLocationIndication: (namedParameters) => `Line ${namedParameters.lineNumber}, ` +
|
|
5264
|
+
`columns ${namedParameters.startingColumnNumber}-${namedParameters.lastColumnNumber}`,
|
|
5265
|
+
issuesTypesTitles: {
|
|
5266
|
+
grossViolation: "Gross violation",
|
|
5267
|
+
recommendationDisregard: "Recommendation disregard",
|
|
5268
|
+
other: "Other issue",
|
|
5269
|
+
keyAndValueSeparator: ": "
|
|
5270
|
+
},
|
|
5271
|
+
generateIssuesFoundErrorLog: (namedParameters) => ({
|
|
5272
|
+
customBadgeText: "HTML validation not passed",
|
|
5273
|
+
title: "HTML validation, issue(s) found",
|
|
5274
|
+
description: `File '${namedParameters.targetFileRelativePath}' is including the following HTML validity issues:\n\n` +
|
|
5275
|
+
`${namedParameters.formattedErrorsAndWarnings}\n\n`
|
|
5276
|
+
}),
|
|
5277
|
+
validationFailedErrorLog: {
|
|
5278
|
+
title: "HTML validation failed",
|
|
5279
|
+
description: "The error occurred during HTML validation"
|
|
5280
|
+
}
|
|
5281
|
+
};
|
|
5282
|
+
exports["default"] = HTML_ValidatorLocalization__english;
|
|
5283
|
+
|
|
5284
|
+
|
|
5285
|
+
/***/ }),
|
|
5286
|
+
|
|
5287
|
+
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts":
|
|
5288
|
+
/*!**********************************************************************************************************************************************!*\
|
|
5289
|
+
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts ***!
|
|
5290
|
+
\**********************************************************************************************************************************************/
|
|
5105
5291
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
5106
5292
|
|
|
5107
5293
|
|
|
5108
5294
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5109
5295
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
5110
|
-
const
|
|
5111
|
-
|
|
5296
|
+
const resourcesReferencesResolverForHTML_Localization__english = {
|
|
5297
|
+
generateUnableToResolveShortenedAbsolutePathWarningLog: (namedParameters) => ({
|
|
5112
5298
|
title: `${(0, es_extensions_1.capitalizeFirstCharacter)(namedParameters.filesType__singularForm)} file, unable to resolve the absolute path`,
|
|
5113
5299
|
description: `Unable to resolve the shortened absolute path for the ${namedParameters.filesType__singularForm} file ` +
|
|
5114
5300
|
`because no public path has been specified for '${namedParameters.projectBuildingMode}' project building mode. ` +
|
|
5115
5301
|
"Relative path will be used instead."
|
|
5116
5302
|
}),
|
|
5117
|
-
|
|
5118
|
-
title:
|
|
5119
|
-
description: `The
|
|
5120
|
-
`'${namedParameters.pickedPathOfTargetResourceFile}'
|
|
5121
|
-
|
|
5303
|
+
generateUnknownResourceGroupReferenceWarningLog: (namedParameters) => ({
|
|
5304
|
+
title: `Unknown reference to ${namedParameters.fileType__pluralForm} files group`,
|
|
5305
|
+
description: `The reference '${namedParameters.firstPathSegment}' in path ` +
|
|
5306
|
+
`'${namedParameters.pickedPathOfTargetResourceFile}' refers to unknown resources group. ` +
|
|
5307
|
+
`Below references are available for ${namedParameters.fileType__pluralForm} files: \n` +
|
|
5122
5308
|
`${namedParameters.formattedSourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap}`
|
|
5123
5309
|
}),
|
|
5124
|
-
|
|
5310
|
+
generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarningLog: (namedParameters) => ({
|
|
5125
5311
|
title: `Unknown path to ${namedParameters.fileType__singularForm} file`,
|
|
5126
5312
|
description: `The aliased path '${namedParameters.pickedPathOfTargetResourceFile}' without filename extension ` +
|
|
5127
|
-
"refers to unknown file. Tried to search with all supported filename extensions: " +
|
|
5313
|
+
"refers to unknown file. Tried to search at path with all supported filename extensions: " +
|
|
5128
5314
|
`${namedParameters.checkedAbsolutePaths__formatted}.`
|
|
5129
5315
|
}),
|
|
5130
|
-
|
|
5316
|
+
generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog: (namedParameters) => ({
|
|
5131
5317
|
title: `Unknown path to ${namedParameters.fileType__singularForm} file`,
|
|
5132
|
-
description: `No ${namedParameters.fileType__singularForm} output file has been found for specified
|
|
5133
|
-
`file path '${namedParameters.pickedPathOfTargetResourceFile}'.`
|
|
5318
|
+
description: `No ${namedParameters.fileType__singularForm} output file has been found for specified source ` +
|
|
5319
|
+
`file path '${namedParameters.pickedPathOfTargetResourceFile}' including reference.`
|
|
5134
5320
|
})
|
|
5135
5321
|
};
|
|
5136
|
-
exports["default"] =
|
|
5322
|
+
exports["default"] = resourcesReferencesResolverForHTML_Localization__english;
|
|
5137
5323
|
|
|
5138
5324
|
|
|
5139
5325
|
/***/ }),
|
|
5140
5326
|
|
|
5141
|
-
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/
|
|
5142
|
-
|
|
5143
|
-
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/
|
|
5144
|
-
|
|
5327
|
+
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts":
|
|
5328
|
+
/*!**************************************************************************************************************************************!*\
|
|
5329
|
+
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.ts ***!
|
|
5330
|
+
\**************************************************************************************************************************************/
|
|
5145
5331
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5146
5332
|
|
|
5147
5333
|
|
|
@@ -5150,27 +5336,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5150
5336
|
};
|
|
5151
5337
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5152
5338
|
/* --- Assets ------------------------------------------------------------------------------------------------------- */
|
|
5153
|
-
const
|
|
5339
|
+
const ResourcesReferencesResolverForHTML_english_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/ResourcesReferencesResolverForHTML/ResourcesReferencesResolverForHTML.english.ts"));
|
|
5154
5340
|
/* --- Applied auxiliaries ------------------------------------------------------------------------------------------ */
|
|
5155
5341
|
const cheerio_1 = __importDefault(__webpack_require__(/*! cheerio */ "cheerio"));
|
|
5156
5342
|
const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
|
|
5157
5343
|
/* --- General auxiliaries ------------------------------------------------------------------------------------------ */
|
|
5158
5344
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
5159
5345
|
const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
|
|
5160
|
-
class
|
|
5161
|
-
static localization =
|
|
5346
|
+
class ResourcesReferencesResolverForHTML {
|
|
5347
|
+
static localization = ResourcesReferencesResolverForHTML_english_1.default;
|
|
5162
5348
|
compiledHTML_File;
|
|
5163
5349
|
HTML_FileContentCheerioCapturing;
|
|
5164
5350
|
masterConfigRepresentative;
|
|
5165
|
-
static
|
|
5166
|
-
return new
|
|
5351
|
+
static resolve(compiledHTML_File, masterConfigRepresentative) {
|
|
5352
|
+
return new ResourcesReferencesResolverForHTML(compiledHTML_File, masterConfigRepresentative).
|
|
5353
|
+
resolveInternalLinks().
|
|
5167
5354
|
resolveStylesheetsPathsAliases().
|
|
5168
5355
|
resoleScriptsPathsAliases().
|
|
5169
5356
|
resolveImagesPathsAliases().
|
|
5170
5357
|
resolveVideosPathsAliases().
|
|
5171
5358
|
resolveAudiosPathsAliases().
|
|
5172
5359
|
/* [ Theory ] Without '{ decodeEntities: false }' all ideographic characters will be converted to entities
|
|
5173
|
-
* like '文' what could cause some troubles during HTML code
|
|
5360
|
+
* like '文' what could cause some troubles during post-processing of HTML code. */
|
|
5174
5361
|
HTML_FileContentCheerioCapturing.
|
|
5175
5362
|
html({ decodeEntities: false });
|
|
5176
5363
|
}
|
|
@@ -5179,14 +5366,50 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5179
5366
|
this.HTML_FileContentCheerioCapturing = cheerio_1.default.load((0, getExpectedToBeNonNullStringifiedContentOfVinylFile_1.default)(compiledHTML_File));
|
|
5180
5367
|
this.masterConfigRepresentative = masterConfigRepresentative;
|
|
5181
5368
|
}
|
|
5369
|
+
resolveInternalLinks() {
|
|
5370
|
+
if ((0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.markupProcessingSettingsRepresentative)) {
|
|
5371
|
+
return this;
|
|
5372
|
+
}
|
|
5373
|
+
const markupProcessingSettingsRepresentative = this.masterConfigRepresentative.markupProcessingSettingsRepresentative;
|
|
5374
|
+
for (const anchorElement of Array.from(this.HTML_FileContentCheerioCapturing("a"))) {
|
|
5375
|
+
const anchorCheerioElement = this.HTML_FileContentCheerioCapturing(anchorElement);
|
|
5376
|
+
const hrefAttributeValue = anchorCheerioElement.attr("href");
|
|
5377
|
+
if (!(0, es_extensions_1.isNonEmptyString)(hrefAttributeValue)) {
|
|
5378
|
+
continue;
|
|
5379
|
+
}
|
|
5380
|
+
const resolvedURI = this.resolveOutputResourceFileAbsolutePathIfPossible({
|
|
5381
|
+
pickedPathOfTargetResourceFile: hrefAttributeValue,
|
|
5382
|
+
prefixOfAliasOfTopDirectoryOfResourcesGroup: markupProcessingSettingsRepresentative.prefixOfEntryPointsGroupReference,
|
|
5383
|
+
sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: (0, es_extensions_1.createMapBasedOnOtherMap)(markupProcessingSettingsRepresentative.entryPointsGroupsNormalizedSettingsMappedByReferences, (pathAlias, markupEntryPointsGroupNormalizedSettings) => [
|
|
5384
|
+
pathAlias,
|
|
5385
|
+
markupEntryPointsGroupNormalizedSettings.isSingeEntryPointGroup ?
|
|
5386
|
+
markupEntryPointsGroupNormalizedSettings.sourceFilesGlobSelectors[0] :
|
|
5387
|
+
markupEntryPointsGroupNormalizedSettings.sourceFilesTopDirectoryAbsolutePath
|
|
5388
|
+
]),
|
|
5389
|
+
supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots: markupProcessingSettingsRepresentative.
|
|
5390
|
+
supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots,
|
|
5391
|
+
sourceAndOutputFilesAbsolutePathsCorrespondenceMap: markupProcessingSettingsRepresentative.sourceAndOutputFilesAbsolutePathsCorrespondenceMap,
|
|
5392
|
+
fileTypeForLogging__singularForm: markupProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM,
|
|
5393
|
+
fileTypeForLogging__pluralForm: markupProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM
|
|
5394
|
+
});
|
|
5395
|
+
if ((0, es_extensions_1.isNull)(resolvedURI)) {
|
|
5396
|
+
continue;
|
|
5397
|
+
}
|
|
5398
|
+
anchorCheerioElement.attr("href", this.buildResourceFileFinalPath({
|
|
5399
|
+
resolvedOutputAbsolutePathOfResourceFile: resolvedURI,
|
|
5400
|
+
resourceFileType__singularForm: markupProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
|
|
5401
|
+
}));
|
|
5402
|
+
}
|
|
5403
|
+
return this;
|
|
5404
|
+
}
|
|
5182
5405
|
resolveStylesheetsPathsAliases() {
|
|
5183
5406
|
if ((0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.stylesProcessingSettingsRepresentative)) {
|
|
5184
5407
|
return this;
|
|
5185
5408
|
}
|
|
5186
5409
|
const stylesProcessingSettingsRepresentative = this.masterConfigRepresentative.stylesProcessingSettingsRepresentative;
|
|
5187
5410
|
for (const linkElement of Array.from(this.HTML_FileContentCheerioCapturing("link[rel='stylesheet']"))) {
|
|
5188
|
-
const
|
|
5189
|
-
const hrefAttributeValue =
|
|
5411
|
+
const linkCheerioElement = this.HTML_FileContentCheerioCapturing(linkElement);
|
|
5412
|
+
const hrefAttributeValue = linkCheerioElement.attr("href");
|
|
5190
5413
|
if (!(0, es_extensions_1.isNonEmptyString)(hrefAttributeValue)) {
|
|
5191
5414
|
continue;
|
|
5192
5415
|
}
|
|
@@ -5209,7 +5432,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5209
5432
|
if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfStylesheet)) {
|
|
5210
5433
|
continue;
|
|
5211
5434
|
}
|
|
5212
|
-
|
|
5435
|
+
linkCheerioElement.attr("href", this.buildResourceFileFinalPath({
|
|
5213
5436
|
resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfStylesheet,
|
|
5214
5437
|
resourceFileType__singularForm: stylesProcessingSettingsRepresentative.TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM
|
|
5215
5438
|
}));
|
|
@@ -5222,8 +5445,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5222
5445
|
}
|
|
5223
5446
|
const ECMA_ScriptLogicProcessingConfigRepresentative = this.masterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative;
|
|
5224
5447
|
for (const scriptElement of Array.from(this.HTML_FileContentCheerioCapturing("script"))) {
|
|
5225
|
-
const
|
|
5226
|
-
const srcAttributeValue =
|
|
5448
|
+
const scriptCheerioElement = this.HTML_FileContentCheerioCapturing(scriptElement);
|
|
5449
|
+
const srcAttributeValue = scriptCheerioElement.attr("src");
|
|
5227
5450
|
if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
|
|
5228
5451
|
continue;
|
|
5229
5452
|
}
|
|
@@ -5247,7 +5470,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5247
5470
|
if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfScript)) {
|
|
5248
5471
|
continue;
|
|
5249
5472
|
}
|
|
5250
|
-
|
|
5473
|
+
scriptCheerioElement.attr("src", this.buildResourceFileFinalPath({
|
|
5251
5474
|
resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfScript,
|
|
5252
5475
|
resourceFileType__singularForm: ECMA_ScriptLogicProcessingConfigRepresentative.
|
|
5253
5476
|
TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
|
|
@@ -5261,8 +5484,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5261
5484
|
}
|
|
5262
5485
|
const imagesProcessingConfigRepresentative = this.masterConfigRepresentative.imagesProcessingSettingsRepresentative;
|
|
5263
5486
|
for (const imageElement of Array.from(this.HTML_FileContentCheerioCapturing("img"))) {
|
|
5264
|
-
const
|
|
5265
|
-
const srcAttributeValue =
|
|
5487
|
+
const imageCheerioElement = this.HTML_FileContentCheerioCapturing(imageElement);
|
|
5488
|
+
const srcAttributeValue = imageCheerioElement.attr("src");
|
|
5266
5489
|
if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
|
|
5267
5490
|
continue;
|
|
5268
5491
|
}
|
|
@@ -5279,14 +5502,14 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5279
5502
|
if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfImage)) {
|
|
5280
5503
|
continue;
|
|
5281
5504
|
}
|
|
5282
|
-
|
|
5505
|
+
imageCheerioElement.attr("src", this.buildResourceFileFinalPath({
|
|
5283
5506
|
resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfImage,
|
|
5284
5507
|
resourceFileType__singularForm: imagesProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__PLURAL_FORM
|
|
5285
5508
|
}));
|
|
5286
5509
|
}
|
|
5287
5510
|
for (const linkElement of Array.from(this.HTML_FileContentCheerioCapturing("link[type='image/x-icon']"))) {
|
|
5288
|
-
const
|
|
5289
|
-
const hrefAttributeValue =
|
|
5511
|
+
const linkCheerioElement = this.HTML_FileContentCheerioCapturing(linkElement);
|
|
5512
|
+
const hrefAttributeValue = linkCheerioElement.attr("href");
|
|
5290
5513
|
if ((0, es_extensions_1.isUndefined)(hrefAttributeValue)) {
|
|
5291
5514
|
continue;
|
|
5292
5515
|
}
|
|
@@ -5305,7 +5528,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5305
5528
|
if ((0, es_extensions_1.isNull)(imageResolvedOutputAbsolutePath)) {
|
|
5306
5529
|
continue;
|
|
5307
5530
|
}
|
|
5308
|
-
|
|
5531
|
+
linkCheerioElement.attr("href", this.buildResourceFileFinalPath({
|
|
5309
5532
|
resolvedOutputAbsolutePathOfResourceFile: imageResolvedOutputAbsolutePath,
|
|
5310
5533
|
resourceFileType__singularForm: imagesProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
|
|
5311
5534
|
}));
|
|
@@ -5318,8 +5541,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5318
5541
|
}
|
|
5319
5542
|
const videosProcessingConfigRepresentative = this.masterConfigRepresentative.videosProcessingSettingsRepresentative;
|
|
5320
5543
|
for (const sourceElement of Array.from(this.HTML_FileContentCheerioCapturing("video > source"))) {
|
|
5321
|
-
const
|
|
5322
|
-
const srcAttributeValue =
|
|
5544
|
+
const sourceCheerioElement = this.HTML_FileContentCheerioCapturing(sourceElement);
|
|
5545
|
+
const srcAttributeValue = sourceCheerioElement.attr("src");
|
|
5323
5546
|
if (!(0, es_extensions_1.isNonEmptyString)(srcAttributeValue)) {
|
|
5324
5547
|
continue;
|
|
5325
5548
|
}
|
|
@@ -5336,7 +5559,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5336
5559
|
if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfVideo)) {
|
|
5337
5560
|
continue;
|
|
5338
5561
|
}
|
|
5339
|
-
|
|
5562
|
+
sourceCheerioElement.attr("src", this.buildResourceFileFinalPath({
|
|
5340
5563
|
resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfVideo,
|
|
5341
5564
|
resourceFileType__singularForm: videosProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
|
|
5342
5565
|
}));
|
|
@@ -5349,8 +5572,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5349
5572
|
}
|
|
5350
5573
|
const audiosProcessingConfigRepresentative = this.masterConfigRepresentative.audiosProcessingSettingsRepresentative;
|
|
5351
5574
|
for (const sourceElement of Array.from(this.HTML_FileContentCheerioCapturing("audio > source"))) {
|
|
5352
|
-
const
|
|
5353
|
-
const srcAttributeValue =
|
|
5575
|
+
const sourceCheerioElement = this.HTML_FileContentCheerioCapturing(sourceElement);
|
|
5576
|
+
const srcAttributeValue = sourceCheerioElement.attr("src");
|
|
5354
5577
|
if ((0, es_extensions_1.isUndefined)(srcAttributeValue)) {
|
|
5355
5578
|
continue;
|
|
5356
5579
|
}
|
|
@@ -5367,7 +5590,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5367
5590
|
if ((0, es_extensions_1.isNull)(resolvedOutputAbsolutePathOfVideo)) {
|
|
5368
5591
|
continue;
|
|
5369
5592
|
}
|
|
5370
|
-
|
|
5593
|
+
sourceCheerioElement.attr("src", this.buildResourceFileFinalPath({
|
|
5371
5594
|
resolvedOutputAbsolutePathOfResourceFile: resolvedOutputAbsolutePathOfVideo,
|
|
5372
5595
|
resourceFileType__singularForm: audiosProcessingConfigRepresentative.TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
|
|
5373
5596
|
}));
|
|
@@ -5386,8 +5609,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5386
5609
|
}
|
|
5387
5610
|
const sourceFilesTopDirectoryAbsolutePathOfCurrentAlias = sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.get(firstSegmentOfPickedPath);
|
|
5388
5611
|
if ((0, es_extensions_1.isUndefined)(sourceFilesTopDirectoryAbsolutePathOfCurrentAlias)) {
|
|
5389
|
-
es_extensions_1.Logger.logWarning(
|
|
5390
|
-
|
|
5612
|
+
es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateUnknownResourceGroupReferenceWarningLog({
|
|
5613
|
+
fileType__pluralForm: fileTypeForLogging__pluralForm,
|
|
5391
5614
|
firstPathSegment: firstSegmentOfPickedPath,
|
|
5392
5615
|
pickedPathOfTargetResourceFile,
|
|
5393
5616
|
formattedSourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(Array.from(sourceFilesTopDirectoriesAliasesAndRespectiveAbsolutePathsMap.entries()))
|
|
@@ -5402,8 +5625,8 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5402
5625
|
`${supportedStylesheetFileNameExtensionWithoutLeadingDot}`);
|
|
5403
5626
|
const searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap = (0, es_extensions_1.filterMap)(sourceAndOutputFilesAbsolutePathsCorrespondenceMap, (sourceFileAbsolutePath) => possibleAbsolutePathsOfTargetSourceFile.includes(sourceFileAbsolutePath));
|
|
5404
5627
|
if (searchingResultsInSourceFilesAbsolutePathsAndOutputFilesActualPathsMap.size === 0) {
|
|
5405
|
-
es_extensions_1.Logger.logWarning(
|
|
5406
|
-
|
|
5628
|
+
es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.
|
|
5629
|
+
generateNoMatchingsForAliasedFilePathWithoutFilenameExtensionWarningLog({
|
|
5407
5630
|
pickedPathOfTargetResourceFile,
|
|
5408
5631
|
fileType__singularForm: fileTypeForLogging__pluralForm,
|
|
5409
5632
|
checkedAbsolutePaths__formatted: (0, es_extensions_1.stringifyAndFormatArbitraryValue)(possibleAbsolutePathsOfTargetSourceFile)
|
|
@@ -5415,7 +5638,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5415
5638
|
const resolvedFileOutputAbsolutePath = sourceAndOutputFilesAbsolutePathsCorrespondenceMap.
|
|
5416
5639
|
get(sourceFileComputedAbsolutePathPossiblyWithoutFileNameExtension);
|
|
5417
5640
|
if ((0, es_extensions_1.isUndefined)(resolvedFileOutputAbsolutePath)) {
|
|
5418
|
-
es_extensions_1.Logger.logWarning(
|
|
5641
|
+
es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateNoOutputFileExistingForSpecifiedSourceFilePathWarningLog({
|
|
5419
5642
|
pickedPathOfTargetResourceFile,
|
|
5420
5643
|
fileType__singularForm: fileTypeForLogging__pluralForm
|
|
5421
5644
|
}));
|
|
@@ -5424,12 +5647,13 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5424
5647
|
return resolvedFileOutputAbsolutePath;
|
|
5425
5648
|
}
|
|
5426
5649
|
buildResourceFileFinalPath({ resolvedOutputAbsolutePathOfResourceFile, resourceFileType__singularForm }) {
|
|
5427
|
-
if (this.masterConfigRepresentative.
|
|
5650
|
+
if (this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
5428
5651
|
(0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.actualPublicDirectoryAbsolutePath)) {
|
|
5429
|
-
if (!this.masterConfigRepresentative.
|
|
5652
|
+
if (!this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
|
|
5430
5653
|
(0, es_extensions_1.isUndefined)(this.masterConfigRepresentative.actualPublicDirectoryAbsolutePath)) {
|
|
5431
|
-
es_extensions_1.Logger.logWarning(
|
|
5654
|
+
es_extensions_1.Logger.logWarning(ResourcesReferencesResolverForHTML.localization.generateUnableToResolveShortenedAbsolutePathWarningLog({
|
|
5432
5655
|
projectBuildingMode: this.masterConfigRepresentative.consumingProjectBuildingMode,
|
|
5656
|
+
targetFileAbsolutePath: resolvedOutputAbsolutePathOfResourceFile,
|
|
5433
5657
|
filesType__singularForm: resourceFileType__singularForm
|
|
5434
5658
|
}));
|
|
5435
5659
|
}
|
|
@@ -5444,181 +5668,7 @@ class ResourceFilesPathsAliasesResolverForHTML {
|
|
|
5444
5668
|
})}`;
|
|
5445
5669
|
}
|
|
5446
5670
|
}
|
|
5447
|
-
exports["default"] =
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
/***/ }),
|
|
5451
|
-
|
|
5452
|
-
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts":
|
|
5453
|
-
/*!**********************************************************************************************!*\
|
|
5454
|
-
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_Validator.ts ***!
|
|
5455
|
-
\**********************************************************************************************/
|
|
5456
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5460
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5461
|
-
};
|
|
5462
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5463
|
-
/* --- Assets ------------------------------------------------------------------------------------------------------- */
|
|
5464
|
-
const HTML_ValidatorLocalization_english_1 = __importDefault(__webpack_require__(/*! ./HTML_ValidatorLocalization.english */ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts"));
|
|
5465
|
-
/* --- Applied utils ------------------------------------------------------------------------------------------------ */
|
|
5466
|
-
const html_validator_1 = __importDefault(__webpack_require__(/*! html-validator */ "html-validator"));
|
|
5467
|
-
const getExpectedToBeNonNullStringifiedContentOfVinylFile_1 = __importDefault(__webpack_require__(/*! @Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile */ "./Utils/getExpectedToBeNonNullStringifiedContentOfVinylFile.ts"));
|
|
5468
|
-
const isCompiledHTML_ContentEmpty_1 = __importDefault(__webpack_require__(/*! @Utils/isCompiledHTML_ContentEmpty */ "./Utils/isCompiledHTML_ContentEmpty.ts"));
|
|
5469
|
-
const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
|
|
5470
|
-
/* --- General utils ------------------------------------------------------------------------------------------------ */
|
|
5471
|
-
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
5472
|
-
const ImprovedPath_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/ImprovedPath/ImprovedPath */ "./UtilsIncubator/ImprovedPath/ImprovedPath.ts"));
|
|
5473
|
-
const Stopwatch_1 = __importDefault(__webpack_require__(/*! @UtilsIncubator/Stopwatch */ "./UtilsIncubator/Stopwatch.ts"));
|
|
5474
|
-
class HTML_Validator {
|
|
5475
|
-
static localization = HTML_ValidatorLocalization_english_1.default;
|
|
5476
|
-
static validateHTML(compiledHTML_File, masterConfigRepresentative) {
|
|
5477
|
-
const extractedHTML_Code = (0, getExpectedToBeNonNullStringifiedContentOfVinylFile_1.default)(compiledHTML_File);
|
|
5478
|
-
const targetFileRelativePath = ImprovedPath_1.default.computeRelativePath({
|
|
5479
|
-
basePath: masterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
|
|
5480
|
-
comparedPath: compiledHTML_File.path
|
|
5481
|
-
});
|
|
5482
|
-
if ((0, isCompiledHTML_ContentEmpty_1.default)(extractedHTML_Code)) {
|
|
5483
|
-
es_extensions_1.Logger.logWarning(HTML_Validator.localization.generateFileIsEmptyWarningLog({ targetFileRelativePath }));
|
|
5484
|
-
return;
|
|
5485
|
-
}
|
|
5486
|
-
const validationTimeMeasuringStopwatch = new Stopwatch_1.default().startOrRestart();
|
|
5487
|
-
es_extensions_1.Logger.logInfo(HTML_Validator.localization.generateValidationStartedInfoLog({ targetFileRelativePath }));
|
|
5488
|
-
(0, html_validator_1.default)({
|
|
5489
|
-
/* eslint-disable-next-line id-denylist --
|
|
5490
|
-
* From the viewpoint of TypeScript, the property name does not conflict with imported names.
|
|
5491
|
-
* ESLint community has declined to fix this.
|
|
5492
|
-
* https://github.com/eslint/eslint/issues/15504 */
|
|
5493
|
-
data: extractedHTML_Code,
|
|
5494
|
-
format: "json"
|
|
5495
|
-
}).
|
|
5496
|
-
then((validationResults) => {
|
|
5497
|
-
const validationPeriod__seconds = validationTimeMeasuringStopwatch.stop().seconds;
|
|
5498
|
-
const filteredIssues = (0, es_extensions_1.removeArrayElementsByPredicates)({
|
|
5499
|
-
targetArray: validationResults.messages,
|
|
5500
|
-
predicates: HTML_Validator.getPredicatesForHTML_ValidationIssuesFiltering(),
|
|
5501
|
-
mutably: false
|
|
5502
|
-
}).updatedArray;
|
|
5503
|
-
if (filteredIssues.length === 0) {
|
|
5504
|
-
es_extensions_1.Logger.logSuccess(HTML_Validator.localization.generateValidationFinishedWithNoIssuesFoundSuccessLog({
|
|
5505
|
-
targetFileRelativePath,
|
|
5506
|
-
secondsElapsed: validationPeriod__seconds
|
|
5507
|
-
}));
|
|
5508
|
-
return;
|
|
5509
|
-
}
|
|
5510
|
-
node_notifier_1.default.notify(HTML_Validator.localization.issuesFoundNotification);
|
|
5511
|
-
const formattedErrors = [];
|
|
5512
|
-
for (const issue of filteredIssues) {
|
|
5513
|
-
let accumulatingFormattedError = "";
|
|
5514
|
-
if (HTML_Validator.isValidationMessageLocationObject(issue)) {
|
|
5515
|
-
const codeFragmentPartWhichMustBeHighlighted = issue.extract.substring(issue.hiliteStart, issue.hiliteStart + issue.hiliteLength);
|
|
5516
|
-
accumulatingFormattedError = `${issue.extract.replace(codeFragmentPartWhichMustBeHighlighted, es_extensions_1.Logger.highlightText(codeFragmentPartWhichMustBeHighlighted))}\n${HTML_Validator.localization.generateIssueOccurrenceLocationIndication({
|
|
5517
|
-
lineNumber: issue.lastLine, startingColumnNumber: issue.firstColumn, lastColumnNumber: issue.lastColumn
|
|
5518
|
-
})}\n`;
|
|
5519
|
-
}
|
|
5520
|
-
switch (issue.type) {
|
|
5521
|
-
case "error": {
|
|
5522
|
-
accumulatingFormattedError = `${accumulatingFormattedError}` +
|
|
5523
|
-
`${HTML_Validator.localization.issuesTypesTitles.grossViolation}` +
|
|
5524
|
-
`${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
|
|
5525
|
-
break;
|
|
5526
|
-
}
|
|
5527
|
-
case "info": {
|
|
5528
|
-
accumulatingFormattedError =
|
|
5529
|
-
`${accumulatingFormattedError}` +
|
|
5530
|
-
`${HTML_Validator.localization.issuesTypesTitles.recommendationDisregard}` +
|
|
5531
|
-
`${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
|
|
5532
|
-
break;
|
|
5533
|
-
}
|
|
5534
|
-
default: {
|
|
5535
|
-
accumulatingFormattedError = `${accumulatingFormattedError}` +
|
|
5536
|
-
`${HTML_Validator.localization.issuesTypesTitles.other}` +
|
|
5537
|
-
`${HTML_Validator.localization.issuesTypesTitles.keyAndValueSeparator}`;
|
|
5538
|
-
break;
|
|
5539
|
-
}
|
|
5540
|
-
}
|
|
5541
|
-
accumulatingFormattedError = `${accumulatingFormattedError}${issue.message}`;
|
|
5542
|
-
formattedErrors.push(accumulatingFormattedError);
|
|
5543
|
-
}
|
|
5544
|
-
es_extensions_1.Logger.logErrorLikeMessage(HTML_Validator.localization.generateIssuesFoundErrorLog({
|
|
5545
|
-
targetFileRelativePath,
|
|
5546
|
-
formattedErrors: formattedErrors.join("\n\n")
|
|
5547
|
-
}));
|
|
5548
|
-
}).
|
|
5549
|
-
catch((error) => {
|
|
5550
|
-
es_extensions_1.Logger.logError({
|
|
5551
|
-
errorType: es_extensions_1.DataRetrievingFailedError.localization.defaultTitle,
|
|
5552
|
-
...HTML_Validator.localization.validationFailedErrorLog,
|
|
5553
|
-
occurrenceLocation: "HTML_Validator.validateHTML(...parameters)",
|
|
5554
|
-
caughtError: error
|
|
5555
|
-
});
|
|
5556
|
-
});
|
|
5557
|
-
}
|
|
5558
|
-
static getPredicatesForHTML_ValidationIssuesFiltering() {
|
|
5559
|
-
return [
|
|
5560
|
-
(HTML_ValidationIssue) => HTML_ValidationIssue.message === "Attribute “webkitdirectory” not allowed on element “input” at this point."
|
|
5561
|
-
];
|
|
5562
|
-
}
|
|
5563
|
-
static isValidationMessageLocationObject(violation) {
|
|
5564
|
-
return (0, es_extensions_1.isArbitraryObject)(violation) &&
|
|
5565
|
-
(0, es_extensions_1.isNotUndefined)(violation.extract) &&
|
|
5566
|
-
(0, es_extensions_1.isNotUndefined)(violation.lastLine) &&
|
|
5567
|
-
(0, es_extensions_1.isNotUndefined)(violation.firstColumn) &&
|
|
5568
|
-
(0, es_extensions_1.isNotUndefined)(violation.lastColumn);
|
|
5569
|
-
}
|
|
5570
|
-
}
|
|
5571
|
-
exports["default"] = HTML_Validator;
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
/***/ }),
|
|
5575
|
-
|
|
5576
|
-
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts":
|
|
5577
|
-
/*!******************************************************************************************************************!*\
|
|
5578
|
-
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/Plugins/HTML_Validator/HTML_ValidatorLocalization.english.ts ***!
|
|
5579
|
-
\******************************************************************************************************************/
|
|
5580
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
5581
|
-
|
|
5582
|
-
|
|
5583
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5584
|
-
const HTML_ValidatorLocalization__English = {
|
|
5585
|
-
generateFileIsEmptyWarningLog: (namedParameters) => ({
|
|
5586
|
-
title: "HTML validation terminated",
|
|
5587
|
-
description: `File '${namedParameters.targetFileRelativePath}' is empty, no HTML to inspect.`
|
|
5588
|
-
}),
|
|
5589
|
-
generateValidationStartedInfoLog: (namedParameters) => ({
|
|
5590
|
-
title: "HTML validation started",
|
|
5591
|
-
description: `Begin the inspection of file '${namedParameters.targetFileRelativePath}' ...`
|
|
5592
|
-
}),
|
|
5593
|
-
generateValidationFinishedWithNoIssuesFoundSuccessLog: (namedParameters) => ({
|
|
5594
|
-
title: "HTML validation finished",
|
|
5595
|
-
description: `File '${namedParameters.targetFileRelativePath}' is fully obeying to W3C rules and recommendations.\n` +
|
|
5596
|
-
`${namedParameters.secondsElapsed} seconds elapsed.`
|
|
5597
|
-
}),
|
|
5598
|
-
issuesFoundNotification: {
|
|
5599
|
-
title: "HTML validation, issue(s) found",
|
|
5600
|
-
message: "W3C rules violations and / or recommendations neglect detected. Check the console for the details."
|
|
5601
|
-
},
|
|
5602
|
-
generateIssueOccurrenceLocationIndication: (namedParameters) => `Line ${namedParameters.lineNumber}, ` +
|
|
5603
|
-
`columns ${namedParameters.startingColumnNumber}-${namedParameters.lastColumnNumber}`,
|
|
5604
|
-
issuesTypesTitles: {
|
|
5605
|
-
grossViolation: "Gross violation",
|
|
5606
|
-
recommendationDisregard: "Recommendation disregard",
|
|
5607
|
-
other: "Other issue",
|
|
5608
|
-
keyAndValueSeparator: ": "
|
|
5609
|
-
},
|
|
5610
|
-
generateIssuesFoundErrorLog: (namedParameters) => ({
|
|
5611
|
-
customBadgeText: "HTML validation not passed",
|
|
5612
|
-
title: "HTML validation, issue(s) found",
|
|
5613
|
-
description: `File '${namedParameters.targetFileRelativePath}' is including following HTML validity issues:\n\n` +
|
|
5614
|
-
`${namedParameters.formattedErrors}\n\n`
|
|
5615
|
-
}),
|
|
5616
|
-
validationFailedErrorLog: {
|
|
5617
|
-
title: "HTML validation failed",
|
|
5618
|
-
description: "The error occurred during HTML validation"
|
|
5619
|
-
}
|
|
5620
|
-
};
|
|
5621
|
-
exports["default"] = HTML_ValidatorLocalization__English;
|
|
5671
|
+
exports["default"] = ResourcesReferencesResolverForHTML;
|
|
5622
5672
|
|
|
5623
5673
|
|
|
5624
5674
|
/***/ }),
|
|
@@ -5901,7 +5951,8 @@ exports["default"] = {
|
|
|
5901
5951
|
waitingForSubsequentFilesWillBeSavedPeriod__seconds: 1,
|
|
5902
5952
|
filePathAliasNotation: "@",
|
|
5903
5953
|
revisioning: {
|
|
5904
|
-
mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.
|
|
5954
|
+
mustExecute: (projectBuildingMode__possiblyCustom) => projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview &&
|
|
5955
|
+
projectBuildingMode__possiblyCustom !== ConsumingProjectPreDefinedBuildingModes_1.default.development,
|
|
5905
5956
|
contentHashPostfixSeparator: "--"
|
|
5906
5957
|
},
|
|
5907
5958
|
linting: {
|
|
@@ -5990,11 +6041,9 @@ var StylesProcessingSettings__FromFile__RawValid;
|
|
|
5990
6041
|
preValidationModifications: es_extensions_1.nullToUndefined,
|
|
5991
6042
|
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
|
|
5992
6043
|
required: true,
|
|
5993
|
-
|
|
5994
|
-
consumingProjectLocalizedPreDefinedBuildingModes.development,
|
|
5995
|
-
consumingProjectLocalizedPreDefinedBuildingModes.production
|
|
5996
|
-
],
|
|
6044
|
+
minimalEntriesCount: 1,
|
|
5997
6045
|
keysRenamings: {
|
|
6046
|
+
[consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.staticPreview,
|
|
5998
6047
|
[consumingProjectLocalizedPreDefinedBuildingModes.development]: ConsumingProjectPreDefinedBuildingModes_1.default.development,
|
|
5999
6048
|
[consumingProjectLocalizedPreDefinedBuildingModes.testing]: ConsumingProjectPreDefinedBuildingModes_1.default.testing,
|
|
6000
6049
|
[consumingProjectLocalizedPreDefinedBuildingModes.production]: ConsumingProjectPreDefinedBuildingModes_1.default.production
|
|
@@ -6067,7 +6116,7 @@ class StylesProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
|
|
|
6067
6116
|
return () => new stream_1.PassThrough().end();
|
|
6068
6117
|
}
|
|
6069
6118
|
const dataHoldingSelfInstance = new StylesProcessor(masterConfigRepresentative, stylesProcessingSettingsRepresentative);
|
|
6070
|
-
if (masterConfigRepresentative.isDevelopmentBuildingMode) {
|
|
6119
|
+
if (masterConfigRepresentative.isStaticPreviewBuildingMode || masterConfigRepresentative.isDevelopmentBuildingMode) {
|
|
6071
6120
|
dataHoldingSelfInstance.initializeSourceFilesDirectoriesWhichAlwaysWillBeBeingWatchedGlobSelectors();
|
|
6072
6121
|
dataHoldingSelfInstance.initializeOrUpdateWatchedSourceFilesGlobSelectors();
|
|
6073
6122
|
dataHoldingSelfInstance.initializeOrUpdateSourceFilesWatcher();
|
|
@@ -6089,7 +6138,8 @@ class StylesProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
|
|
|
6089
6138
|
pipe(super.printProcessedFilesPathsAndQuantity()).
|
|
6090
6139
|
pipe(super.handleErrorIfItWillOccur()).
|
|
6091
6140
|
pipe((0, gulp_intercept_1.default)(this.addActualSourceCodeProcessingSettingsToVinylFile.bind(this))).
|
|
6092
|
-
pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.
|
|
6141
|
+
pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
6142
|
+
this.masterConfigRepresentative.isDevelopmentBuildingMode, gulp_sourcemaps_1.default.init())).
|
|
6093
6143
|
pipe((0, gulp_if_1.default)((file) => file.mustBeProcessedByStylus, (0, gulp_stylus_1.default)({
|
|
6094
6144
|
/* [ Theory ] Allows to "@include XXX.css" which is critical for third-party libraries usage. */
|
|
6095
6145
|
"include css": true
|
|
@@ -6101,14 +6151,17 @@ class StylesProcessor extends GulpStreamsBasedSourceCodeProcessor_1.default {
|
|
|
6101
6151
|
preset: [
|
|
6102
6152
|
"default",
|
|
6103
6153
|
{
|
|
6104
|
-
normalizeWhitespace: !this.masterConfigRepresentative.
|
|
6105
|
-
|
|
6154
|
+
normalizeWhitespace: !this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
|
|
6155
|
+
!this.masterConfigRepresentative.isDevelopmentBuildingMode,
|
|
6156
|
+
discardComments: !this.masterConfigRepresentative.isStaticPreviewBuildingMode &&
|
|
6157
|
+
!this.masterConfigRepresentative.isDevelopmentBuildingMode
|
|
6106
6158
|
}
|
|
6107
6159
|
]
|
|
6108
6160
|
})
|
|
6109
6161
|
]
|
|
6110
6162
|
}))).
|
|
6111
|
-
pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.
|
|
6163
|
+
pipe((0, gulp_if_1.default)(this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
6164
|
+
this.masterConfigRepresentative.isDevelopmentBuildingMode, gulp_sourcemaps_1.default.write())).
|
|
6112
6165
|
pipe((0, gulp_intercept_1.default)(this.onPostProcessedCode.bind(this))).
|
|
6113
6166
|
pipe(gulp_1.default.dest((targetFileInFinalState) => targetFileInFinalState.outputDirectoryAbsolutePath));
|
|
6114
6167
|
}
|