@yamato-daiwa/automation 0.5.0-alpha.0 → 0.5.0-alpha.1
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 +736 -211
- package/package.json +1 -1
package/EntryPoint.js
CHANGED
|
@@ -3948,10 +3948,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3948
3948
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3949
3949
|
};
|
|
3950
3950
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3951
|
-
/* ─── Settings
|
|
3951
|
+
/* ─── Settings Representatives ───────────────────────────────────────────────────────────────────────────────────── */
|
|
3952
3952
|
const AssetsProcessingSettingsRepresentative_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/SettingsRepresentatives/AssetsProcessingSettingsRepresentative */ "./ProjectBuilding/Common/SettingsRepresentatives/AssetsProcessingSettingsRepresentative.ts"));
|
|
3953
3953
|
const VinylFileClass_1 = __importDefault(__webpack_require__(/*! @Utils/VinylFileClass */ "./Utils/VinylFileClass.ts"));
|
|
3954
|
-
/* ─── Utils
|
|
3954
|
+
/* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
3955
3955
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
3956
3956
|
class AssetVinylFile extends VinylFileClass_1.default {
|
|
3957
3957
|
sourceAbsolutePath;
|
|
@@ -4410,7 +4410,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4410
4410
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4411
4411
|
};
|
|
4412
4412
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4413
|
-
/* ─── Third-party Solutions
|
|
4413
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
4414
4414
|
const ChokidarSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/Chokidar/ChokidarSpecialist */ "./ThirdPartySolutionsSpecialists/Chokidar/ChokidarSpecialist.ts"));
|
|
4415
4415
|
/* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
4416
4416
|
const gulp_1 = __importDefault(__webpack_require__(/*! gulp */ "gulp"));
|
|
@@ -6403,14 +6403,16 @@ var SupportedECMA_ScriptRuntimesTypes = ECMA_ScriptLogicProcessingRestrictions_1
|
|
|
6403
6403
|
const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes */ "./ProjectBuilding/Common/Restrictions/ConsumingProjectBuildingModes.ts"));
|
|
6404
6404
|
/* ─── Default Settings ───────────────────────────────────────────────────────────────────────────────────────────── */
|
|
6405
6405
|
const ECMA_ScriptLogicProcessingSettings__Default_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/ECMA_ScriptLogicProcessingSettings__Default */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/ECMA_ScriptLogicProcessingSettings__Default.ts"));
|
|
6406
|
-
/* ─── Settings
|
|
6406
|
+
/* ─── Settings Normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
|
|
6407
6407
|
const SourceCodeProcessingRawSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding:Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer */ "./ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer.ts"));
|
|
6408
6408
|
const RevisioningSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/RawSettingsNormalizers/Reusables/RevisioningSettingsNormalizer */ "./ProjectBuilding/Common/RawSettingsNormalizers/Reusables/RevisioningSettingsNormalizer.ts"));
|
|
6409
|
-
/* ───
|
|
6409
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
6410
|
+
const TypeScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/TypeScriptSpecialist */ "./ThirdPartySolutionsSpecialists/TypeScriptSpecialist.ts"));
|
|
6410
6411
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
6411
6412
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
6412
6413
|
class ECMA_ScriptLogicProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSettingsNormalizer_1.default {
|
|
6413
6414
|
supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots = ECMA_ScriptLogicProcessingRestrictions_1.default.supportedSourceFilesNamesExtensionsWithoutLeadingDots;
|
|
6415
|
+
cachedTypeScriptConfigurationsFilesRelativePathsAndCorrespondingCompilersOptions = new Map();
|
|
6414
6416
|
static normalize({ ECMA_ScriptLogicProcessingSettings__fromFile__rawValid, commonSettings__normalized }) {
|
|
6415
6417
|
const dataHoldingSelfInstance = new ECMA_ScriptLogicProcessingRawSettingsNormalizer({
|
|
6416
6418
|
projectBuildingCommonSettings__normalized: commonSettings__normalized,
|
|
@@ -6460,6 +6462,15 @@ class ECMA_ScriptLogicProcessingRawSettingsNormalizer extends SourceCodeProcessi
|
|
|
6460
6462
|
}
|
|
6461
6463
|
completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilECMA_ScriptLogicEntryPointsGroupNormalizedSettings(entryPointsGroupGenericSettings__normalized, entryPointsGroupSettings__rawValid) {
|
|
6462
6464
|
const distributingSettings__rawValid = entryPointsGroupSettings__rawValid.distributing;
|
|
6465
|
+
const typeScriptConfigurationFileRelativePath = es_extensions_nodejs_1.ImprovedPath.replacePathSeparatorsToForwardSlashes(entryPointsGroupSettings__rawValid.typeScriptConfigurationFileRelativePath ??
|
|
6466
|
+
ECMA_ScriptLogicProcessingSettings__Default_1.default.typeScriptConfigurationFileRelativePath);
|
|
6467
|
+
const typeScriptConfigurationFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([this.consumingProjectRootDirectoryAbsolutePath, typeScriptConfigurationFileRelativePath], { alwaysForwardSlashSeparators: true });
|
|
6468
|
+
const typeScriptCompilerOptions = this.cachedTypeScriptConfigurationsFilesRelativePathsAndCorrespondingCompilersOptions.
|
|
6469
|
+
get(typeScriptConfigurationFileRelativePath) ??
|
|
6470
|
+
this.readAndCacheTypeScriptCompilerOptions({
|
|
6471
|
+
typeScriptConfigurationFileAbsolutePath,
|
|
6472
|
+
typeScriptConfigurationFileRelativePath
|
|
6473
|
+
});
|
|
6463
6474
|
return {
|
|
6464
6475
|
...entryPointsGroupGenericSettings__normalized,
|
|
6465
6476
|
targetRuntime: (() => {
|
|
@@ -6498,11 +6509,10 @@ class ECMA_ScriptLogicProcessingRawSettingsNormalizer extends SourceCodeProcessi
|
|
|
6498
6509
|
associatedMarkupEntryPointsGroupID_ForDynamicModulesLoadingWithoutDevelopmentServer: entryPointsGroupSettings__rawValid.
|
|
6499
6510
|
associatedMarkupEntryPointsGroupID_ForDynamicModulesLoadingWithoutDevelopmentServer
|
|
6500
6511
|
} : null,
|
|
6501
|
-
typeScriptConfigurationFileAbsolutePath
|
|
6502
|
-
|
|
6503
|
-
|
|
6504
|
-
|
|
6505
|
-
], { alwaysForwardSlashSeparators: true }),
|
|
6512
|
+
typeScriptConfigurationFileAbsolutePath,
|
|
6513
|
+
typeScriptCompilerOptions,
|
|
6514
|
+
directoriesAliasesAndCorrespondingAbsolutePathsMap: ECMA_ScriptLogicProcessingRawSettingsNormalizer.
|
|
6515
|
+
createDirectoriesAliasesAndCorrespondingAbsolutePathsMap(typeScriptConfigurationFileAbsolutePath, typeScriptCompilerOptions),
|
|
6506
6516
|
revisioning: RevisioningSettingsNormalizer_1.default.normalize({
|
|
6507
6517
|
revisioningSettings__rawValid: entryPointsGroupSettings__rawValid.
|
|
6508
6518
|
buildingModeDependent[this.consumingProjectBuildingMode].revisioning,
|
|
@@ -6552,6 +6562,24 @@ class ECMA_ScriptLogicProcessingRawSettingsNormalizer extends SourceCodeProcessi
|
|
|
6552
6562
|
}
|
|
6553
6563
|
};
|
|
6554
6564
|
}
|
|
6565
|
+
readAndCacheTypeScriptCompilerOptions({ typeScriptConfigurationFileAbsolutePath, typeScriptConfigurationFileRelativePath }) {
|
|
6566
|
+
const typeScriptCompilerOptions = TypeScriptSpecialist_1.default.
|
|
6567
|
+
readTypeScriptConfigurationFileAndGetCompilerOptions(typeScriptConfigurationFileAbsolutePath);
|
|
6568
|
+
this.cachedTypeScriptConfigurationsFilesRelativePathsAndCorrespondingCompilersOptions.set(typeScriptConfigurationFileRelativePath, typeScriptCompilerOptions);
|
|
6569
|
+
return typeScriptCompilerOptions;
|
|
6570
|
+
}
|
|
6571
|
+
static createDirectoriesAliasesAndCorrespondingAbsolutePathsMap(typeScriptConfigurationFileAbsolutePath, typeScriptCompilerOptions) {
|
|
6572
|
+
/* [ TypeScript theory ] If `baseUrl` has been specified in configuration file, once parsed, it will be the
|
|
6573
|
+
+ absolute path herewith forward slashes path separators. */
|
|
6574
|
+
const typeScriptBasicAbsolutePath = typeScriptCompilerOptions.baseUrl ?? typeScriptConfigurationFileAbsolutePath;
|
|
6575
|
+
return new Map(Object.entries(typeScriptCompilerOptions.paths ?? {}).map(([rawAlias, rawPaths]) => [
|
|
6576
|
+
rawAlias.endsWith("/*") ? rawAlias.slice(0, -"/*".length) : rawAlias,
|
|
6577
|
+
rawPaths.map((rawPath) => es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
6578
|
+
typeScriptBasicAbsolutePath,
|
|
6579
|
+
...rawPath.endsWith("/*") ? [rawPath.slice(0, -"/*".length)] : [rawPath]
|
|
6580
|
+
], { alwaysForwardSlashSeparators: true }))
|
|
6581
|
+
]));
|
|
6582
|
+
}
|
|
6555
6583
|
}
|
|
6556
6584
|
exports["default"] = ECMA_ScriptLogicProcessingRawSettingsNormalizer;
|
|
6557
6585
|
|
|
@@ -6975,77 +7003,58 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6975
7003
|
};
|
|
6976
7004
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
6977
7005
|
const ECMA_ScriptLogicProcessingSharedState_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/ECMA_ScriptLogicProcessingSharedState */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/ECMA_ScriptLogicProcessingSharedState.ts"));
|
|
7006
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
7007
|
+
const ECMA_ScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/ECMA_ScriptSpecialist */ "./ThirdPartySolutionsSpecialists/ECMA_ScriptSpecialist.ts"));
|
|
6978
7008
|
/* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
6979
7009
|
const webpack_1 = __importDefault(__webpack_require__(/*! webpack */ "webpack"));
|
|
6980
7010
|
const WebpackConfigGenerator_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/Utils/WebpackConfigGenerator */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Utils/WebpackConfigGenerator.ts"));
|
|
6981
7011
|
const ECMA_ScriptLogicEntryPointsSourceFilesAbsolutePathsAndOutputFilesActualPathsMapGenerator_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/Utils/ECMA_ScriptLogicEntryPointsSourceFilesAbsolutePathsAndOutputFilesActualPathsMapGenerator */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/Utils/ECMA_ScriptLogicEntryPointsSourceFilesAbsolutePathsAndOutputFilesActualPathsMapGenerator.ts"));
|
|
6982
7012
|
const ECMA_ScriptSourceFilesWatcher_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/ECMA_ScriptSourceFilesWatcher */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/ECMA_ScriptSourceFilesWatcher.ts"));
|
|
6983
7013
|
const node_notifier_1 = __importDefault(__webpack_require__(/*! node-notifier */ "node-notifier"));
|
|
7014
|
+
const SourceCodeSelectiveReprocessingHelper_1 = __importDefault(__webpack_require__(/*! @Utils/SourceCodeSelectiveReprocessingHelper */ "./Utils/SourceCodeSelectiveReprocessingHelper.ts"));
|
|
7015
|
+
const DotYDA_DirectoryManager_1 = __importDefault(__webpack_require__(/*! @Utils/DotYDA_DirectoryManager */ "./Utils/DotYDA_DirectoryManager.ts"));
|
|
6984
7016
|
/* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
6985
7017
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
7018
|
+
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
6986
7019
|
class ECMA_ScriptLogicProcessor {
|
|
7020
|
+
static ENTRY_POINTS_AND_PARTIAL_FILES_MAPPING_CACHE_FILE_NAME_WITH_EXTENSION = "ECMA_ScriptEntryPointsAndAffiliatedFilesMappingCache.json";
|
|
6987
7021
|
TASK_NAME_FOR_LOGGING = "ECMAScript logic processing";
|
|
6988
7022
|
masterConfigRepresentative;
|
|
6989
7023
|
ECMA_ScriptLogicProcessingConfigRepresentative;
|
|
7024
|
+
absolutePathOfFilesWaitingForReProcessing = new Set();
|
|
7025
|
+
sourceCodeSelectiveReprocessingHelper;
|
|
7026
|
+
subsequentFilesStateChangeTimeout = null;
|
|
6990
7027
|
static provideLogicProcessingIfMust(projectBuildingMasterConfigRepresentative) {
|
|
6991
7028
|
const ecmaScriptLogicProcessingSettingsRepresentative = projectBuildingMasterConfigRepresentative.ECMA_ScriptLogicProcessingSettingsRepresentative;
|
|
6992
7029
|
if ((0, es_extensions_1.isUndefined)(ecmaScriptLogicProcessingSettingsRepresentative)) {
|
|
6993
7030
|
return (callback) => { callback(); };
|
|
6994
7031
|
}
|
|
6995
7032
|
const dataHoldingSelfInstance = new ECMA_ScriptLogicProcessor(ecmaScriptLogicProcessingSettingsRepresentative, projectBuildingMasterConfigRepresentative);
|
|
6996
|
-
const
|
|
6997
|
-
|
|
6998
|
-
|
|
7033
|
+
const webpackConfigurationsForExistingEntryPoints = [];
|
|
7034
|
+
const entryPointsSourceFilesAbsolutePathsAndWebpackConfigurationNamesMap = new Map();
|
|
7035
|
+
for (const [index, ECMA_ScriptLogicEntryPointsGroupSettings] of Array.from(ecmaScriptLogicProcessingSettingsRepresentative.relevantEntryPointsGroupsSettings.values()).entries()) {
|
|
7036
|
+
const entryPointsSourceFileAbsolutePaths = es_extensions_nodejs_1.ImprovedGlob.getFilesAbsolutePathsSynchronously(ECMA_ScriptLogicEntryPointsGroupSettings.sourceFilesGlobSelectors, { alwaysForwardSlashSeparators: true });
|
|
7037
|
+
if (entryPointsSourceFileAbsolutePaths.length === 0) {
|
|
7038
|
+
es_extensions_1.Logger.logWarning({
|
|
7039
|
+
title: "ECMAScript logic Entry Points Not Found",
|
|
7040
|
+
description: `No ECMAScript entry points has been found for group "${ECMA_ScriptLogicEntryPointsGroupSettings.ID}".` +
|
|
7041
|
+
"Please restart the project building once they will be added."
|
|
7042
|
+
});
|
|
7043
|
+
continue;
|
|
7044
|
+
}
|
|
7045
|
+
webpackConfigurationsForExistingEntryPoints.push(WebpackConfigGenerator_1.default.generateWebpackConfigurationForEntryPointsGroupWithExistingFiles({
|
|
7046
|
+
entryPointsSourceFilesAbsolutePaths: entryPointsSourceFileAbsolutePaths,
|
|
7047
|
+
ECMA_ScriptLogicEntryPointsGroupSettings,
|
|
7048
|
+
ECMA_ScriptLogicProcessingConfigRepresentative: ecmaScriptLogicProcessingSettingsRepresentative,
|
|
7049
|
+
masterConfigRepresentative: projectBuildingMasterConfigRepresentative,
|
|
7050
|
+
mustProvideTypeScriptTypeChecking: index === 0
|
|
7051
|
+
}));
|
|
7052
|
+
(0, es_extensions_1.addMultiplePairsToMap)(entryPointsSourceFilesAbsolutePathsAndWebpackConfigurationNamesMap, entryPointsSourceFileAbsolutePaths.map((entryPointsSourceFileAbsolutePath) => [entryPointsSourceFileAbsolutePath, ECMA_ScriptLogicEntryPointsGroupSettings.ID]));
|
|
7053
|
+
}
|
|
7054
|
+
return (gulpCallback) => {
|
|
6999
7055
|
try {
|
|
7000
7056
|
/* [ Webpack theory ] Although there is no `null` hardError is type definitions, the `hardError` could be null. */
|
|
7001
|
-
(0, webpack_1.default)(
|
|
7002
|
-
if ((0, es_extensions_1.isNotUndefined)(statistics)) {
|
|
7003
|
-
process.stdout.write(`${statistics.toString({ colors: true })}\n`);
|
|
7004
|
-
}
|
|
7005
|
-
let finalErrorMessageDynamicPart;
|
|
7006
|
-
/* [ Webpack theory ] Even there is no hard error braking the build, there are could be the soft errors. */
|
|
7007
|
-
const softErrors = (0, es_extensions_1.undefinedToEmptyArray)(statistics?.stats[0]?.compilation.errors);
|
|
7008
|
-
if ((0, es_extensions_1.isNeitherUndefinedNorNull)(hardError)) {
|
|
7009
|
-
finalErrorMessageDynamicPart = hardError.message;
|
|
7010
|
-
}
|
|
7011
|
-
else if (softErrors.length > 0) {
|
|
7012
|
-
finalErrorMessageDynamicPart = softErrors.toString();
|
|
7013
|
-
}
|
|
7014
|
-
if ((0, es_extensions_1.isNotUndefined)(finalErrorMessageDynamicPart)) {
|
|
7015
|
-
es_extensions_1.Logger.logError({
|
|
7016
|
-
errorType: "ECMA_ScriptLogicProcessingError",
|
|
7017
|
-
title: "ECMAScript logic processing error",
|
|
7018
|
-
description: finalErrorMessageDynamicPart,
|
|
7019
|
-
occurrenceLocation: "ECMA_ScriptLogicProcessor.provideLogicProcessing(projectBuildingMasterConfigRepresentative)"
|
|
7020
|
-
});
|
|
7021
|
-
node_notifier_1.default.notify({
|
|
7022
|
-
title: "ECMAScript logic processing",
|
|
7023
|
-
message: "Error has occurred. Please check the console."
|
|
7024
|
-
});
|
|
7025
|
-
}
|
|
7026
|
-
if (dataHoldingSelfInstance.masterConfigRepresentative.mustProvideIncrementalBuilding) {
|
|
7027
|
-
ECMA_ScriptSourceFilesWatcher_1.default.initializeIfRequiredAndGetInstance({
|
|
7028
|
-
ecmaScriptLogicProcessingSettingsRepresentative: dataHoldingSelfInstance.
|
|
7029
|
-
ECMA_ScriptLogicProcessingConfigRepresentative,
|
|
7030
|
-
projectBuildingMasterConfigRepresentative: dataHoldingSelfInstance.masterConfigRepresentative
|
|
7031
|
-
});
|
|
7032
|
-
}
|
|
7033
|
-
/** 〔 納品版のみ理由 〕 開発版で同じ事をすれば、gulpが落ちる */
|
|
7034
|
-
if (!dataHoldingSelfInstance.masterConfigRepresentative.mustProvideIncrementalBuilding &&
|
|
7035
|
-
(0, es_extensions_1.isNotUndefined)(finalErrorMessageDynamicPart)) {
|
|
7036
|
-
es_extensions_1.Logger.logError({
|
|
7037
|
-
errorType: "ECMA_ScriptLogicProcessingError",
|
|
7038
|
-
title: "ECMAScript logic processing error",
|
|
7039
|
-
description: "Unable to production build.",
|
|
7040
|
-
occurrenceLocation: "ECMA_ScriptLogicProcessor.provideLogicProcessing(projectBuildingMasterConfigRepresentative)"
|
|
7041
|
-
});
|
|
7042
|
-
callback(new Error(finalErrorMessageDynamicPart));
|
|
7043
|
-
}
|
|
7044
|
-
else {
|
|
7045
|
-
(0, es_extensions_1.addMultiplePairsToMap)(ECMA_ScriptLogicProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap, ECMA_ScriptLogicEntryPointsSourceFilesAbsolutePathsAndOutputFilesActualPathsMapGenerator_1.default.generate(dataHoldingSelfInstance.ECMA_ScriptLogicProcessingConfigRepresentative));
|
|
7046
|
-
callback();
|
|
7047
|
-
}
|
|
7048
|
-
});
|
|
7057
|
+
(0, webpack_1.default)(webpackConfigurationsForExistingEntryPoints, dataHoldingSelfInstance.generateWebpackCallback(gulpCallback));
|
|
7049
7058
|
}
|
|
7050
7059
|
catch (error) {
|
|
7051
7060
|
/* [ Theory ] Once reached here, the Gulp tasks chain will collapse whatever will callback called to no. */
|
|
@@ -7063,6 +7072,103 @@ class ECMA_ScriptLogicProcessor {
|
|
|
7063
7072
|
constructor(ecmaScriptLogicProcessingConfigRepresentative, masterConfigRepresentative) {
|
|
7064
7073
|
this.ECMA_ScriptLogicProcessingConfigRepresentative = ecmaScriptLogicProcessingConfigRepresentative;
|
|
7065
7074
|
this.masterConfigRepresentative = masterConfigRepresentative;
|
|
7075
|
+
if (this.masterConfigRepresentative.mustProvideIncrementalBuilding) {
|
|
7076
|
+
this.sourceCodeSelectiveReprocessingHelper = new SourceCodeSelectiveReprocessingHelper_1.default({
|
|
7077
|
+
initialEntryPointsSourceFilesAbsolutePaths: this.ECMA_ScriptLogicProcessingConfigRepresentative.initialRelevantEntryPointsSourceFilesAbsolutePaths,
|
|
7078
|
+
affiliatedFilesResolutionRules: {
|
|
7079
|
+
affiliatedFilesIncludingDeclarationsPatterns: ECMA_ScriptSpecialist_1.default.partialFilesIncludingDeclarationPatterns,
|
|
7080
|
+
implicitFilesNamesExtensionsWithoutLeadingDotsOfAffiliatedFiles: this.ECMA_ScriptLogicProcessingConfigRepresentative.
|
|
7081
|
+
supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots
|
|
7082
|
+
},
|
|
7083
|
+
directoriesAliasesAndTheirAbsolutePatsMap: new Map(),
|
|
7084
|
+
isEntryPoint: this.ECMA_ScriptLogicProcessingConfigRepresentative.
|
|
7085
|
+
isEntryPoint.
|
|
7086
|
+
bind(this.ECMA_ScriptLogicProcessingConfigRepresentative),
|
|
7087
|
+
logging: {
|
|
7088
|
+
mustEnable: this.ECMA_ScriptLogicProcessingConfigRepresentative.loggingSettings.
|
|
7089
|
+
partialFilesAndParentEntryPointsCorrespondence,
|
|
7090
|
+
targetFilesTypeInSingularForm: this.ECMA_ScriptLogicProcessingConfigRepresentative.
|
|
7091
|
+
TARGET_FILES_KIND_FOR_LOGGING__SINGULAR_FORM
|
|
7092
|
+
},
|
|
7093
|
+
consumingProjectRootDirectoryAbsolutePath: this.masterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath,
|
|
7094
|
+
cacheFileAbsolutePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
7095
|
+
DotYDA_DirectoryManager_1.default.OPTIMIZATION_FILES_DIRECTORY_ABSOLUTE_PATH,
|
|
7096
|
+
ECMA_ScriptLogicProcessor.ENTRY_POINTS_AND_PARTIAL_FILES_MAPPING_CACHE_FILE_NAME_WITH_EXTENSION
|
|
7097
|
+
])
|
|
7098
|
+
});
|
|
7099
|
+
ECMA_ScriptSourceFilesWatcher_1.default.
|
|
7100
|
+
initializeIfRequiredAndGetInstance({
|
|
7101
|
+
ecmaScriptLogicProcessingSettingsRepresentative: this.ECMA_ScriptLogicProcessingConfigRepresentative,
|
|
7102
|
+
projectBuildingMasterConfigRepresentative: this.masterConfigRepresentative
|
|
7103
|
+
}).
|
|
7104
|
+
addOnAnyEventRelatedWithActualFilesHandler({
|
|
7105
|
+
handlerID: "ON_ANY_EVENT_WITH_ECMA_SCRIPT_LOGIC_SOURCE_CODE_FILE--BY_ECMA_SCRIPT_LOGIC_PROCESSOR",
|
|
7106
|
+
handler: this.onSourceFilesWatcherEmittedAnyEvent.bind(this)
|
|
7107
|
+
});
|
|
7108
|
+
// TODO
|
|
7109
|
+
// addOnEntryPointFileAddedEventHandler({
|
|
7110
|
+
// handlerID: "ON_MARKUP_ENTRY_POINT_FILE_ADDED--BY_MARKUP_PROCESSOR",
|
|
7111
|
+
// handler: dataHoldingSelfInstance.onEntryPointFileAdded.bind(dataHoldingSelfInstance)
|
|
7112
|
+
// }).
|
|
7113
|
+
// addOnEntryPointFileDeletedEventHandler({
|
|
7114
|
+
// handlerID: "ON_MARKUP_ENTRY_POINT_FILE_DELETED--BY_MARKUP_PROCESSOR",
|
|
7115
|
+
// handler: MarkupProcessor.onEntryPointFileDeleted
|
|
7116
|
+
// });
|
|
7117
|
+
}
|
|
7118
|
+
}
|
|
7119
|
+
/* ━━━ Rebuilding ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
7120
|
+
onSourceFilesWatcherEmittedAnyEvent(targetFileAbsolutePath) {
|
|
7121
|
+
this.absolutePathOfFilesWaitingForReProcessing.add(targetFileAbsolutePath);
|
|
7122
|
+
if ((0, es_extensions_1.isNotNull)(this.subsequentFilesStateChangeTimeout)) {
|
|
7123
|
+
clearTimeout(this.subsequentFilesStateChangeTimeout);
|
|
7124
|
+
}
|
|
7125
|
+
this.subsequentFilesStateChangeTimeout = setTimeout(() => {
|
|
7126
|
+
const absolutePathOfEntryPointsWhichMustBeReprocessed = this.sourceCodeSelectiveReprocessingHelper?.getAbsolutePathsOfEntryPointsWhichMustBeProcessed(this.absolutePathOfFilesWaitingForReProcessing) ??
|
|
7127
|
+
[];
|
|
7128
|
+
this.absolutePathOfFilesWaitingForReProcessing.clear();
|
|
7129
|
+
}, (0, es_extensions_1.secondsToMilliseconds)(1));
|
|
7130
|
+
}
|
|
7131
|
+
generateWebpackCallback(gulpCallback) {
|
|
7132
|
+
return (hardError, statistics) => {
|
|
7133
|
+
if ((0, es_extensions_1.isNotUndefined)(statistics)) {
|
|
7134
|
+
process.stdout.write(`${statistics.toString({ colors: true })}\n`);
|
|
7135
|
+
}
|
|
7136
|
+
let finalErrorMessageDynamicPart;
|
|
7137
|
+
/* [ Webpack theory ] Even there is no hard error braking the build, there are could be the soft errors. */
|
|
7138
|
+
const softErrors = (0, es_extensions_1.undefinedToEmptyArray)(statistics?.stats[0]?.compilation.errors);
|
|
7139
|
+
if ((0, es_extensions_1.isNeitherUndefinedNorNull)(hardError)) {
|
|
7140
|
+
finalErrorMessageDynamicPart = hardError.message;
|
|
7141
|
+
}
|
|
7142
|
+
else if (softErrors.length > 0) {
|
|
7143
|
+
finalErrorMessageDynamicPart = softErrors.toString();
|
|
7144
|
+
}
|
|
7145
|
+
if ((0, es_extensions_1.isNotUndefined)(finalErrorMessageDynamicPart)) {
|
|
7146
|
+
es_extensions_1.Logger.logError({
|
|
7147
|
+
errorType: "ECMA_ScriptLogicProcessingError",
|
|
7148
|
+
title: "ECMAScript logic processing error",
|
|
7149
|
+
description: finalErrorMessageDynamicPart,
|
|
7150
|
+
occurrenceLocation: "ECMA_ScriptLogicProcessor.provideLogicProcessing(projectBuildingMasterConfigRepresentative)"
|
|
7151
|
+
});
|
|
7152
|
+
node_notifier_1.default.notify({
|
|
7153
|
+
title: "ECMAScript logic processing",
|
|
7154
|
+
message: "Error has occurred. Please check the console."
|
|
7155
|
+
});
|
|
7156
|
+
}
|
|
7157
|
+
/** 〔 納品版のみ理由 〕 開発版で同じ事をすれば、gulpが落ちる */
|
|
7158
|
+
if (!this.masterConfigRepresentative.mustProvideIncrementalBuilding && (0, es_extensions_1.isNotUndefined)(finalErrorMessageDynamicPart)) {
|
|
7159
|
+
es_extensions_1.Logger.logError({
|
|
7160
|
+
errorType: "ECMA_ScriptLogicProcessingError",
|
|
7161
|
+
title: "ECMAScript logic processing error",
|
|
7162
|
+
description: "Unable to production build.",
|
|
7163
|
+
occurrenceLocation: "ECMA_ScriptLogicProcessor.provideLogicProcessing(projectBuildingMasterConfigRepresentative)"
|
|
7164
|
+
});
|
|
7165
|
+
gulpCallback?.(new Error(finalErrorMessageDynamicPart));
|
|
7166
|
+
}
|
|
7167
|
+
else {
|
|
7168
|
+
(0, es_extensions_1.addMultiplePairsToMap)(ECMA_ScriptLogicProcessingSharedState_1.default.sourceFilesAbsolutePathsAndOutputFilesActualPathsMap, ECMA_ScriptLogicEntryPointsSourceFilesAbsolutePathsAndOutputFilesActualPathsMapGenerator_1.default.generate(this.ECMA_ScriptLogicProcessingConfigRepresentative));
|
|
7169
|
+
gulpCallback?.();
|
|
7170
|
+
}
|
|
7171
|
+
};
|
|
7066
7172
|
}
|
|
7067
7173
|
}
|
|
7068
7174
|
exports["default"] = ECMA_ScriptLogicProcessor;
|
|
@@ -7129,7 +7235,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
7129
7235
|
const ECMA_ScriptSourceFilesWatcher_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/ECMA_ScriptSourceFilesWatcher */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/ECMA_ScriptSourceFilesWatcher.ts"));
|
|
7130
7236
|
/* ─── Superclass ─────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7131
7237
|
const LinterLikeTaskExecutor_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/LinterLikeTaskExecutor */ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/LinterLikeTaskExecutor.ts"));
|
|
7132
|
-
/* ─── Third-party Solutions
|
|
7238
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
7133
7239
|
const ESLintLinterSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/ESLintLinterSpecialist */ "./ThirdPartySolutionsSpecialists/ESLintLinterSpecialist.ts"));
|
|
7134
7240
|
/* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7135
7241
|
const eslint_1 = __webpack_require__(/*! eslint */ "eslint");
|
|
@@ -7378,18 +7484,19 @@ class ECMA_ScriptSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
|
|
|
7378
7484
|
targetArray: (0, es_extensions_1.replaceArrayElementsByIndexesImmutably)({
|
|
7379
7485
|
targetArray: sourceCodeExplodedToLines,
|
|
7380
7486
|
replacements: [
|
|
7381
|
-
...rawIssue.line === rawIssue.endLine ?
|
|
7382
|
-
|
|
7383
|
-
|
|
7384
|
-
|
|
7385
|
-
|
|
7386
|
-
|
|
7387
|
-
|
|
7388
|
-
rawIssue.
|
|
7389
|
-
|
|
7390
|
-
|
|
7391
|
-
|
|
7392
|
-
|
|
7487
|
+
...rawIssue.line === rawIssue.endLine ?
|
|
7488
|
+
[
|
|
7489
|
+
{
|
|
7490
|
+
index: rawIssue.line - 1,
|
|
7491
|
+
newElement: (0, es_extensions_1.cropString)({
|
|
7492
|
+
targetString: sourceCodeExplodedToLines[rawIssue.line - 1],
|
|
7493
|
+
startingCharacterNumber__numerationFrom1: rawIssue.column,
|
|
7494
|
+
endingCharacterNumber__numerationFrom1: rawIssue.column === rawIssue.endColumn ?
|
|
7495
|
+
rawIssue.endColumn : rawIssue.endColumn - 1,
|
|
7496
|
+
mustThrowErrorIfSpecifiedCharactersNumbersIsOutOfRange: true
|
|
7497
|
+
})
|
|
7498
|
+
}
|
|
7499
|
+
] : [
|
|
7393
7500
|
{
|
|
7394
7501
|
index: rawIssue.line - 1,
|
|
7395
7502
|
newElement: (0, es_extensions_1.cropString)({
|
|
@@ -7399,16 +7506,19 @@ class ECMA_ScriptSourceCodeLinter extends LinterLikeTaskExecutor_1.default {
|
|
|
7399
7506
|
mustThrowErrorIfSpecifiedCharactersNumbersIsOutOfRange: true
|
|
7400
7507
|
})
|
|
7401
7508
|
},
|
|
7402
|
-
|
|
7403
|
-
|
|
7404
|
-
|
|
7405
|
-
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7509
|
+
...rawIssue.endColumn > 1 ?
|
|
7510
|
+
[
|
|
7511
|
+
{
|
|
7512
|
+
index: rawIssue.endLine - 1,
|
|
7513
|
+
newElement: (0, es_extensions_1.cropString)({
|
|
7514
|
+
targetString: sourceCodeExplodedToLines[rawIssue.endLine - 1],
|
|
7515
|
+
fromStart: true,
|
|
7516
|
+
endingCharacterNumber__numerationFrom1: rawIssue.column === rawIssue.endColumn ?
|
|
7517
|
+
rawIssue.endColumn : rawIssue.endColumn - 1,
|
|
7518
|
+
mustThrowErrorIfSpecifiedCharactersNumbersIsOutOfRange: true
|
|
7519
|
+
})
|
|
7520
|
+
}
|
|
7521
|
+
] : []
|
|
7412
7522
|
]
|
|
7413
7523
|
]
|
|
7414
7524
|
}),
|
|
@@ -7637,105 +7747,43 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7637
7747
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7638
7748
|
};
|
|
7639
7749
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
7640
|
-
/*
|
|
7750
|
+
/* ─── Restrictions ───────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7641
7751
|
const ECMA_ScriptLogicProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @ECMA_ScriptProcessing/ECMA_ScriptLogicProcessingRestrictions */ "./ProjectBuilding/SourceCodeProcessing/ECMA_Script/ECMA_ScriptLogicProcessingRestrictions.ts"));
|
|
7642
7752
|
var SupportedECMA_ScriptRuntimesTypes = ECMA_ScriptLogicProcessingRestrictions_1.default.SupportedECMA_ScriptRuntimesTypes;
|
|
7643
|
-
/*
|
|
7753
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
7644
7754
|
const WebpackSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/WebpackSpecialist */ "./ThirdPartySolutionsSpecialists/WebpackSpecialist.ts"));
|
|
7645
7755
|
const TypeScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/TypeScriptSpecialist */ "./ThirdPartySolutionsSpecialists/TypeScriptSpecialist.ts"));
|
|
7646
|
-
/*
|
|
7756
|
+
/* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7647
7757
|
const webpack_1 = __importDefault(__webpack_require__(/*! webpack */ "webpack"));
|
|
7648
7758
|
const vue_loader_1 = __webpack_require__(/*! vue-loader */ "vue-loader");
|
|
7649
7759
|
const fork_ts_checker_webpack_plugin_1 = __importDefault(__webpack_require__(/*! fork-ts-checker-webpack-plugin */ "fork-ts-checker-webpack-plugin"));
|
|
7650
7760
|
const webpack_node_externals_1 = __importDefault(__webpack_require__(/*! webpack-node-externals */ "webpack-node-externals"));
|
|
7651
|
-
/*
|
|
7761
|
+
/* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
7652
7762
|
const path_1 = __importDefault(__webpack_require__(/*! path */ "path"));
|
|
7653
7763
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
7654
7764
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
7765
|
+
/* [ Approach ] Because of serious performance impact, the file watching has been delegated to external watcher. */
|
|
7655
7766
|
class WebpackConfigGenerator {
|
|
7656
|
-
|
|
7657
|
-
|
|
7658
|
-
|
|
7659
|
-
|
|
7660
|
-
static generateWebpackConfigurationForEachEntryPointsGroup(ECMA_ScriptLogicProcessingConfigRepresentative, masterConfigRepresentative) {
|
|
7661
|
-
const dataHoldingSelfInstance = new WebpackConfigGenerator(ECMA_ScriptLogicProcessingConfigRepresentative, masterConfigRepresentative);
|
|
7662
|
-
const webpackConfigurationForEachEntryPointsGroup = [];
|
|
7663
|
-
for (const ECMA_ScriptLogicEntryPointsGroupSettings of dataHoldingSelfInstance.ECMA_ScriptLogicProcessingConfigRepresentative.relevantEntryPointsGroupsSettings.values()) {
|
|
7664
|
-
const webpackConfiguration = dataHoldingSelfInstance.
|
|
7665
|
-
generateSingleWebpackConfigurationIfAtLeastOneTargetEntryPointFileExists(ECMA_ScriptLogicEntryPointsGroupSettings);
|
|
7666
|
-
if ((0, es_extensions_1.isNotNull)(webpackConfiguration)) {
|
|
7667
|
-
webpackConfigurationForEachEntryPointsGroup.push(webpackConfiguration);
|
|
7668
|
-
dataHoldingSelfInstance.hasTypeScriptTypeCheckingFunctionalityAlreadyBeenProvided = true;
|
|
7669
|
-
}
|
|
7670
|
-
}
|
|
7671
|
-
return webpackConfigurationForEachEntryPointsGroup;
|
|
7672
|
-
}
|
|
7673
|
-
static getWebpackEntryObjectRespectiveToSpecifiedEntryPointsGroupSettings({ sourceFilesGlobSelectors, entryPointsGroupID_ForLogging, webpackContext }) {
|
|
7674
|
-
/* [ Reference ] https://webpack.js.org/configuration/entry-context/#entry */
|
|
7675
|
-
const webpackEntryPoints__objectSyntax = {};
|
|
7676
|
-
const targetEntryPointsSourceFilesAbsolutePaths = es_extensions_nodejs_1.ImprovedGlob.
|
|
7677
|
-
getFilesAbsolutePathsSynchronously(sourceFilesGlobSelectors);
|
|
7678
|
-
if (targetEntryPointsSourceFilesAbsolutePaths.length === 0) {
|
|
7679
|
-
es_extensions_1.Logger.logWarning({
|
|
7680
|
-
title: "Restarting may required",
|
|
7681
|
-
description: `No files has been found for the ECMAScript entry points group with id "${entryPointsGroupID_ForLogging}". ` +
|
|
7682
|
-
"Please restart the building once these files will be added"
|
|
7683
|
-
});
|
|
7684
|
-
return null;
|
|
7685
|
-
}
|
|
7686
|
-
WebpackConfigGenerator.
|
|
7687
|
-
checkForFilesWithSameDirectoryAndFileNameButDifferentExtensions(targetEntryPointsSourceFilesAbsolutePaths);
|
|
7688
|
-
for (const entryPointSourceFileAbsolutePath of targetEntryPointsSourceFilesAbsolutePaths) {
|
|
7689
|
-
const targetSourceFilePathRelativeToSourceEntryPointsTopDirectory = es_extensions_nodejs_1.ImprovedPath.
|
|
7690
|
-
computeRelativePath({
|
|
7691
|
-
comparedPath: entryPointSourceFileAbsolutePath,
|
|
7692
|
-
basePath: webpackContext
|
|
7693
|
-
});
|
|
7694
|
-
const outputFilePathWithoutFilenameExtensionRelativeToBaseOutputDirectory = (0, es_extensions_1.removeAllFileNameExtensions)(targetSourceFilePathRelativeToSourceEntryPointsTopDirectory);
|
|
7695
|
-
/* [ Webpack theory ] The key must be the output path without filename extension relative to 'output.path'.
|
|
7696
|
-
* The value must the source file path (relative or absolute), for example
|
|
7697
|
-
* { 'HikariFrontend/StarterPugTemplate/StarterPugTemplate':
|
|
7698
|
-
* 'D:/PhpStorm/InHouseDevelopment/hikari-documentation/0-Source/HikariFrontend/StarterPugTemplate.ts',
|
|
7699
|
-
* 'Minimal': 'D:/PhpStorm/InHouseDevelopment/hikari-documentation/0-Source/Minimal.ts',
|
|
7700
|
-
* 'TopPage': 'D:/PhpStorm/InHouseDevelopment/hikari-documentation/0-Source/TopPage.ts'
|
|
7701
|
-
* } */
|
|
7702
|
-
webpackEntryPoints__objectSyntax[outputFilePathWithoutFilenameExtensionRelativeToBaseOutputDirectory] = entryPointSourceFileAbsolutePath;
|
|
7703
|
-
}
|
|
7704
|
-
return webpackEntryPoints__objectSyntax;
|
|
7705
|
-
}
|
|
7706
|
-
constructor(ECMA_ScriptLogicProcessingConfigRepresentative, masterConfigRepresentative) {
|
|
7707
|
-
this.ECMA_ScriptLogicProcessingConfigRepresentative = ECMA_ScriptLogicProcessingConfigRepresentative;
|
|
7708
|
-
this.masterConfigRepresentative = masterConfigRepresentative;
|
|
7709
|
-
}
|
|
7710
|
-
generateSingleWebpackConfigurationIfAtLeastOneTargetEntryPointFileExists(entryPointsGroupSettings) {
|
|
7767
|
+
static cachedTypeScriptConfigurations = {};
|
|
7768
|
+
/* [ Approach ] Although the parameter is excessive, its properties are been pre-computed externally for other needs,
|
|
7769
|
+
* so no need to compute them again. */
|
|
7770
|
+
static generateWebpackConfigurationForEntryPointsGroupWithExistingFiles({ entryPointsSourceFilesAbsolutePaths, ECMA_ScriptLogicEntryPointsGroupSettings: entryPointsGroupSettings, ECMA_ScriptLogicProcessingConfigRepresentative, masterConfigRepresentative, mustProvideTypeScriptTypeChecking }) {
|
|
7711
7771
|
/* [ Reference ] https://webpack.js.org/configuration/entry-context/#context */
|
|
7712
7772
|
const sourceFilesTopDirectoryAbsolutePath = entryPointsGroupSettings.sourceFilesTopDirectoryAbsolutePath;
|
|
7713
7773
|
/** @see https://webpack.js.org/configuration/entry-context/#entry */
|
|
7714
|
-
const webpackEntryPointsDefinition = WebpackConfigGenerator.
|
|
7715
|
-
entryPointsGroupID_ForLogging: entryPointsGroupSettings.ID,
|
|
7716
|
-
sourceFilesGlobSelectors: entryPointsGroupSettings.sourceFilesGlobSelectors,
|
|
7717
|
-
webpackContext: sourceFilesTopDirectoryAbsolutePath
|
|
7718
|
-
});
|
|
7719
|
-
if ((0, es_extensions_1.isNull)(webpackEntryPointsDefinition)) {
|
|
7720
|
-
es_extensions_1.Logger.logWarning({
|
|
7721
|
-
title: "Empty entry point group",
|
|
7722
|
-
description: `No files has been found for the group '${entryPointsGroupSettings.ID}' of ECMAScript ` +
|
|
7723
|
-
"entry points. Please restart the build once new files will be added."
|
|
7724
|
-
});
|
|
7725
|
-
return null;
|
|
7726
|
-
}
|
|
7774
|
+
const webpackEntryPointsDefinition = WebpackConfigGenerator.getWebpackEntryObjectRespectiveToExistingEntryPoints({ entryPointsSourceFilesAbsolutePaths, webpackContext: sourceFilesTopDirectoryAbsolutePath });
|
|
7727
7775
|
let typeScriptCompilerOptions;
|
|
7728
|
-
const cachedTypeScriptCompilerOptions =
|
|
7729
|
-
|
|
7776
|
+
const cachedTypeScriptCompilerOptions = WebpackConfigGenerator.
|
|
7777
|
+
cachedTypeScriptConfigurations[entryPointsGroupSettings.typeScriptConfigurationFileAbsolutePath];
|
|
7730
7778
|
if ((0, es_extensions_1.isUndefined)(cachedTypeScriptCompilerOptions)) {
|
|
7731
7779
|
typeScriptCompilerOptions = TypeScriptSpecialist_1.default.readTypeScriptConfigurationFileAndGetCompilerOptions(entryPointsGroupSettings.typeScriptConfigurationFileAbsolutePath);
|
|
7732
|
-
this.
|
|
7780
|
+
this.cachedTypeScriptConfigurations[entryPointsGroupSettings.typeScriptConfigurationFileAbsolutePath] =
|
|
7733
7781
|
typeScriptCompilerOptions;
|
|
7734
7782
|
}
|
|
7735
7783
|
else {
|
|
7736
7784
|
typeScriptCompilerOptions = cachedTypeScriptCompilerOptions;
|
|
7737
7785
|
}
|
|
7738
|
-
const webpackPublicPath =
|
|
7786
|
+
const webpackPublicPath = WebpackConfigGenerator.computePublicPath(entryPointsGroupSettings, masterConfigRepresentative);
|
|
7739
7787
|
const willBrowserJS_LibraryBeBuilt = entryPointsGroupSettings.distributing?.exposingOfExportsFromEntryPoints.mustExpose === true &&
|
|
7740
7788
|
entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.browser;
|
|
7741
7789
|
const willNodeJS_LibraryBeBuilt = entryPointsGroupSettings.distributing?.exposingOfExportsFromEntryPoints.mustExpose === true &&
|
|
@@ -7743,6 +7791,7 @@ class WebpackConfigGenerator {
|
|
|
7743
7791
|
const willPugLibraryBeBuilt = entryPointsGroupSettings.distributing?.exposingOfExportsFromEntryPoints.mustExpose === true &&
|
|
7744
7792
|
entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.pug;
|
|
7745
7793
|
const distributingSettings = entryPointsGroupSettings.distributing;
|
|
7794
|
+
// entryPointsGroupSettings.directoriesAliasesAndCorrespondingAbsolutePathsMap
|
|
7746
7795
|
return {
|
|
7747
7796
|
name: entryPointsGroupSettings.ID,
|
|
7748
7797
|
/* [ Webpack theory ] In this case, path separators must be operating system dependent, otherwise following error
|
|
@@ -7811,20 +7860,12 @@ class WebpackConfigGenerator {
|
|
|
7811
7860
|
}, {})
|
|
7812
7861
|
} : null,
|
|
7813
7862
|
...willBrowserJS_LibraryBeBuilt ? { experiments: { outputModule: true } } : null,
|
|
7814
|
-
mode:
|
|
7815
|
-
this.masterConfigRepresentative.isLocalDevelopmentBuildingMode ?
|
|
7863
|
+
mode: masterConfigRepresentative.mustProvideIncrementalBuilding ?
|
|
7816
7864
|
"development" : "production",
|
|
7817
|
-
watch: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
7818
|
-
this.masterConfigRepresentative.isLocalDevelopmentBuildingMode,
|
|
7819
|
-
watchOptions: {
|
|
7820
|
-
ignored: ["node_modules"]
|
|
7821
|
-
},
|
|
7822
7865
|
/* [ Theory ] Although "cheap-module-source-map" causes both slow first building and slow rebuilding,
|
|
7823
7866
|
* faster alternatives including "eval" could cause the errors related with security.
|
|
7824
7867
|
* See https://stackoverflow.com/a/49100966. */
|
|
7825
|
-
devtool:
|
|
7826
|
-
this.masterConfigRepresentative.isLocalDevelopmentBuildingMode ?
|
|
7827
|
-
"cheap-module-source-map" : false,
|
|
7868
|
+
devtool: masterConfigRepresentative.mustProvideIncrementalBuilding ? "cheap-module-source-map" : false,
|
|
7828
7869
|
...entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.nodeJS ? {
|
|
7829
7870
|
node: {
|
|
7830
7871
|
__dirname: true,
|
|
@@ -7833,7 +7874,7 @@ class WebpackConfigGenerator {
|
|
|
7833
7874
|
} : null,
|
|
7834
7875
|
module: {
|
|
7835
7876
|
rules: [
|
|
7836
|
-
/*
|
|
7877
|
+
/* ━━━ Logic ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
7837
7878
|
{
|
|
7838
7879
|
test: /\.tsx?$/u,
|
|
7839
7880
|
loader: "ts-loader",
|
|
@@ -7848,7 +7889,7 @@ class WebpackConfigGenerator {
|
|
|
7848
7889
|
test: /\.vue$/u,
|
|
7849
7890
|
loader: "vue-loader"
|
|
7850
7891
|
},
|
|
7851
|
-
/*
|
|
7892
|
+
/* ━━━ Data ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
7852
7893
|
{
|
|
7853
7894
|
test: /\.json5$/u,
|
|
7854
7895
|
loader: "json5-loader"
|
|
@@ -7857,7 +7898,7 @@ class WebpackConfigGenerator {
|
|
|
7857
7898
|
test: /\.(?:yml|yaml)$/u,
|
|
7858
7899
|
use: ["yaml-loader"]
|
|
7859
7900
|
},
|
|
7860
|
-
/*
|
|
7901
|
+
/* ━━━ Markup ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
7861
7902
|
{
|
|
7862
7903
|
test: /\.pug$/u,
|
|
7863
7904
|
oneOf: [
|
|
@@ -7881,7 +7922,7 @@ class WebpackConfigGenerator {
|
|
|
7881
7922
|
}
|
|
7882
7923
|
]
|
|
7883
7924
|
},
|
|
7884
|
-
/*
|
|
7925
|
+
/* ━━━ Styles ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
7885
7926
|
{
|
|
7886
7927
|
test: /\.css$/u,
|
|
7887
7928
|
oneOf: [
|
|
@@ -7928,12 +7969,12 @@ class WebpackConfigGenerator {
|
|
|
7928
7969
|
]
|
|
7929
7970
|
},
|
|
7930
7971
|
resolve: {
|
|
7931
|
-
extensions:
|
|
7972
|
+
extensions: ECMA_ScriptLogicProcessingConfigRepresentative.
|
|
7932
7973
|
supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots.
|
|
7933
7974
|
map((fileNameExtensionWithoutDot) => `.${fileNameExtensionWithoutDot}`),
|
|
7934
7975
|
alias: {
|
|
7935
|
-
|
|
7936
|
-
|
|
7976
|
+
//
|
|
7977
|
+
...WebpackSpecialist_1.default.convertPathsAliasesFromTypeScriptFormatToWebpackFormat({
|
|
7937
7978
|
typeScriptPathsSettings: typeScriptCompilerOptions.paths,
|
|
7938
7979
|
typeScriptBasicAbsolutePath: typeScriptCompilerOptions.baseUrl ??
|
|
7939
7980
|
es_extensions_nodejs_1.ImprovedPath.extractDirectoryFromFilePath({
|
|
@@ -7951,16 +7992,16 @@ class WebpackConfigGenerator {
|
|
|
7951
7992
|
}
|
|
7952
7993
|
},
|
|
7953
7994
|
resolveLoader: WebpackSpecialist_1.default.
|
|
7954
|
-
generateLoadersResolvingSettings(
|
|
7995
|
+
generateLoadersResolvingSettings(masterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath),
|
|
7955
7996
|
...entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.nodeJS ? {
|
|
7956
7997
|
externals: [(0, webpack_node_externals_1.default)()]
|
|
7957
7998
|
} : null,
|
|
7958
7999
|
plugins: [
|
|
7959
8000
|
new webpack_1.default.DefinePlugin({
|
|
7960
|
-
__IS_LOCAL_DEVELOPMENT_BUILDING_MODE__:
|
|
7961
|
-
__IS_TESTING_BUILDING_MODE__:
|
|
7962
|
-
__IS_STAGING_BUILDING_MODE__:
|
|
7963
|
-
__IS_PRODUCTION_BUILDING_MODE__:
|
|
8001
|
+
__IS_LOCAL_DEVELOPMENT_BUILDING_MODE__: masterConfigRepresentative.isLocalDevelopmentBuildingMode,
|
|
8002
|
+
__IS_TESTING_BUILDING_MODE__: masterConfigRepresentative.isTestingBuildingMode,
|
|
8003
|
+
__IS_STAGING_BUILDING_MODE__: masterConfigRepresentative.isStagingBuildingMode,
|
|
8004
|
+
__IS_PRODUCTION_BUILDING_MODE__: masterConfigRepresentative.isProductionBuildingMode,
|
|
7964
8005
|
/* [ Theory ] Settings for the Vue 3 which must be defined explicitly.
|
|
7965
8006
|
* https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags */
|
|
7966
8007
|
...entryPointsGroupSettings.targetRuntime.type === SupportedECMA_ScriptRuntimesTypes.browser ? {
|
|
@@ -7969,8 +8010,8 @@ class WebpackConfigGenerator {
|
|
|
7969
8010
|
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
|
|
7970
8011
|
} : null
|
|
7971
8012
|
}),
|
|
7972
|
-
|
|
7973
|
-
|
|
8013
|
+
/* < === Temporary ========================================================================================== */
|
|
8014
|
+
...mustProvideTypeScriptTypeChecking ?
|
|
7974
8015
|
[
|
|
7975
8016
|
new fork_ts_checker_webpack_plugin_1.default({
|
|
7976
8017
|
typescript: {
|
|
@@ -7984,21 +8025,44 @@ class WebpackConfigGenerator {
|
|
|
7984
8025
|
}
|
|
7985
8026
|
}
|
|
7986
8027
|
})
|
|
7987
|
-
]
|
|
8028
|
+
] :
|
|
8029
|
+
[],
|
|
8030
|
+
/* === Temporary > ========================================================================================== */
|
|
7988
8031
|
new vue_loader_1.VueLoaderPlugin()
|
|
7989
8032
|
],
|
|
7990
8033
|
optimization: {
|
|
7991
|
-
minimize:
|
|
7992
|
-
|
|
7993
|
-
emitOnErrors: this.masterConfigRepresentative.isStaticPreviewBuildingMode ||
|
|
7994
|
-
this.masterConfigRepresentative.isLocalDevelopmentBuildingMode
|
|
8034
|
+
minimize: !masterConfigRepresentative.mustProvideIncrementalBuilding,
|
|
8035
|
+
emitOnErrors: masterConfigRepresentative.mustProvideIncrementalBuilding
|
|
7995
8036
|
}
|
|
7996
8037
|
};
|
|
7997
8038
|
}
|
|
8039
|
+
static getWebpackEntryObjectRespectiveToExistingEntryPoints({ entryPointsSourceFilesAbsolutePaths, webpackContext }) {
|
|
8040
|
+
/* [ Reference ] https://webpack.js.org/configuration/entry-context/#entry */
|
|
8041
|
+
const webpackEntryPoints__objectSyntax = {};
|
|
8042
|
+
WebpackConfigGenerator.
|
|
8043
|
+
checkForFilesWithSameDirectoryAndFileNameButDifferentExtensions(entryPointsSourceFilesAbsolutePaths);
|
|
8044
|
+
for (const entryPointSourceFileAbsolutePath of entryPointsSourceFilesAbsolutePaths) {
|
|
8045
|
+
const targetSourceFilePathRelativeToSourceEntryPointsTopDirectory = es_extensions_nodejs_1.ImprovedPath.
|
|
8046
|
+
computeRelativePath({
|
|
8047
|
+
comparedPath: entryPointSourceFileAbsolutePath,
|
|
8048
|
+
basePath: webpackContext
|
|
8049
|
+
});
|
|
8050
|
+
const outputFilePathWithoutFilenameExtensionRelativeToBaseOutputDirectory = (0, es_extensions_1.removeAllFileNameExtensions)(targetSourceFilePathRelativeToSourceEntryPointsTopDirectory);
|
|
8051
|
+
/* [ Webpack theory ] The key must be the output path without filename extension relative to 'output.path'.
|
|
8052
|
+
* The value must the source file path (relative or absolute), for example
|
|
8053
|
+
* { 'HikariFrontend/StarterPugTemplate/StarterPugTemplate':
|
|
8054
|
+
* 'D:/PhpStorm/InHouseDevelopment/hikari-documentation/0-Source/HikariFrontend/StarterPugTemplate.ts',
|
|
8055
|
+
* 'Minimal': 'D:/PhpStorm/InHouseDevelopment/hikari-documentation/0-Source/Minimal.ts',
|
|
8056
|
+
* 'TopPage': 'D:/PhpStorm/InHouseDevelopment/hikari-documentation/0-Source/TopPage.ts'
|
|
8057
|
+
* } */
|
|
8058
|
+
webpackEntryPoints__objectSyntax[outputFilePathWithoutFilenameExtensionRelativeToBaseOutputDirectory] = entryPointSourceFileAbsolutePath;
|
|
8059
|
+
}
|
|
8060
|
+
return webpackEntryPoints__objectSyntax;
|
|
8061
|
+
}
|
|
7998
8062
|
/* [ Webpack theory ] 'publicPath' computing
|
|
7999
8063
|
*
|
|
8000
|
-
* 1. For the production building
|
|
8001
|
-
* For the
|
|
8064
|
+
* 1. For the production-like building modes, just "/" is enough.
|
|
8065
|
+
* For the incremental building modes, everything must work without development server otherwise the customer
|
|
8002
8066
|
* could not check the application just by opening the HTML files ("/" will be resolved to the root of current hard drive).
|
|
8003
8067
|
* The known solution is the relative path: it is required to match the path where Webpack chunks are being outputted
|
|
8004
8068
|
* and the path where Webpack chunks are being searched (initially it could be different paths).
|
|
@@ -8013,12 +8077,10 @@ class WebpackConfigGenerator {
|
|
|
8013
8077
|
* 3. Chunks will be searched in
|
|
8014
8078
|
* [ path at search string of browser ] + publicPath + chunkFilename
|
|
8015
8079
|
* */
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
|
|
8019
|
-
|
|
8020
|
-
}
|
|
8021
|
-
return ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID.replace(ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID, "/");
|
|
8080
|
+
static computePublicPath(ECMA_ScriptLogicEntryPointsGroupSettings__normalized, masterConfigRepresentative) {
|
|
8081
|
+
return masterConfigRepresentative.mustProvideIncrementalBuilding ?
|
|
8082
|
+
ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID.replace(ECMA_ScriptLogicEntryPointsGroupSettings__normalized.ID, "/") :
|
|
8083
|
+
"/";
|
|
8022
8084
|
}
|
|
8023
8085
|
static checkForFilesWithSameDirectoryAndFileNameButDifferentExtensions(entryPointsSourceFilesAbsolutePaths) {
|
|
8024
8086
|
const entryPointsSourceFiles = new Set();
|
|
@@ -8171,6 +8233,7 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
|
|
|
8171
8233
|
sourceCodeLintingCommonSettings;
|
|
8172
8234
|
importingFromTypeScriptSettings;
|
|
8173
8235
|
staticPreviewSettings;
|
|
8236
|
+
routingSettings;
|
|
8174
8237
|
relevantEntryPointsGroupsSettings;
|
|
8175
8238
|
loggingSettings;
|
|
8176
8239
|
mustValidateHTML;
|
|
@@ -8182,6 +8245,7 @@ class MarkupProcessingSettingsRepresentative extends GulpStreamBasedSourceCodePr
|
|
|
8182
8245
|
this.sourceCodeLintingCommonSettings = normalizedMarkupProcessingSettings.linting;
|
|
8183
8246
|
this.importingFromTypeScriptSettings = normalizedMarkupProcessingSettings.importingFromTypeScript;
|
|
8184
8247
|
this.staticPreviewSettings = normalizedMarkupProcessingSettings.staticPreview;
|
|
8248
|
+
this.routingSettings = normalizedMarkupProcessingSettings.routing;
|
|
8185
8249
|
this.relevantEntryPointsGroupsSettings = normalizedMarkupProcessingSettings.relevantEntryPointsGroups;
|
|
8186
8250
|
this.loggingSettings = normalizedMarkupProcessingSettings.logging;
|
|
8187
8251
|
this.supportedEntryPointsSourceFileNameExtensionsWithoutLeadingDots = normalizedMarkupProcessingSettings.common.
|
|
@@ -8437,6 +8501,35 @@ var MarkupProcessingSettings__FromFile__RawValid;
|
|
|
8437
8501
|
}
|
|
8438
8502
|
}
|
|
8439
8503
|
},
|
|
8504
|
+
routing: {
|
|
8505
|
+
type: Object,
|
|
8506
|
+
required: false,
|
|
8507
|
+
preValidationModifications: es_extensions_1.nullToUndefined,
|
|
8508
|
+
properties: {
|
|
8509
|
+
$specificationFileRelativePath: {
|
|
8510
|
+
newName: "specificationFileRelativePath",
|
|
8511
|
+
type: String,
|
|
8512
|
+
required: true,
|
|
8513
|
+
minimalCharactersCount: 1
|
|
8514
|
+
},
|
|
8515
|
+
$variable: {
|
|
8516
|
+
newName: "variable",
|
|
8517
|
+
type: String,
|
|
8518
|
+
required: true,
|
|
8519
|
+
minimalCharactersCount: 1
|
|
8520
|
+
},
|
|
8521
|
+
$localizations: {
|
|
8522
|
+
newName: "localizations",
|
|
8523
|
+
type: es_extensions_1.RawObjectDataProcessor.ValuesTypesIDs.associativeArrayOfUniformTypeValues,
|
|
8524
|
+
required: false,
|
|
8525
|
+
preValidationModifications: es_extensions_1.nullToUndefined,
|
|
8526
|
+
value: {
|
|
8527
|
+
type: String,
|
|
8528
|
+
minimalCharactersCount: 1
|
|
8529
|
+
}
|
|
8530
|
+
}
|
|
8531
|
+
}
|
|
8532
|
+
},
|
|
8440
8533
|
...SourceCodeProcessingSettingsGenericProperties__FromFile__RawValid_1.default.getLocalizedPropertiesSpecification({
|
|
8441
8534
|
sourceCodeProcessingSettingsGenericPropertiesLocalization,
|
|
8442
8535
|
localizedConsumingProjectLocalizedPreDefinedBuildingModes,
|
|
@@ -8683,7 +8776,7 @@ const gulp_if_1 = __importDefault(__webpack_require__(/*! gulp-if */ "gulp-if"))
|
|
|
8683
8776
|
const gulp_data_1 = __importDefault(__webpack_require__(/*! gulp-data */ "gulp-data"));
|
|
8684
8777
|
const gulp_pug_1 = __importDefault(__webpack_require__(/*! gulp-pug */ "gulp-pug"));
|
|
8685
8778
|
const gulp_html_prettify_1 = __importDefault(__webpack_require__(/*! gulp-html-prettify */ "gulp-html-prettify"));
|
|
8686
|
-
/* ─── Third-party Solutions
|
|
8779
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
8687
8780
|
const PugPreProcessorSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist */ "./ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist.ts"));
|
|
8688
8781
|
/* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
8689
8782
|
const GulpStreamModifier_1 = __importDefault(__webpack_require__(/*! @Utils/GulpStreamModifier */ "./Utils/GulpStreamModifier.ts"));
|
|
@@ -8838,7 +8931,10 @@ class MarkupProcessor extends GulpStreamsBasedTaskExecutor_1.default {
|
|
|
8838
8931
|
__IS_LOCAL_DEVELOPMENT_BUILDING_MODE__: this.projectBuildingMasterConfigRepresentative.isLocalDevelopmentBuildingMode,
|
|
8839
8932
|
__IS_TESTING_BUILDING_MODE__: this.projectBuildingMasterConfigRepresentative.isTestingBuildingMode,
|
|
8840
8933
|
__IS_STAGING_BUILDING_MODE__: this.projectBuildingMasterConfigRepresentative.isStagingBuildingMode,
|
|
8841
|
-
__IS_PRODUCTION_BUILDING_MODE__: this.projectBuildingMasterConfigRepresentative.isProductionBuildingMode
|
|
8934
|
+
__IS_PRODUCTION_BUILDING_MODE__: this.projectBuildingMasterConfigRepresentative.isProductionBuildingMode,
|
|
8935
|
+
...(0, es_extensions_1.isNotUndefined)(this.markupProcessingSettingsRepresentative.routingSettings) ? {
|
|
8936
|
+
[this.markupProcessingSettingsRepresentative.routingSettings.variable]: this.markupProcessingSettingsRepresentative.routingSettings.routes
|
|
8937
|
+
} : null
|
|
8842
8938
|
},
|
|
8843
8939
|
filters: {
|
|
8844
8940
|
html_special_characters_to_html_entities: MarkupProcessor.convertApplicableCharactersToHTML_Entities,
|
|
@@ -11483,6 +11579,7 @@ const ConsumingProjectBuildingModes_1 = __importDefault(__webpack_require__(/*!
|
|
|
11483
11579
|
const MarkupProcessingSettings__Default_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupProcessingSettings__Default */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupProcessingSettings__Default.ts"));
|
|
11484
11580
|
/* ─── Settings normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
|
|
11485
11581
|
const SourceCodeProcessingRawSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer */ "./ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer.ts"));
|
|
11582
|
+
const RoutingSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/RawSettingsNormalizer/RoutingSettingsNormalizer */ "./ProjectBuilding/SourceCodeProcessing/Markup/RawSettingsNormalizer/RoutingSettingsNormalizer.ts"));
|
|
11486
11583
|
/* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
11487
11584
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
11488
11585
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
@@ -11520,6 +11617,16 @@ class MarkupProcessingRawSettingsNormalizer extends SourceCodeProcessingRawSetti
|
|
|
11520
11617
|
normalizeStaticPreviewStateDependentPageVariationsSpecification(),
|
|
11521
11618
|
importsFromStaticDataFiles: dataHoldingSelfInstance.normalizeImportsFromStaticDataFiles()
|
|
11522
11619
|
},
|
|
11620
|
+
...(0, es_extensions_1.isNotUndefined)(markupProcessingSettings__fromFile__rawValid.routing) ? {
|
|
11621
|
+
routing: {
|
|
11622
|
+
variable: markupProcessingSettings__fromFile__rawValid.routing.variable,
|
|
11623
|
+
routes: RoutingSettingsNormalizer_1.default.normalize({
|
|
11624
|
+
routingSettings__fromFile__rawValid: markupProcessingSettings__fromFile__rawValid.routing,
|
|
11625
|
+
projectRootDirectoryAbsolutePath: commonSettings__normalized.projectRootDirectoryAbsolutePath,
|
|
11626
|
+
absolutePathsOfSectioningToCache: new Set() // TODO Replace mock
|
|
11627
|
+
})
|
|
11628
|
+
}
|
|
11629
|
+
} : null,
|
|
11523
11630
|
relevantEntryPointsGroups: dataHoldingSelfInstance.createNormalizedEntryPointsGroupsSettings(markupProcessingSettings__fromFile__rawValid.entryPointsGroups, dataHoldingSelfInstance.
|
|
11524
11631
|
completeEntryPointsGroupNormalizedSettingsCommonPropertiesUntilMarkupEntryPointsGroupNormalizedSettings.
|
|
11525
11632
|
bind(dataHoldingSelfInstance)),
|
|
@@ -11879,6 +11986,403 @@ const markupProcessingRawSettingsNormalizerLocalization__english = {
|
|
|
11879
11986
|
exports["default"] = markupProcessingRawSettingsNormalizerLocalization__english;
|
|
11880
11987
|
|
|
11881
11988
|
|
|
11989
|
+
/***/ }),
|
|
11990
|
+
|
|
11991
|
+
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/RawSettingsNormalizer/RoutingSettingsNormalizer.ts":
|
|
11992
|
+
/*!********************************************************************************************************!*\
|
|
11993
|
+
!*** ./ProjectBuilding/SourceCodeProcessing/Markup/RawSettingsNormalizer/RoutingSettingsNormalizer.ts ***!
|
|
11994
|
+
\********************************************************************************************************/
|
|
11995
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
11996
|
+
|
|
11997
|
+
|
|
11998
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
11999
|
+
/* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
12000
|
+
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
12001
|
+
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
12002
|
+
class RoutingSettingsNormalizer {
|
|
12003
|
+
static routingPathSegments = [];
|
|
12004
|
+
static projectRootDirectoryAbsolutePath;
|
|
12005
|
+
static cachedAbsolutePathsOfSectioning = new Set();
|
|
12006
|
+
static normalize({ routingSettings__fromFile__rawValid, projectRootDirectoryAbsolutePath, absolutePathsOfSectioningToCache }) {
|
|
12007
|
+
RoutingSettingsNormalizer.cachedAbsolutePathsOfSectioning = absolutePathsOfSectioningToCache;
|
|
12008
|
+
RoutingSettingsNormalizer.projectRootDirectoryAbsolutePath = projectRootDirectoryAbsolutePath;
|
|
12009
|
+
const rawRouting = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
|
|
12010
|
+
filePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
12011
|
+
projectRootDirectoryAbsolutePath, routingSettings__fromFile__rawValid.specificationFileRelativePath
|
|
12012
|
+
]),
|
|
12013
|
+
synchronously: true,
|
|
12014
|
+
schema: es_extensions_nodejs_1.ObjectDataFilesProcessor.SupportedSchemas.YAML
|
|
12015
|
+
});
|
|
12016
|
+
const rawLocalizations = {};
|
|
12017
|
+
for (const [locale, localizationFileRelativePath] of Object.entries(routingSettings__fromFile__rawValid.localizations ?? {})) {
|
|
12018
|
+
const routingLocalizationFileAbsolutePath = es_extensions_nodejs_1.ImprovedPath.joinPathSegments([projectRootDirectoryAbsolutePath, localizationFileRelativePath], { alwaysForwardSlashSeparators: true });
|
|
12019
|
+
const routingLocalization = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
|
|
12020
|
+
filePath: routingLocalizationFileAbsolutePath,
|
|
12021
|
+
synchronously: true,
|
|
12022
|
+
schema: es_extensions_nodejs_1.ObjectDataFilesProcessor.SupportedSchemas.YAML
|
|
12023
|
+
});
|
|
12024
|
+
if (!(0, es_extensions_1.isArbitraryObject)(routingLocalization)) {
|
|
12025
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12026
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12027
|
+
customMessage: `Malformed routing localization at "${routingLocalizationFileAbsolutePath}".`
|
|
12028
|
+
}),
|
|
12029
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12030
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalize(compoundParameter)"
|
|
12031
|
+
});
|
|
12032
|
+
}
|
|
12033
|
+
rawLocalizations[locale] = routingLocalization;
|
|
12034
|
+
}
|
|
12035
|
+
if (Object.entries(rawLocalizations).length === 0) {
|
|
12036
|
+
return RoutingSettingsNormalizer.normalizeDepthLevelWiseRecursively({
|
|
12037
|
+
rawRoutingOfSpecificDepthLevel: rawRouting,
|
|
12038
|
+
outputWorkpiece: {}
|
|
12039
|
+
});
|
|
12040
|
+
}
|
|
12041
|
+
const normalizedRoutingWorkpiece = {};
|
|
12042
|
+
for (const locale of Object.keys(rawLocalizations)) {
|
|
12043
|
+
normalizedRoutingWorkpiece[locale] = {};
|
|
12044
|
+
RoutingSettingsNormalizer.normalizeDepthLevelWiseRecursively({
|
|
12045
|
+
rawRoutingOfSpecificDepthLevel: rawRouting,
|
|
12046
|
+
outputWorkpiece: normalizedRoutingWorkpiece[locale],
|
|
12047
|
+
localization: {
|
|
12048
|
+
locale,
|
|
12049
|
+
strings: rawLocalizations[locale]
|
|
12050
|
+
}
|
|
12051
|
+
});
|
|
12052
|
+
}
|
|
12053
|
+
RoutingSettingsNormalizer.cachedAbsolutePathsOfSectioning = new Set();
|
|
12054
|
+
return normalizedRoutingWorkpiece;
|
|
12055
|
+
}
|
|
12056
|
+
static normalizeDepthLevelWiseRecursively({ rawRoutingOfSpecificDepthLevel, outputWorkpiece, localization }) {
|
|
12057
|
+
if (!(0, es_extensions_1.isArbitraryObject)(rawRoutingOfSpecificDepthLevel)) {
|
|
12058
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12059
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12060
|
+
customMessage: [
|
|
12061
|
+
"Malformed routing",
|
|
12062
|
+
RoutingSettingsNormalizer.routingPathSegments.length > 0 ?
|
|
12063
|
+
[` at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}"`] : [],
|
|
12064
|
+
". ",
|
|
12065
|
+
`Must be an object while ${typeof rawRoutingOfSpecificDepthLevel} found.`
|
|
12066
|
+
].join(" ")
|
|
12067
|
+
}),
|
|
12068
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12069
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeDepthLevelWiseRecursively(...parameters)"
|
|
12070
|
+
});
|
|
12071
|
+
}
|
|
12072
|
+
RoutingSettingsNormalizer.routingPathSegments.push(RoutingSettingsNormalizer.routingPathSegments.length === 0 ? "" : "$children");
|
|
12073
|
+
for (const [routeKey, rawRoute] of Object.entries(rawRoutingOfSpecificDepthLevel)) {
|
|
12074
|
+
RoutingSettingsNormalizer.routingPathSegments[RoutingSettingsNormalizer.routingPathSegments.length - 1] = routeKey;
|
|
12075
|
+
if (!(0, es_extensions_1.isArbitraryObject)(rawRoute)) {
|
|
12076
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12077
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12078
|
+
customMessage: `Malformed routing at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}". ` +
|
|
12079
|
+
`Must be an object while ${typeof (0, es_extensions_1.nullToUndefined)(rawRoute)} found.`
|
|
12080
|
+
}),
|
|
12081
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12082
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeDepthLevelWiseRecursively(...parameters)"
|
|
12083
|
+
});
|
|
12084
|
+
}
|
|
12085
|
+
const routeURI = RoutingSettingsNormalizer.normalizeURI_IfExists(rawRoute.$URI, localization);
|
|
12086
|
+
outputWorkpiece[routeKey] = {
|
|
12087
|
+
$heading: RoutingSettingsNormalizer.normalizeHeading(rawRoute.$heading, localization),
|
|
12088
|
+
...(0, es_extensions_1.isNotNull)(routeURI) ? { $URI: routeURI } : null,
|
|
12089
|
+
...(0, es_extensions_1.isArbitraryObject)(rawRoute.$children) ? {
|
|
12090
|
+
$children: RoutingSettingsNormalizer.normalizeDepthLevelWiseRecursively({
|
|
12091
|
+
rawRoutingOfSpecificDepthLevel: rawRoute.$children,
|
|
12092
|
+
outputWorkpiece: {},
|
|
12093
|
+
localization
|
|
12094
|
+
})
|
|
12095
|
+
} : null,
|
|
12096
|
+
// TODO ========================================================================================================
|
|
12097
|
+
...(0, es_extensions_1.isArbitraryObject)(rawRoute.$sectioning) ? {
|
|
12098
|
+
$sectioning: RoutingSettingsNormalizer.normalizeSectioning(rawRoute.$sectioning, routeURI, localization)
|
|
12099
|
+
} : null
|
|
12100
|
+
};
|
|
12101
|
+
}
|
|
12102
|
+
RoutingSettingsNormalizer.routingPathSegments.pop();
|
|
12103
|
+
return outputWorkpiece;
|
|
12104
|
+
}
|
|
12105
|
+
static normalizeURI_IfExists(rawURI, localization) {
|
|
12106
|
+
if ((0, es_extensions_1.isEitherUndefinedOrNull)(rawURI)) {
|
|
12107
|
+
return null;
|
|
12108
|
+
}
|
|
12109
|
+
if (!(0, es_extensions_1.isString)(rawURI)) {
|
|
12110
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12111
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12112
|
+
customMessage: `Malformed routing at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}.$URI". ` +
|
|
12113
|
+
`Must be a string while ${typeof (0, es_extensions_1.nullToUndefined)(rawURI)} found.`
|
|
12114
|
+
}),
|
|
12115
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12116
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeURI_IfExists(rawURI, localization?)"
|
|
12117
|
+
});
|
|
12118
|
+
}
|
|
12119
|
+
let URI_Workpiece = rawURI;
|
|
12120
|
+
if (URI_Workpiece.startsWith("`")) {
|
|
12121
|
+
if ((0, es_extensions_1.isUndefined)(localization)) {
|
|
12122
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12123
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12124
|
+
customMessage: `Malformed routing at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}.$URI". ` +
|
|
12125
|
+
"The specified URI has been wrapped to backticks while no localization specified."
|
|
12126
|
+
}),
|
|
12127
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12128
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeURI_IfExists(rawURI, localization?)"
|
|
12129
|
+
});
|
|
12130
|
+
}
|
|
12131
|
+
URI_Workpiece = (0, es_extensions_1.removeSpecificCharacterFromCertainPosition)({
|
|
12132
|
+
targetString: URI_Workpiece,
|
|
12133
|
+
targetCharacter: "`",
|
|
12134
|
+
fromFirstPosition: true
|
|
12135
|
+
});
|
|
12136
|
+
URI_Workpiece = (0, es_extensions_1.removeSpecificCharacterFromCertainPosition)({
|
|
12137
|
+
targetString: URI_Workpiece,
|
|
12138
|
+
targetCharacter: "`",
|
|
12139
|
+
fromLastPosition: true
|
|
12140
|
+
});
|
|
12141
|
+
if (URI_Workpiece.includes("${")) {
|
|
12142
|
+
URI_Workpiece = (0, es_extensions_1.replaceMatchesWithRegularExpressionToDynamicValue)({
|
|
12143
|
+
targetString: URI_Workpiece,
|
|
12144
|
+
regularExpressionWithCapturingGroups: /(?<interpolation>\$\{\s*(?<variable>(?:\w|\.)+)\s*\})/gum,
|
|
12145
|
+
replacer(matching) {
|
|
12146
|
+
const variableSubstitution = (0, es_extensions_1.getObjectPropertySafely)(localization.strings, matching.namedCapturingGroups.variable);
|
|
12147
|
+
if (!(0, es_extensions_1.isString)(variableSubstitution) && !(0, es_extensions_1.isNumber)(variableSubstitution)) {
|
|
12148
|
+
return null;
|
|
12149
|
+
}
|
|
12150
|
+
return String(variableSubstitution);
|
|
12151
|
+
}
|
|
12152
|
+
});
|
|
12153
|
+
}
|
|
12154
|
+
if (URI_Workpiece.includes("$")) {
|
|
12155
|
+
const localeDependentURI = (0, es_extensions_1.getObjectPropertySafely)(localization.strings, URI_Workpiece);
|
|
12156
|
+
if (!(0, es_extensions_1.isString)(localeDependentURI)) {
|
|
12157
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12158
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12159
|
+
customMessage: `Malformed routing at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}.$URI". ` +
|
|
12160
|
+
"The specified URI is including backticks while no localization specified."
|
|
12161
|
+
}),
|
|
12162
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12163
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeURI_IfExists(rawURI, localization?)"
|
|
12164
|
+
});
|
|
12165
|
+
}
|
|
12166
|
+
return localeDependentURI;
|
|
12167
|
+
}
|
|
12168
|
+
}
|
|
12169
|
+
return URI_Workpiece;
|
|
12170
|
+
}
|
|
12171
|
+
static normalizeHeading(rawHeading, localization) {
|
|
12172
|
+
if (!(0, es_extensions_1.isString)(rawHeading)) {
|
|
12173
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12174
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12175
|
+
customMessage: [
|
|
12176
|
+
`Malformed routing at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}.$heading".`,
|
|
12177
|
+
`Must be a string while ${typeof (0, es_extensions_1.nullToUndefined)(rawHeading)} found.`
|
|
12178
|
+
].join(" ")
|
|
12179
|
+
}),
|
|
12180
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12181
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeHeading(specification, localization?)"
|
|
12182
|
+
});
|
|
12183
|
+
}
|
|
12184
|
+
let headingWorkpiece = rawHeading;
|
|
12185
|
+
if (headingWorkpiece.startsWith("`")) {
|
|
12186
|
+
if ((0, es_extensions_1.isEitherUndefinedOrNull)(localization)) {
|
|
12187
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12188
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12189
|
+
customMessage: `Malformed routing at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}.$heading".` +
|
|
12190
|
+
"The specified URI is including backticks while no localization specified."
|
|
12191
|
+
}),
|
|
12192
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12193
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeHeading(specification, localization?)"
|
|
12194
|
+
});
|
|
12195
|
+
}
|
|
12196
|
+
headingWorkpiece = (0, es_extensions_1.removeSpecificCharacterFromCertainPosition)({
|
|
12197
|
+
targetString: headingWorkpiece,
|
|
12198
|
+
targetCharacter: "`",
|
|
12199
|
+
fromFirstPosition: true
|
|
12200
|
+
});
|
|
12201
|
+
headingWorkpiece = (0, es_extensions_1.removeSpecificCharacterFromCertainPosition)({
|
|
12202
|
+
targetString: headingWorkpiece,
|
|
12203
|
+
targetCharacter: "`",
|
|
12204
|
+
fromLastPosition: true
|
|
12205
|
+
});
|
|
12206
|
+
const localizedHeading = (0, es_extensions_1.getObjectPropertySafely)(localization.strings, headingWorkpiece);
|
|
12207
|
+
if (!(0, es_extensions_1.isString)(localizedHeading)) {
|
|
12208
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12209
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12210
|
+
customMessage: [
|
|
12211
|
+
`Malformed localized heading at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}.$heading".`,
|
|
12212
|
+
`Must be a string while ${typeof (0, es_extensions_1.nullToUndefined)(localizedHeading)} found.`
|
|
12213
|
+
].join(" ")
|
|
12214
|
+
}),
|
|
12215
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12216
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeHeading(specification, localization?)"
|
|
12217
|
+
});
|
|
12218
|
+
}
|
|
12219
|
+
return localizedHeading;
|
|
12220
|
+
}
|
|
12221
|
+
return headingWorkpiece;
|
|
12222
|
+
}
|
|
12223
|
+
// TODO ==============================================================================================================
|
|
12224
|
+
/* ━━━ Sectioning ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
12225
|
+
static normalizeSectioning(rawSectioningSpecification, parentRouteURI, localization) {
|
|
12226
|
+
RoutingSettingsNormalizer.routingPathSegments.push("$sectioning");
|
|
12227
|
+
if (!(0, es_extensions_1.isNonEmptyString)(rawSectioningSpecification.$specificationFileRelativePath)) {
|
|
12228
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12229
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12230
|
+
customMessage: [
|
|
12231
|
+
`Malformed routing at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}".`,
|
|
12232
|
+
"The \"$sectioning.$specificationFileRelativePath\" must be defined with the valid file path relative " +
|
|
12233
|
+
"to project top directory."
|
|
12234
|
+
].join(" ")
|
|
12235
|
+
}),
|
|
12236
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12237
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeSectioning(rawSectioningSpecification)"
|
|
12238
|
+
});
|
|
12239
|
+
}
|
|
12240
|
+
const rawSectioning = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
|
|
12241
|
+
filePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
12242
|
+
RoutingSettingsNormalizer.projectRootDirectoryAbsolutePath,
|
|
12243
|
+
rawSectioningSpecification.$specificationFileRelativePath
|
|
12244
|
+
]),
|
|
12245
|
+
synchronously: true,
|
|
12246
|
+
schema: es_extensions_nodejs_1.ObjectDataFilesProcessor.SupportedSchemas.YAML
|
|
12247
|
+
});
|
|
12248
|
+
if (!(0, es_extensions_1.isArbitraryObject)(rawSectioning)) {
|
|
12249
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12250
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12251
|
+
customMessage: [
|
|
12252
|
+
`Malformed sectioning at "${rawSectioningSpecification.$specificationFileRelativePath}".`,
|
|
12253
|
+
`Must be an object while ${typeof rawSectioning} found.`
|
|
12254
|
+
].join(" ")
|
|
12255
|
+
}),
|
|
12256
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12257
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeSectioning(rawSectioningSpecification)"
|
|
12258
|
+
});
|
|
12259
|
+
}
|
|
12260
|
+
if (!(0, es_extensions_1.isString)(parentRouteURI)) {
|
|
12261
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12262
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12263
|
+
customMessage: `The sectioning at "${rawSectioningSpecification.$specificationFileRelativePath}" has been defined while ` +
|
|
12264
|
+
"the $URI of the parent route has not been." +
|
|
12265
|
+
"It must be defined to compute the URI for each section."
|
|
12266
|
+
}),
|
|
12267
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12268
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeSectioning(rawSectioningSpecification)"
|
|
12269
|
+
});
|
|
12270
|
+
}
|
|
12271
|
+
if ((0, es_extensions_1.isArbitraryObject)(rawSectioningSpecification.$localizations)) {
|
|
12272
|
+
if ((0, es_extensions_1.isUndefined)(localization)) {
|
|
12273
|
+
throw new Error("未処理エラー1");
|
|
12274
|
+
}
|
|
12275
|
+
const targetLocalizationFileRelativePath = rawSectioningSpecification.$localizations[localization.locale];
|
|
12276
|
+
RoutingSettingsNormalizer.routingPathSegments.push("$localizations", localization.locale);
|
|
12277
|
+
if (!(0, es_extensions_1.isString)(targetLocalizationFileRelativePath)) {
|
|
12278
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12279
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12280
|
+
customMessage: "Invalid path to sectioning localization at " +
|
|
12281
|
+
`"${RoutingSettingsNormalizer.routingPathSegments.join(".")}". ` +
|
|
12282
|
+
`Must be the string with file path relative to project root directory, ${typeof es_extensions_1.isString} found.`
|
|
12283
|
+
}),
|
|
12284
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12285
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeSectioning(rawSectioningSpecification)"
|
|
12286
|
+
});
|
|
12287
|
+
}
|
|
12288
|
+
const sectioningRawLocalization = es_extensions_nodejs_1.ObjectDataFilesProcessor.processFile({
|
|
12289
|
+
filePath: es_extensions_nodejs_1.ImprovedPath.joinPathSegments([
|
|
12290
|
+
RoutingSettingsNormalizer.projectRootDirectoryAbsolutePath, targetLocalizationFileRelativePath
|
|
12291
|
+
]),
|
|
12292
|
+
synchronously: true,
|
|
12293
|
+
schema: es_extensions_nodejs_1.ObjectDataFilesProcessor.SupportedSchemas.YAML
|
|
12294
|
+
});
|
|
12295
|
+
if (!(0, es_extensions_1.isArbitraryObject)(sectioningRawLocalization)) {
|
|
12296
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12297
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12298
|
+
customMessage: `Malformed sectioning localization at "${targetLocalizationFileRelativePath}".`
|
|
12299
|
+
}),
|
|
12300
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12301
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeSectioning(rawSectioningSpecification)"
|
|
12302
|
+
});
|
|
12303
|
+
}
|
|
12304
|
+
const normalizedLocalizedSectioning = RoutingSettingsNormalizer.normalizeSectioningDepthLevelRecursively({
|
|
12305
|
+
rawSectioningOfSpecificDepthLevel: rawSectioning,
|
|
12306
|
+
outputWorkpiece: {},
|
|
12307
|
+
localization: {
|
|
12308
|
+
locale: localization.locale,
|
|
12309
|
+
strings: sectioningRawLocalization
|
|
12310
|
+
},
|
|
12311
|
+
parentRouteURI
|
|
12312
|
+
});
|
|
12313
|
+
RoutingSettingsNormalizer.routingPathSegments.pop();
|
|
12314
|
+
return normalizedLocalizedSectioning;
|
|
12315
|
+
}
|
|
12316
|
+
return RoutingSettingsNormalizer.normalizeSectioningDepthLevelRecursively({
|
|
12317
|
+
rawSectioningOfSpecificDepthLevel: rawSectioning,
|
|
12318
|
+
outputWorkpiece: {},
|
|
12319
|
+
parentRouteURI
|
|
12320
|
+
});
|
|
12321
|
+
}
|
|
12322
|
+
static normalizeSectioningDepthLevelRecursively({ rawSectioningOfSpecificDepthLevel, outputWorkpiece, localization, parentRouteURI }) {
|
|
12323
|
+
if (!(0, es_extensions_1.isArbitraryObject)(rawSectioningOfSpecificDepthLevel)) {
|
|
12324
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12325
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12326
|
+
customMessage: [
|
|
12327
|
+
"Malformed routing",
|
|
12328
|
+
RoutingSettingsNormalizer.routingPathSegments.length > 0 ?
|
|
12329
|
+
[` at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}".`] :
|
|
12330
|
+
["."],
|
|
12331
|
+
`Must be an object while ${typeof rawSectioningOfSpecificDepthLevel} found.`
|
|
12332
|
+
].join(" ")
|
|
12333
|
+
}),
|
|
12334
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12335
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeDepthLevelWiseRecursively(...parameters)"
|
|
12336
|
+
});
|
|
12337
|
+
}
|
|
12338
|
+
RoutingSettingsNormalizer.routingPathSegments.push("");
|
|
12339
|
+
for (const [sectionKey, rawSectionMetadata] of Object.entries(rawSectioningOfSpecificDepthLevel)) {
|
|
12340
|
+
RoutingSettingsNormalizer.routingPathSegments[RoutingSettingsNormalizer.routingPathSegments.length - 1] = sectionKey;
|
|
12341
|
+
if (!(0, es_extensions_1.isArbitraryObject)(rawSectionMetadata)) {
|
|
12342
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12343
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12344
|
+
customMessage: [
|
|
12345
|
+
`Malformed sectioning at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}".`,
|
|
12346
|
+
`Must be an object while ${typeof rawSectionMetadata} found.`
|
|
12347
|
+
].join(" ")
|
|
12348
|
+
}),
|
|
12349
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12350
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeSectioningDepthLevelRecursively(compoundParameter)"
|
|
12351
|
+
});
|
|
12352
|
+
}
|
|
12353
|
+
if (!(0, es_extensions_1.isString)(rawSectionMetadata.$anchor)) {
|
|
12354
|
+
es_extensions_1.Logger.throwErrorAndLog({
|
|
12355
|
+
errorInstance: new es_extensions_1.InvalidExternalDataError({
|
|
12356
|
+
customMessage: [
|
|
12357
|
+
`Malformed sectioning at "${RoutingSettingsNormalizer.routingPathSegments.join(".")}".`,
|
|
12358
|
+
`The property "$anchor" must be defined with string while ${typeof rawSectionMetadata} found.`
|
|
12359
|
+
].join(" ")
|
|
12360
|
+
}),
|
|
12361
|
+
title: es_extensions_1.InvalidExternalDataError.localization.defaultTitle,
|
|
12362
|
+
occurrenceLocation: "RoutingSettingsNormalizer.normalizeSectioningDepthLevelRecursively(compoundParameter)"
|
|
12363
|
+
});
|
|
12364
|
+
}
|
|
12365
|
+
const normalizedSectionMetadata = {
|
|
12366
|
+
$heading: RoutingSettingsNormalizer.normalizeHeading(rawSectionMetadata.$heading, localization),
|
|
12367
|
+
$anchor: rawSectionMetadata.$anchor,
|
|
12368
|
+
$URI: `${parentRouteURI}#${rawSectionMetadata.$anchor}`,
|
|
12369
|
+
...(0, es_extensions_1.isArbitraryObject)(rawSectionMetadata.$children) ? {
|
|
12370
|
+
$children: RoutingSettingsNormalizer.normalizeSectioningDepthLevelRecursively({
|
|
12371
|
+
rawSectioningOfSpecificDepthLevel: rawSectionMetadata.$children,
|
|
12372
|
+
outputWorkpiece: {},
|
|
12373
|
+
localization,
|
|
12374
|
+
parentRouteURI
|
|
12375
|
+
})
|
|
12376
|
+
} : null
|
|
12377
|
+
};
|
|
12378
|
+
outputWorkpiece[sectionKey] = normalizedSectionMetadata;
|
|
12379
|
+
}
|
|
12380
|
+
return outputWorkpiece;
|
|
12381
|
+
}
|
|
12382
|
+
}
|
|
12383
|
+
exports["default"] = RoutingSettingsNormalizer;
|
|
12384
|
+
|
|
12385
|
+
|
|
11882
12386
|
/***/ }),
|
|
11883
12387
|
|
|
11884
12388
|
/***/ "./ProjectBuilding/SourceCodeProcessing/Markup/Subtasks/CompiledTypeScriptImporterForPug.ts":
|
|
@@ -11907,6 +12411,7 @@ const WebpackConfigGenerator_1 = __importDefault(__webpack_require__(/*! @ECMA_S
|
|
|
11907
12411
|
const WebpackSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/WebpackSpecialist */ "./ThirdPartySolutionsSpecialists/WebpackSpecialist.ts"));
|
|
11908
12412
|
const TypeScriptSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/TypeScriptSpecialist */ "./ThirdPartySolutionsSpecialists/TypeScriptSpecialist.ts"));
|
|
11909
12413
|
/* ─── General Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
12414
|
+
const fs_1 = __importDefault(__webpack_require__(/*! fs */ "fs"));
|
|
11910
12415
|
const es_extensions_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions */ "@yamato-daiwa/es-extensions");
|
|
11911
12416
|
const es_extensions_nodejs_1 = __webpack_require__(/*! @yamato-daiwa/es-extensions-nodejs */ "@yamato-daiwa/es-extensions-nodejs");
|
|
11912
12417
|
class CompiledInlineTypeScriptImporterForPug extends GulpStreamsBasedTaskExecutor_1.default {
|
|
@@ -11950,23 +12455,22 @@ class CompiledInlineTypeScriptImporterForPug extends GulpStreamsBasedTaskExecuto
|
|
|
11950
12455
|
}
|
|
11951
12456
|
})
|
|
11952
12457
|
});
|
|
11953
|
-
|
|
11954
|
-
const webpackEntryPointDefinition = WebpackConfigGenerator_1.default.getWebpackEntryObjectRespectiveToSpecifiedEntryPointsGroupSettings({
|
|
11955
|
-
entryPointsGroupID_ForLogging: "IMPORTS_FOR_PUG",
|
|
11956
|
-
sourceFilesGlobSelectors: [compiledTypeScriptImportingSettings.sourceFileAbsolutePath],
|
|
11957
|
-
webpackContext: projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath
|
|
11958
|
-
});
|
|
11959
|
-
if ((0, es_extensions_1.isNull)(webpackEntryPointDefinition)) {
|
|
12458
|
+
if (!fs_1.default.existsSync(compiledTypeScriptImportingSettings.sourceFileAbsolutePath)) {
|
|
11960
12459
|
es_extensions_1.Logger.throwErrorAndLog({
|
|
11961
12460
|
errorInstance: new es_extensions_nodejs_1.FileNotFoundError({
|
|
11962
12461
|
customMessage: `The TypeScript file "${compiledTypeScriptImportingSettings.sourceFileAbsolutePath}" for ` +
|
|
11963
|
-
"the exporting to Pug was
|
|
12462
|
+
"the exporting to Pug was found. " +
|
|
11964
12463
|
"Please create this file and provide some exports from it."
|
|
11965
12464
|
}),
|
|
11966
12465
|
title: es_extensions_nodejs_1.FileNotFoundError.localization.defaultTitle,
|
|
11967
12466
|
occurrenceLocation: "compiledInlineTypeScriptImporterForPug.constructor(...parameters)"
|
|
11968
12467
|
});
|
|
11969
12468
|
}
|
|
12469
|
+
/** @see https://webpack.js.org/configuration/entry-context/#entry */
|
|
12470
|
+
const webpackEntryPointDefinition = WebpackConfigGenerator_1.default.getWebpackEntryObjectRespectiveToExistingEntryPoints({
|
|
12471
|
+
entryPointsSourceFilesAbsolutePaths: [compiledTypeScriptImportingSettings.sourceFileAbsolutePath],
|
|
12472
|
+
webpackContext: projectBuildingMasterConfigRepresentative.consumingProjectRootDirectoryAbsolutePath
|
|
12473
|
+
});
|
|
11970
12474
|
this.webpackConfiguration = CompiledInlineTypeScriptImporterForPug.
|
|
11971
12475
|
getWebpackEntryObjectRespectiveToSpecifiedEntryPointsGroupSettings({
|
|
11972
12476
|
webpackEntryPointDefinition,
|
|
@@ -12079,7 +12583,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
12079
12583
|
const MarkupSourceFilesWatcher_1 = __importDefault(__webpack_require__(/*! @MarkupProcessing/MarkupSourceFilesWatcher */ "./ProjectBuilding/SourceCodeProcessing/Markup/MarkupSourceFilesWatcher.ts"));
|
|
12080
12584
|
/* ─── Superclass ─────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
12081
12585
|
const LinterLikeTaskExecutor_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/LinterLikeTaskExecutor */ "./ProjectBuilding/Common/TasksExecutors/GulpStreamsBased/LinterLikeTaskExecutor.ts"));
|
|
12082
|
-
/* ─── Third-party Solutions
|
|
12586
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
12083
12587
|
const PugPreProcessorSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist */ "./ThirdPartySolutionsSpecialists/PugPreProcessorSpecialist.ts"));
|
|
12084
12588
|
/* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
12085
12589
|
const pug_lint_1 = __importDefault(__webpack_require__(/*! pug-lint */ "pug-lint"));
|
|
@@ -12436,7 +12940,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
12436
12940
|
const StylesProcessingRestrictions_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesProcessingRestrictions */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesProcessingRestrictions.ts"));
|
|
12437
12941
|
/* ─── Default Settings ───────────────────────────────────────────────────────────────────────────────────────────── */
|
|
12438
12942
|
const StylesProcessingSettings__Default_1 = __importDefault(__webpack_require__(/*! @StylesProcessing/StylesProcessingSettings__Default */ "./ProjectBuilding/SourceCodeProcessing/Styles/StylesProcessingSettings__Default.ts"));
|
|
12439
|
-
/* ─── Third-party Solutions
|
|
12943
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
12440
12944
|
const StlintLinterSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/StlintLinterSpecialist */ "./ThirdPartySolutionsSpecialists/StlintLinterSpecialist.ts"));
|
|
12441
12945
|
/* ─── Settings normalizers ───────────────────────────────────────────────────────────────────────────────────────── */
|
|
12442
12946
|
const SourceCodeProcessingRawSettingsNormalizer_1 = __importDefault(__webpack_require__(/*! @ProjectBuilding:Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer */ "./ProjectBuilding/Common/RawSettingsNormalizers/SourceCodeProcessingRawSettingsNormalizer.ts"));
|
|
@@ -12779,7 +13283,7 @@ const gulp_stylus_1 = __importDefault(__webpack_require__(/*! gulp-stylus */ "gu
|
|
|
12779
13283
|
const gulp_postcss_1 = __importDefault(__webpack_require__(/*! gulp-postcss */ "gulp-postcss"));
|
|
12780
13284
|
const autoprefixer_1 = __importDefault(__webpack_require__(/*! autoprefixer */ "autoprefixer"));
|
|
12781
13285
|
const cssnano_1 = __importDefault(__webpack_require__(/*! cssnano */ "cssnano"));
|
|
12782
|
-
/* ─── Third-party Solutions
|
|
13286
|
+
/* ─── Third-party Solutions Specialists ──────────────────────────────────────────────────────────────────────────── */
|
|
12783
13287
|
const StylusPreProcessorSpecialist_1 = __importDefault(__webpack_require__(/*! @ThirdPartySolutionsSpecialists/StylusPreProcessorSpecialist */ "./ThirdPartySolutionsSpecialists/StylusPreProcessorSpecialist.ts"));
|
|
12784
13288
|
/* ─── Applied Utils ──────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
12785
13289
|
const GulpStreamModifier_1 = __importDefault(__webpack_require__(/*! @Utils/GulpStreamModifier */ "./Utils/GulpStreamModifier.ts"));
|
|
@@ -13084,6 +13588,27 @@ const ChokidarSpecialistLocalization__English = {
|
|
|
13084
13588
|
exports["default"] = ChokidarSpecialistLocalization__English;
|
|
13085
13589
|
|
|
13086
13590
|
|
|
13591
|
+
/***/ }),
|
|
13592
|
+
|
|
13593
|
+
/***/ "./ThirdPartySolutionsSpecialists/ECMA_ScriptSpecialist.ts":
|
|
13594
|
+
/*!*****************************************************************!*\
|
|
13595
|
+
!*** ./ThirdPartySolutionsSpecialists/ECMA_ScriptSpecialist.ts ***!
|
|
13596
|
+
\*****************************************************************/
|
|
13597
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
13598
|
+
|
|
13599
|
+
|
|
13600
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
13601
|
+
class ECMA_ScriptSpecialist {
|
|
13602
|
+
/* [ Fiddle ] https://regex101.com/r/4X0mYk/6 */
|
|
13603
|
+
static partialFilesIncludingDeclarationPatterns = [
|
|
13604
|
+
/* eslint-disable-next-line prefer-named-capture-group --
|
|
13605
|
+
* No simple way to know the capturing group name outside of this file. */
|
|
13606
|
+
/from\s+["']((?:\w|-|\.|\/|:)+)["']/gmu
|
|
13607
|
+
];
|
|
13608
|
+
}
|
|
13609
|
+
exports["default"] = ECMA_ScriptSpecialist;
|
|
13610
|
+
|
|
13611
|
+
|
|
13087
13612
|
/***/ }),
|
|
13088
13613
|
|
|
13089
13614
|
/***/ "./ThirdPartySolutionsSpecialists/ESLintLinterSpecialist.ts":
|
|
@@ -14796,7 +15321,7 @@ function revisionHash(data) {
|
|
|
14796
15321
|
\***********************/
|
|
14797
15322
|
/***/ ((module) => {
|
|
14798
15323
|
|
|
14799
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.5.0-alpha.
|
|
15324
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@yamato-daiwa/automation","version":"0.5.0-alpha.1","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":">=18.18.0"},"bin":{"yda":"Executable"},"files":["EntryPoint.js"],"dependencies":{"@stylistic/eslint-plugin":"1.7.2","@typescript-eslint/eslint-plugin":"7.12.0","@typescript-eslint/parser":"7.12.0","@vue/compiler-sfc":"3.4.27","@webdiscus/pug-loader":"2.11.0","@yamato-daiwa/es-extensions":"1.7.0-rc.2","@yamato-daiwa/es-extensions-nodejs":"1.7.0-alpha.10","@yamato-daiwa/style_guides":"0.2.7","autoprefixer":"10.4.19","browser-sync":"3.0.2","css-loader":"7.1.2","cssnano":"7.0.2","eslint":"8.57.0","eslint-plugin-import":"2.29.1","eslint-plugin-node":"11.1.0","eslint-plugin-react":"7.34.2","eslint-plugin-vue":"9.26.0","eslint-plugin-vue-pug":"0.6.2","fork-ts-checker-webpack-plugin":"7.3.0","gulp":"4.0.2","gulp-data":"1.3.1","gulp-html-prettify":"0.0.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","imagemin-pngquant":"9.0.2","json5-loader":"4.0.1","node-html-parser":"6.1.13","node-notifier":"10.0.1","pa11y":"8.0.0","probe-image-size":"7.2.3","pug3-ast-loader":"0.0.0","pug-lint":"2.7.0","puppeteer":"22.10.0","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.0","ts-loader":"9.5.1","vinyl":"2.2.1","vue-loader":"17.4.2","vue-style-loader":"4.1.3","w3c-html-validator":"0.8.1","webpack":"5.91.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-html-prettify":"0.0.5","@types/gulp-if":"3.0.4","@types/gulp-imagemin":"8.0.6","@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/node":"20.14.2","@types/node-notifier":"8.0.5","@types/pa11y":"5.3.7","@types/probe-image-size":"7.2.4","@types/pug":"2.0.10","@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.4.5","webpack-cli":"5.1.4"},"scripts":{"Incremental development building":"webpack --mode development","Production building":"webpack --mode production","Linting":"eslint Source","Tree diagram of source files generating":"tree Source /f"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation.git"},"bugs":{"url":"https://github.com/TokugawaTakeshi/Yamato-Daiwa-Automation/issues","email":"tokugawa.takesi@gmail.com"}}');
|
|
14800
15325
|
|
|
14801
15326
|
/***/ })
|
|
14802
15327
|
|