@kontur.candy/tools 2.250.0 → 2.251.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/distr/Common/hashUtils.js +9 -0
- package/distr/Common/hashUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +2 -12
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +2 -3
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +2 -27
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +2 -2
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +0 -3
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +2 -2
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -1
- package/distr/Tools/src/BuildTasks/FormSource.js +6 -0
- package/distr/Tools/src/BuildTasks/FormSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +3 -10
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +18 -70
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +17 -67
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +5 -5
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +0 -9
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +3 -3
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +4 -9
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +2 -8
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +4 -4
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +2 -2
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +1 -2
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -3
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -1
- package/distr/Tools/src/CandyCLI.js +3 -3
- package/distr/Tools/src/CandyCLI.js.map +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/ReadFarmConfig.js +1 -2
- package/distr/Tools/src/ReadFarmConfig.js.map +1 -1
- package/package.json +1 -1
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +0 -14
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +0 -46
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +0 -114
- package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +0 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.generateSimpleHash = void 0;
|
|
6
7
|
exports.getSimpleHashByString = getSimpleHashByString;
|
|
7
8
|
function getSimpleHashByString(source) {
|
|
8
9
|
let result = 0;
|
|
@@ -11,4 +12,12 @@ function getSimpleHashByString(source) {
|
|
|
11
12
|
}
|
|
12
13
|
return result;
|
|
13
14
|
}
|
|
15
|
+
const generateSimpleHash = (length = 8) => {
|
|
16
|
+
let result = "";
|
|
17
|
+
while (result.length < length) {
|
|
18
|
+
result += Math.random().toString(36).slice(2);
|
|
19
|
+
}
|
|
20
|
+
return result.slice(0, length);
|
|
21
|
+
};
|
|
22
|
+
exports.generateSimpleHash = generateSimpleHash;
|
|
14
23
|
//# sourceMappingURL=hashUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashUtils.js","names":["getSimpleHashByString","source","result","index","length","charCodeAt"],"sources":["../../../Common/hashUtils.ts"],"sourcesContent":["export function getSimpleHashByString(source: string): number {\n let result = 0;\n for (let index = 0; index < source.length; index++) {\n result = ((result << 5) - result + source.charCodeAt(index)) | 0;\n }\n return result;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hashUtils.js","names":["getSimpleHashByString","source","result","index","length","charCodeAt","generateSimpleHash","Math","random","toString","slice","exports"],"sources":["../../../Common/hashUtils.ts"],"sourcesContent":["export function getSimpleHashByString(source: string): number {\n let result = 0;\n for (let index = 0; index < source.length; index++) {\n result = ((result << 5) - result + source.charCodeAt(index)) | 0;\n }\n return result;\n}\n\nexport const generateSimpleHash = (length = 8): string => {\n let result = \"\";\n while (result.length < length) {\n result += Math.random().toString(36).slice(2);\n }\n return result.slice(0, length);\n};\n"],"mappings":";;;;;;;AAAO,SAASA,qBAAqBA,CAACC,MAAc,EAAU;EAC1D,IAAIC,MAAM,GAAG,CAAC;EACd,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,MAAM,CAACG,MAAM,EAAED,KAAK,EAAE,EAAE;IAChDD,MAAM,GAAI,CAACA,MAAM,IAAI,CAAC,IAAIA,MAAM,GAAGD,MAAM,CAACI,UAAU,CAACF,KAAK,CAAC,GAAI,CAAC;EACpE;EACA,OAAOD,MAAM;AACjB;AAEO,MAAMI,kBAAkB,GAAGA,CAACF,MAAM,GAAG,CAAC,KAAa;EACtD,IAAIF,MAAM,GAAG,EAAE;EACf,OAAOA,MAAM,CAACE,MAAM,GAAGA,MAAM,EAAE;IAC3BF,MAAM,IAAIK,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;EACjD;EACA,OAAOR,MAAM,CAACQ,KAAK,CAAC,CAAC,EAAEN,MAAM,CAAC;AAClC,CAAC;AAACO,OAAA,CAAAL,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -10,7 +10,6 @@ var _ILogger = require("../../Commons/Logging/ILogger");
|
|
|
10
10
|
var _StaticLogger = require("../../Commons/Logging/StaticLogger");
|
|
11
11
|
var _ChainableValueProducer = require("../../Commons/TasksCore/ChainableValueProducer");
|
|
12
12
|
var _ProcessUtils = require("../ProcessUtils/ProcessUtils");
|
|
13
|
-
var _IsWebpack = require("./IsWebpack5");
|
|
14
13
|
class BuildClientJsTask extends _ChainableValueProducer.ObservableValueProducerBase {
|
|
15
14
|
constructor(pathToWebpackProvider, resourcesDirectory, logger = (0, _StaticLogger.getLogger)()) {
|
|
16
15
|
super();
|
|
@@ -52,21 +51,12 @@ class BuildClientJsTask extends _ChainableValueProducer.ObservableValueProducerB
|
|
|
52
51
|
async buildEngineFromSources(webpackConfigPath) {
|
|
53
52
|
const action = (0, _ILogger.buildActionBegin)(this.logger, "Build client.js");
|
|
54
53
|
const workingDirectory = _path.default.dirname(webpackConfigPath);
|
|
55
|
-
|
|
56
|
-
await _ProcessUtils.ProcessUtils.execShellCommand("yarn", ["client:build", `--env`, `resourcesPath=${this.resourcesDirectory}`], workingDirectory, this.logger);
|
|
57
|
-
} else {
|
|
58
|
-
await _ProcessUtils.ProcessUtils.execShellCommand("npm", ["run", "client:build", "--", `--env`, `resourcesPath=${this.resourcesDirectory}`], workingDirectory, this.logger);
|
|
59
|
-
}
|
|
54
|
+
await _ProcessUtils.ProcessUtils.execShellCommand("npm", ["run", "client:build", "--", `--env`, `resourcesPath=${this.resourcesDirectory}`], workingDirectory, this.logger);
|
|
60
55
|
action.complete();
|
|
61
56
|
}
|
|
62
57
|
async runWatchProcess(webpackConfigPath) {
|
|
63
58
|
const workingDirectory = _path.default.dirname(webpackConfigPath);
|
|
64
|
-
|
|
65
|
-
if (await (0, _IsWebpack.isYarn)(workingDirectory)) {
|
|
66
|
-
watchProcess = _ProcessUtils.ProcessUtils.createShellProcess("yarn", ["client:build", `--env`, `resourcesPath=${this.resourcesDirectory}`, "--watch"], workingDirectory);
|
|
67
|
-
} else {
|
|
68
|
-
watchProcess = _ProcessUtils.ProcessUtils.createShellProcess("npm", ["run", "client:build", "--", `--env`, `resourcesPath=${this.resourcesDirectory}`, "--watch"], workingDirectory);
|
|
69
|
-
}
|
|
59
|
+
const watchProcess = _ProcessUtils.ProcessUtils.createShellProcess("npm", ["run", "client:build", "--", `--env`, `resourcesPath=${this.resourcesDirectory}`, "--watch"], workingDirectory);
|
|
70
60
|
watchProcess.onStdOut.subscribe(output => this.logger.verbose(output));
|
|
71
61
|
this.logger.log("Begin watch");
|
|
72
62
|
watchProcess.start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildClientJsTask.js","names":["_path","_interopRequireDefault","require","_ILogger","_StaticLogger","_ChainableValueProducer","_ProcessUtils","
|
|
1
|
+
{"version":3,"file":"BuildClientJsTask.js","names":["_path","_interopRequireDefault","require","_ILogger","_StaticLogger","_ChainableValueProducer","_ProcessUtils","BuildClientJsTask","ObservableValueProducerBase","constructor","pathToWebpackProvider","resourcesDirectory","logger","getLogger","useWatch","buildProcess","withPrefix","beginListening","beginObserve","stopListening","endObserve","undefined","kill","error","getCurrentValue","webpackConfigFile","currentValue","runWatchProcess","buildEngineFromSources","webpackConfigPath","action","buildActionBegin","workingDirectory","path","dirname","ProcessUtils","execShellCommand","complete","watchProcess","createShellProcess","onStdOut","subscribe","output","verbose","log","start","exports"],"sources":["../../../../../src/BuildTasks/ClientJS/BuildClientJsTask.ts"],"sourcesContent":["import path from \"path\";\n\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { IValueProducer } from \"../../Commons/TasksCore/BuildTask\";\nimport { ObservableValueProducerBase } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { ProcessUtils } from \"../ProcessUtils/ProcessUtils\";\nimport { ShellProcessHandle } from \"../ProcessUtils/ShellProcessHandle\";\n\nexport class BuildClientJsTask extends ObservableValueProducerBase<string> {\n private readonly pathToWebpackProvider: IValueProducer<string>;\n private useWatch = false;\n private readonly resourcesDirectory: string;\n private buildProcess?: ShellProcessHandle;\n private readonly logger: ILogger;\n\n public constructor(\n pathToWebpackProvider: IValueProducer<string>,\n resourcesDirectory: string,\n logger: ILogger = getLogger()\n ) {\n super();\n this.pathToWebpackProvider = pathToWebpackProvider;\n this.resourcesDirectory = resourcesDirectory;\n this.logger = logger.withPrefix(\"CLIENT-JS\");\n }\n\n public async beginListening(): Promise<void> {\n await this.pathToWebpackProvider.beginObserve();\n this.useWatch = true;\n }\n\n public async stopListening(): Promise<void> {\n this.useWatch = false;\n await this.pathToWebpackProvider.endObserve();\n if (this.buildProcess != undefined) {\n try {\n const buildProcess = this.buildProcess;\n this.buildProcess = undefined;\n await buildProcess.kill();\n } catch (error) {\n this.logger.error(`Failed to stop process: ${error}`);\n }\n }\n }\n\n public async getCurrentValue(): Promise<string> {\n const webpackConfigFile = await this.pathToWebpackProvider.currentValue;\n if (this.useWatch) {\n this.buildProcess = await this.runWatchProcess(webpackConfigFile);\n } else {\n await this.buildEngineFromSources(webpackConfigFile);\n }\n return webpackConfigFile;\n }\n\n private async buildEngineFromSources(webpackConfigPath: string): Promise<void> {\n const action = buildActionBegin(this.logger, \"Build client.js\");\n const workingDirectory = path.dirname(webpackConfigPath);\n await ProcessUtils.execShellCommand(\n \"npm\",\n [\"run\", \"client:build\", \"--\", `--env`, `resourcesPath=${this.resourcesDirectory}`],\n workingDirectory,\n this.logger\n );\n action.complete();\n }\n\n private async runWatchProcess(webpackConfigPath: string): Promise<ShellProcessHandle> {\n const workingDirectory = path.dirname(webpackConfigPath);\n const watchProcess = ProcessUtils.createShellProcess(\n \"npm\",\n [\"run\", \"client:build\", \"--\", `--env`, `resourcesPath=${this.resourcesDirectory}`, \"--watch\"],\n workingDirectory\n );\n watchProcess.onStdOut.subscribe(output => this.logger.verbose(output));\n this.logger.log(\"Begin watch\");\n watchProcess.start();\n return watchProcess;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,6 @@ var _ILogger = require("../../Commons/Logging/ILogger");
|
|
|
10
10
|
var _StaticLogger = require("../../Commons/Logging/StaticLogger");
|
|
11
11
|
var _ChainableValueProducer = require("../../Commons/TasksCore/ChainableValueProducer");
|
|
12
12
|
var _ProcessUtils = require("../ProcessUtils/ProcessUtils");
|
|
13
|
-
var _IsWebpack = require("../ClientJS/IsWebpack5");
|
|
14
13
|
class BuildLocalEngineTask extends _ChainableValueProducer.ObservableValueProducerBase {
|
|
15
14
|
constructor(pathToWebpackProvider, resourcesDirectory, buildDebugOnly, logger) {
|
|
16
15
|
super();
|
|
@@ -54,7 +53,7 @@ class BuildLocalEngineTask extends _ChainableValueProducer.ObservableValueProduc
|
|
|
54
53
|
async buildEngineFromSources(webpackConfigPath) {
|
|
55
54
|
const action = (0, _ILogger.buildActionBegin)(this.logger, "Build engine");
|
|
56
55
|
const workingDirectory = _path.default.dirname(webpackConfigPath);
|
|
57
|
-
const buildProcess =
|
|
56
|
+
const buildProcess = _ProcessUtils.ProcessUtils.createShellProcess(`npm`, ["run", "runtime:build", "--", `--env`, `resourcesPath=${this.resourcesDirectory}`, ...this.getBuildOptions()], workingDirectory);
|
|
58
57
|
buildProcess.onStdOut.subscribe(data => this.logger.log(data.trimRight()));
|
|
59
58
|
buildProcess.start();
|
|
60
59
|
const code = await buildProcess.waitForExit();
|
|
@@ -71,7 +70,7 @@ class BuildLocalEngineTask extends _ChainableValueProducer.ObservableValueProduc
|
|
|
71
70
|
}
|
|
72
71
|
async runWatchProcess(webpackConfigPath) {
|
|
73
72
|
const workingDirectory = _path.default.dirname(webpackConfigPath);
|
|
74
|
-
const result =
|
|
73
|
+
const result = _ProcessUtils.ProcessUtils.createShellProcess("npm", ["run", "runtime:build", "--", "--watch", `--env`, `resourcesPath=${this.resourcesDirectory}`, ...this.getBuildOptions()], workingDirectory);
|
|
75
74
|
result.onStdOut.subscribe(data => this.logger.log(data.trimRight()));
|
|
76
75
|
this.logger.log("Begin watch");
|
|
77
76
|
result.start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildLocalEngineTask.js","names":["_path","_interopRequireDefault","require","_ILogger","_StaticLogger","_ChainableValueProducer","_ProcessUtils","
|
|
1
|
+
{"version":3,"file":"BuildLocalEngineTask.js","names":["_path","_interopRequireDefault","require","_ILogger","_StaticLogger","_ChainableValueProducer","_ProcessUtils","BuildLocalEngineTask","ObservableValueProducerBase","constructor","pathToWebpackProvider","resourcesDirectory","buildDebugOnly","logger","useWatch","buildProcess","getLogger","withPrefix","beginListening","beginObserve","stopListening","endObserve","undefined","kill","error","getCurrentValue","webpackConfigFile","currentValue","runWatchProcess","buildEngineFromSources","webpackConfigPath","action","buildActionBegin","workingDirectory","path","dirname","ProcessUtils","createShellProcess","getBuildOptions","onStdOut","subscribe","data","log","trimRight","start","code","waitForExit","Error","complete","result","exports"],"sources":["../../../../../src/BuildTasks/Engine/BuildLocalEngineTask.ts"],"sourcesContent":["import path from \"path\";\n\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { IValueProducer } from \"../../Commons/TasksCore/BuildTask\";\nimport { ObservableValueProducerBase } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { ProcessUtils } from \"../ProcessUtils/ProcessUtils\";\nimport { ShellProcessHandle } from \"../ProcessUtils/ShellProcessHandle\";\n\nexport class BuildLocalEngineTask extends ObservableValueProducerBase<string> {\n private readonly pathToWebpackProvider: IValueProducer<string>;\n private readonly logger: ILogger;\n private useWatch = false;\n private readonly resourcesDirectory: string;\n private buildProcess?: ShellProcessHandle;\n private readonly buildDebugOnly: boolean;\n\n public constructor(\n pathToWebpackProvider: IValueProducer<string>,\n resourcesDirectory: string,\n buildDebugOnly: boolean,\n logger?: ILogger\n ) {\n super();\n this.pathToWebpackProvider = pathToWebpackProvider;\n this.resourcesDirectory = resourcesDirectory;\n this.logger = (logger || getLogger()).withPrefix(\"ENGINE\");\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async beginListening(): Promise<void> {\n await this.pathToWebpackProvider.beginObserve();\n this.useWatch = true;\n }\n\n public async stopListening(): Promise<void> {\n this.useWatch = false;\n await this.pathToWebpackProvider.endObserve();\n if (this.buildProcess != undefined) {\n try {\n const buildProcess = this.buildProcess;\n this.buildProcess = undefined;\n await buildProcess.kill();\n } catch (error) {\n this.logger.error(`Failed to stop process: ${error}`);\n }\n }\n }\n\n public async getCurrentValue(): Promise<string> {\n const webpackConfigFile = await this.pathToWebpackProvider.currentValue;\n if (this.useWatch) {\n this.buildProcess = await this.runWatchProcess(webpackConfigFile);\n } else {\n await this.buildEngineFromSources(webpackConfigFile);\n }\n return webpackConfigFile;\n }\n\n private async buildEngineFromSources(webpackConfigPath: string): Promise<void> {\n const action = buildActionBegin(this.logger, \"Build engine\");\n const workingDirectory = path.dirname(webpackConfigPath);\n const buildProcess = ProcessUtils.createShellProcess(\n `npm`,\n [\n \"run\",\n \"runtime:build\",\n \"--\",\n `--env`,\n `resourcesPath=${this.resourcesDirectory}`,\n ...this.getBuildOptions(),\n ],\n workingDirectory\n );\n buildProcess.onStdOut.subscribe(data => this.logger.log(data.trimRight()));\n buildProcess.start();\n const code = await buildProcess.waitForExit();\n if (code !== 0) {\n throw new Error(`Executed with exit code ${code}`);\n }\n action.complete();\n }\n\n private getBuildOptions(): string[] {\n if (this.buildDebugOnly) {\n return [\"--env\", \"development=true\", \"--env\", \"testing=false\", \"--env\", \"production=false\"];\n }\n return [];\n }\n\n private async runWatchProcess(webpackConfigPath: string): Promise<ShellProcessHandle> {\n const workingDirectory = path.dirname(webpackConfigPath);\n\n const result = ProcessUtils.createShellProcess(\n \"npm\",\n [\n \"run\",\n \"runtime:build\",\n \"--\",\n \"--watch\",\n `--env`,\n `resourcesPath=${this.resourcesDirectory}`,\n ...this.getBuildOptions(),\n ],\n workingDirectory\n );\n result.onStdOut.subscribe(data => this.logger.log(data.trimRight()));\n this.logger.log(\"Begin watch\");\n result.start();\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,38 +7,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.createClientViteConfigTask = createClientViteConfigTask;
|
|
8
8
|
exports.createClientWebpackConfigTask = createClientWebpackConfigTask;
|
|
9
9
|
exports.createEngineWebpackConfigTask = createEngineWebpackConfigTask;
|
|
10
|
-
exports.isNewEngineStructure = isNewEngineStructure;
|
|
11
|
-
exports.isOldGeneratorGetSugarTextsStructure = isOldGeneratorGetSugarTextsStructure;
|
|
12
|
-
exports.isOldGeneratorSourcesStructure = isOldGeneratorSourcesStructure;
|
|
13
10
|
var _path = _interopRequireDefault(require("path"));
|
|
14
|
-
var _fsExtra = require("fs-extra");
|
|
15
11
|
var _Observe = require("../Commons/TasksCore/Observe");
|
|
16
|
-
/// Новая стркутуа генератора -- когда при компиляции генератора, в каталог также компилируется движок и в
|
|
17
|
-
// каталоге dist оказываются папки Engine и Generator
|
|
18
|
-
async function isOldGeneratorSourcesStructure(pathToGenerator) {
|
|
19
|
-
return (0, _fsExtra.pathExists)(_path.default.join(pathToGenerator, "dist", "generators", "processSugar.js"));
|
|
20
|
-
}
|
|
21
|
-
async function isOldGeneratorGetSugarTextsStructure(pathToGenerator) {
|
|
22
|
-
return (0, _fsExtra.pathExists)(_path.default.join(pathToGenerator, "dist", "generators", "getSugarTexts.js"));
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/// Новая стркутуа -- когда каталоги движка и генератора находятся на двух разных уровнях
|
|
26
|
-
async function isNewEngineStructure(engineDirectory) {
|
|
27
|
-
return !(await (0, _fsExtra.pathExists)(_path.default.join(engineDirectory, "webpack.config.js")));
|
|
28
|
-
}
|
|
29
12
|
async function createEngineWebpackConfigTask(engineDirectory) {
|
|
30
|
-
|
|
31
|
-
return _Observe.Observe.file(_path.default.join(engineDirectory, "Engine", "webpack.config.js"));
|
|
32
|
-
} else {
|
|
33
|
-
return _Observe.Observe.file(_path.default.join(engineDirectory, "webpack.config.js"));
|
|
34
|
-
}
|
|
13
|
+
return _Observe.Observe.file(_path.default.join(engineDirectory, "webpack.config.js"));
|
|
35
14
|
}
|
|
36
15
|
async function createClientWebpackConfigTask(engineDirectory) {
|
|
37
|
-
|
|
38
|
-
return _Observe.Observe.file(_path.default.join(engineDirectory, "Engine", "clientjs.webpack.config.js"));
|
|
39
|
-
} else {
|
|
40
|
-
return _Observe.Observe.file(_path.default.join(engineDirectory, "clientjs.webpack.config.js"));
|
|
41
|
-
}
|
|
16
|
+
return _Observe.Observe.file(_path.default.join(engineDirectory, "clientjs.webpack.config.js"));
|
|
42
17
|
}
|
|
43
18
|
async function createClientViteConfigTask(engineDirectory) {
|
|
44
19
|
return _Observe.Observe.file(_path.default.join(engineDirectory, "Widgets", "CandyWidget", "vite", "common.ts"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineStructureUtils.js","names":["_path","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"EngineStructureUtils.js","names":["_path","_interopRequireDefault","require","_Observe","createEngineWebpackConfigTask","engineDirectory","Observe","file","path","join","createClientWebpackConfigTask","createClientViteConfigTask"],"sources":["../../../../src/BuildTasks/EngineStructureUtils.ts"],"sourcesContent":["import path from \"path\";\n\nimport { ChainableValueProducer } from \"../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../Commons/TasksCore/Observe\";\n\nexport async function createEngineWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n return Observe.file(path.join(engineDirectory, \"webpack.config.js\"));\n}\n\nexport async function createClientWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n return Observe.file(path.join(engineDirectory, \"clientjs.webpack.config.js\"));\n}\n\nexport async function createClientViteConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n return Observe.file(path.join(engineDirectory, \"Widgets\", \"CandyWidget\", \"vite\", \"common.ts\"));\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AAEO,eAAeE,6BAA6BA,CAACC,eAAuB,EAA2C;EAClH,OAAOC,gBAAO,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACJ,eAAe,EAAE,mBAAmB,CAAC,CAAC;AACxE;AAEO,eAAeK,6BAA6BA,CAACL,eAAuB,EAA2C;EAClH,OAAOC,gBAAO,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACJ,eAAe,EAAE,4BAA4B,CAAC,CAAC;AACjF;AAEO,eAAeM,0BAA0BA,CAACN,eAAuB,EAA2C;EAC/G,OAAOC,gBAAO,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACJ,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClG","ignoreList":[]}
|
|
@@ -23,10 +23,10 @@ class DefaultFileWriter {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
async function generateForm(formSourcesPath, farmDirectory,
|
|
26
|
+
async function generateForm(formSourcesPath, farmDirectory, generator, parentLogger = (0, _StaticLogger.getLogger)(), generationOptions, fileWriter = new DefaultFileWriter()) {
|
|
27
27
|
const logger = parentLogger.withPrefix(`GENERATE:${(0, _FormPathUtils.extractGfvFromFormPath)(formSourcesPath)}`);
|
|
28
28
|
const action = (0, _ILogger.buildActionBegin)(logger, "Generation");
|
|
29
|
-
const generatedContent = await generator.readSourcesAndProcessSugar(formSourcesPath, farmDirectory,
|
|
29
|
+
const generatedContent = await generator.readSourcesAndProcessSugar(formSourcesPath, farmDirectory, generationOptions);
|
|
30
30
|
logger.log("Writing files");
|
|
31
31
|
await writeGeneratedFiles(generatedContent, path.join(formSourcesPath, "form"), fileWriter);
|
|
32
32
|
action.complete();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateForm.js","names":["path","_interopRequireWildcard","require","_fsExtra","_FsUtils","_ILogger","_StaticLogger","_FormPathUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DefaultFileWriter","writeBatch","fileBatch","filePath","keys","content","undefined","ensureDir","parse","dir","writeFileAsync","generateForm","formSourcesPath","farmDirectory","
|
|
1
|
+
{"version":3,"file":"GenerateForm.js","names":["path","_interopRequireWildcard","require","_fsExtra","_FsUtils","_ILogger","_StaticLogger","_FormPathUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DefaultFileWriter","writeBatch","fileBatch","filePath","keys","content","undefined","ensureDir","parse","dir","writeFileAsync","generateForm","formSourcesPath","farmDirectory","generator","parentLogger","getLogger","generationOptions","fileWriter","logger","withPrefix","extractGfvFromFormPath","action","buildActionBegin","generatedContent","readSourcesAndProcessSugar","log","writeGeneratedFiles","join","complete","candyFormContent","outputDirectory"],"sources":["../../../../../src/BuildTasks/Form/GenerateForm.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { ensureDir } from \"fs-extra\";\n\nimport { writeFileAsync } from \"../../Commons/FsUtils\";\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { FormResources, FormSource, SugarContent } from \"../FormSource\";\nimport { extractGfvFromFormPath } from \"../../../../Common/FormPathUtils\";\nimport { ExtractorResult } from \"../../../../Common/TextExtractor/TextExtractorTypes\";\n\nexport interface GeneratedForm {\n [relativeFileName: string]: Buffer | string;\n}\n\nexport interface LocalizationDictionaryContent {\n [relativeFileName: string]: string;\n}\n\nexport interface LocalizationEntryPoint {\n getLocalizedSugar(sugarFiles: SugarContent, resources: FormResources): Promise<SugarContent>;\n getDictionary(sugarFiles: SugarContent, resources: FormResources): Promise<LocalizationDictionaryContent>;\n}\n\nexport interface FormGenerator {\n readSources(formSourcesPath: string, farmDirectory: string): Promise<FormSource>;\n getAllDependencies(formSourcesPath: string, farmDirectory: string): Promise<string[]>;\n getAllDependenciesHash(formSourcesPath: string, farmDirectory: string): Promise<string>;\n supportsDependenciesExtraction(): Promise<boolean>;\n readSourcesAndProcessSugar(\n formSourcesPath: string,\n farmDirectory: string,\n generationOptions?: GenerationOptions\n ): Promise<GeneratedForm>;\n getLocalizedSugar(sugarFiles: SugarContent, resources: FormResources): Promise<SugarContent>;\n getDictionary(sugarFiles: SugarContent, resources: FormResources): Promise<LocalizationDictionaryContent>;\n getSugarTexts(formSourcesPath: string, farmDirectory: string): Promise<ExtractorResult>;\n}\n\nexport interface GenerationOptions {\n skipCodeReformatting: boolean;\n resourcesHash: string;\n}\n\nexport interface IFileWriter {\n writeBatch(fileBatch: { [absoluteFileName: string]: string }): Promise<void>;\n}\n\nclass DefaultFileWriter implements IFileWriter {\n public async writeBatch(fileBatch: { [absoluteFileName: string]: string }): Promise<void> {\n for (const filePath of Object.keys(fileBatch)) {\n const content = fileBatch[filePath];\n if (content != undefined && content !== \"\") {\n await ensureDir(path.parse(filePath).dir);\n await writeFileAsync(filePath, content);\n }\n }\n }\n}\n\nexport async function generateForm(\n formSourcesPath: string,\n farmDirectory: string,\n generator: FormGenerator,\n parentLogger: ILogger = getLogger(),\n generationOptions?: GenerationOptions,\n fileWriter: IFileWriter = new DefaultFileWriter()\n): Promise<void> {\n const logger = parentLogger.withPrefix(`GENERATE:${extractGfvFromFormPath(formSourcesPath)}`);\n const action = buildActionBegin(logger, \"Generation\");\n const generatedContent = await generator.readSourcesAndProcessSugar(\n formSourcesPath,\n farmDirectory,\n generationOptions\n );\n logger.log(\"Writing files\");\n await writeGeneratedFiles(generatedContent, path.join(formSourcesPath, \"form\"), fileWriter);\n action.complete();\n}\n\nasync function writeGeneratedFiles(\n candyFormContent: GeneratedForm,\n outputDirectory: string,\n fileWriter: IFileWriter\n): Promise<void> {\n const fileBatch = {};\n for (const filePath of Object.keys(candyFormContent)) {\n const content = candyFormContent[filePath];\n if (content != undefined && content !== \"\") {\n // @ts-ignore\n fileBatch[path.join(outputDirectory, filePath)] = content;\n }\n }\n await fileWriter.writeBatch(fileBatch);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NullFormGenerator.js","names":["NullFormGenerator","getAllDependencies","Error","getAllDependenciesHash","getDictionary","getLocalizedSugar","
|
|
1
|
+
{"version":3,"file":"NullFormGenerator.js","names":["NullFormGenerator","getAllDependencies","Error","getAllDependenciesHash","getDictionary","getLocalizedSugar","readSources","readSourcesAndProcessSugar","supportsDependenciesExtraction","getSugarTexts","exports"],"sources":["../../../../../src/BuildTasks/Form/NullFormGenerator.ts"],"sourcesContent":["import { FormSource, SugarContent } from \"../FormSource\";\nimport { ExtractorResult } from \"../../../../Common/TextExtractor/TextExtractorTypes\";\n\nimport { FormGenerator, GeneratedForm, LocalizationDictionaryContent } from \"./GenerateForm\";\n\nexport class NullFormGenerator implements FormGenerator {\n public getAllDependencies(): Promise<string[]> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getAllDependenciesHash(): Promise<string> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getDictionary(): Promise<LocalizationDictionaryContent> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getLocalizedSugar(): Promise<SugarContent> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public readSources(): Promise<FormSource> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public readSourcesAndProcessSugar(): Promise<GeneratedForm> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public supportsDependenciesExtraction(): Promise<boolean> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getSugarTexts(): Promise<ExtractorResult> {\n throw new Error(\"GenerationNotSupported\");\n }\n}\n"],"mappings":";;;;;;AAKO,MAAMA,iBAAiB,CAA0B;EAC7CC,kBAAkBA,CAAA,EAAsB;IAC3C,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOC,sBAAsBA,CAAA,EAAoB;IAC7C,MAAM,IAAID,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOE,aAAaA,CAAA,EAA2C;IAC3D,MAAM,IAAIF,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOG,iBAAiBA,CAAA,EAA0B;IAC9C,MAAM,IAAIH,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOI,WAAWA,CAAA,EAAwB;IACtC,MAAM,IAAIJ,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOK,0BAA0BA,CAAA,EAA2B;IACxD,MAAM,IAAIL,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOM,8BAA8BA,CAAA,EAAqB;IACtD,MAAM,IAAIN,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOO,aAAaA,CAAA,EAA6B;IAC7C,MAAM,IAAIP,KAAK,CAAC,wBAAwB,CAAC;EAC7C;AACJ;AAACQ,OAAA,CAAAV,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -12,10 +12,10 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
12
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
13
|
async function writeFLangNormalizationFiles(gfv, formDirectory, resourcesDirectory, parentLogger = (0, _StaticLogger.getLogger)(), buildCache, buildCacheOptions, buildCacheExist) {
|
|
14
14
|
await (0, _WriteResourceFile.writeResourceFile)("FLASHNORM", "ServerSide.normalize", path.join("normalize", `${gfv}.normalize`), gfv, formDirectory, resourcesDirectory, parentLogger, buildCache, buildCacheOptions, buildCacheExist);
|
|
15
|
-
const formDistPath = path.join(formDirectory, "
|
|
15
|
+
const formDistPath = path.join(formDirectory, "normalizers");
|
|
16
16
|
const flangFiles = (await (0, _fsExtra.pathExists)(formDistPath)) ? (await (0, _fsExtra.readdir)(formDistPath)).filter(x => path.extname(x) === ".flang") : [];
|
|
17
17
|
for (const flangFile of flangFiles) {
|
|
18
|
-
await (0, _WriteResourceFile.writeResourceFile)("FLASHNORM", flangFile, path.join("normalize", `${gfv}.${flangFile}`), gfv, formDirectory, resourcesDirectory, parentLogger, buildCache, buildCacheOptions, buildCacheExist);
|
|
18
|
+
await (0, _WriteResourceFile.writeResourceFile)("FLASHNORM", path.join("..", "normalizers", flangFile), path.join("normalize", `${gfv}.${flangFile}`), gfv, formDirectory, resourcesDirectory, parentLogger, buildCache, buildCacheOptions, buildCacheExist);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=WriteFLangNormalizationFiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteFLangNormalizationFiles.js","names":["path","_interopRequireWildcard","require","_fsExtra","_StaticLogger","_WriteResourceFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","writeFLangNormalizationFiles","gfv","formDirectory","resourcesDirectory","parentLogger","getLogger","buildCache","buildCacheOptions","buildCacheExist","writeResourceFile","join","formDistPath","flangFiles","pathExists","readdir","filter","x","extname","flangFile"],"sources":["../../../../../src/BuildTasks/Form/WriteFLangNormalizationFiles.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists, readdir } from \"fs-extra\";\n\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { BuildCache, FormBuildCacheOptions } from \"../../FormWebpackConfiguration/CacheAssetsPlugin\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\n\nimport { writeResourceFile } from \"./WriteResourceFile\";\n\nexport async function writeFLangNormalizationFiles(\n gfv: string,\n formDirectory: string,\n resourcesDirectory: string,\n parentLogger: ILogger = getLogger(),\n buildCache?: BuildCache,\n buildCacheOptions?: FormBuildCacheOptions,\n buildCacheExist?: boolean\n): Promise<void> {\n await writeResourceFile(\n \"FLASHNORM\",\n \"ServerSide.normalize\",\n path.join(\"normalize\", `${gfv}.normalize`),\n gfv,\n formDirectory,\n resourcesDirectory,\n parentLogger,\n buildCache,\n buildCacheOptions,\n buildCacheExist\n );\n\n const formDistPath = path.join(formDirectory, \"
|
|
1
|
+
{"version":3,"file":"WriteFLangNormalizationFiles.js","names":["path","_interopRequireWildcard","require","_fsExtra","_StaticLogger","_WriteResourceFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","writeFLangNormalizationFiles","gfv","formDirectory","resourcesDirectory","parentLogger","getLogger","buildCache","buildCacheOptions","buildCacheExist","writeResourceFile","join","formDistPath","flangFiles","pathExists","readdir","filter","x","extname","flangFile"],"sources":["../../../../../src/BuildTasks/Form/WriteFLangNormalizationFiles.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists, readdir } from \"fs-extra\";\n\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { BuildCache, FormBuildCacheOptions } from \"../../FormWebpackConfiguration/CacheAssetsPlugin\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\n\nimport { writeResourceFile } from \"./WriteResourceFile\";\n\nexport async function writeFLangNormalizationFiles(\n gfv: string,\n formDirectory: string,\n resourcesDirectory: string,\n parentLogger: ILogger = getLogger(),\n buildCache?: BuildCache,\n buildCacheOptions?: FormBuildCacheOptions,\n buildCacheExist?: boolean\n): Promise<void> {\n await writeResourceFile(\n \"FLASHNORM\",\n \"ServerSide.normalize\",\n path.join(\"normalize\", `${gfv}.normalize`),\n gfv,\n formDirectory,\n resourcesDirectory,\n parentLogger,\n buildCache,\n buildCacheOptions,\n buildCacheExist\n );\n\n const formDistPath = path.join(formDirectory, \"normalizers\");\n const flangFiles = (await pathExists(formDistPath))\n ? (await readdir(formDistPath)).filter(x => path.extname(x) === \".flang\")\n : [];\n\n for (const flangFile of flangFiles) {\n await writeResourceFile(\n \"FLASHNORM\",\n path.join(\"..\", \"normalizers\", flangFile),\n path.join(\"normalize\", `${gfv}.${flangFile}`),\n gfv,\n formDirectory,\n resourcesDirectory,\n parentLogger,\n buildCache,\n buildCacheOptions,\n buildCacheExist\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAIA,IAAAE,aAAA,GAAAF,OAAA;AAEA,IAAAG,kBAAA,GAAAH,OAAA;AAAwD,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEjD,eAAeW,4BAA4BA,CAC9CC,GAAW,EACXC,aAAqB,EACrBC,kBAA0B,EAC1BC,YAAqB,GAAG,IAAAC,uBAAS,EAAC,CAAC,EACnCC,UAAuB,EACvBC,iBAAyC,EACzCC,eAAyB,EACZ;EACb,MAAM,IAAAC,oCAAiB,EACnB,WAAW,EACX,sBAAsB,EACtBnC,IAAI,CAACoC,IAAI,CAAC,WAAW,EAAE,GAAGT,GAAG,YAAY,CAAC,EAC1CA,GAAG,EACHC,aAAa,EACbC,kBAAkB,EAClBC,YAAY,EACZE,UAAU,EACVC,iBAAiB,EACjBC,eACJ,CAAC;EAED,MAAMG,YAAY,GAAGrC,IAAI,CAACoC,IAAI,CAACR,aAAa,EAAE,aAAa,CAAC;EAC5D,MAAMU,UAAU,GAAG,CAAC,MAAM,IAAAC,mBAAU,EAACF,YAAY,CAAC,IAC5C,CAAC,MAAM,IAAAG,gBAAO,EAACH,YAAY,CAAC,EAAEI,MAAM,CAACC,CAAC,IAAI1C,IAAI,CAAC2C,OAAO,CAACD,CAAC,CAAC,KAAK,QAAQ,CAAC,GACvE,EAAE;EAER,KAAK,MAAME,SAAS,IAAIN,UAAU,EAAE;IAChC,MAAM,IAAAH,oCAAiB,EACnB,WAAW,EACXnC,IAAI,CAACoC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAEQ,SAAS,CAAC,EACzC5C,IAAI,CAACoC,IAAI,CAAC,WAAW,EAAE,GAAGT,GAAG,IAAIiB,SAAS,EAAE,CAAC,EAC7CjB,GAAG,EACHC,aAAa,EACbC,kBAAkB,EAClBC,YAAY,EACZE,UAAU,EACVC,iBAAiB,EACjBC,eACJ,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSource.js","names":[],"sources":["../../../../src/BuildTasks/FormSource.ts"],"sourcesContent":["export interface SugarContent {\n [sugarFileNameWithoutExtension: string]: string;\n}\n\nexport interface CustomControlsContent {\n [key: string]: string;\n}\n\nexport interface FormResources {\n gfv: string;\n additionalSettings: undefined | string;\n autocalcsContent: string[];\n helpersContent: Array<{ filename: string; content: string }>;\n commonHelpersContent: Array<{ filename: string; content: string }>;\n validationsContent: Array<{ filename: string; content: string }>;\n schemaRngContent: string;\n kcJsXmlContent: undefined | string;\n kcLangContent: undefined | string;\n tourSteps: undefined | string;\n hooksContent: undefined | string;\n customControlsContent: CustomControlsContent;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n preprocessor?: any[];\n}\n\nexport interface FormSource {\n sugarContent: SugarContent;\n resources: FormResources;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -13,9 +13,7 @@ var _ExecUtils = require("../../Commons/ExecUtils");
|
|
|
13
13
|
var _ILogger = require("../../Commons/Logging/ILogger");
|
|
14
14
|
var _StaticLogger = require("../../Commons/Logging/StaticLogger");
|
|
15
15
|
var _ChainableValueProducer = require("../../Commons/TasksCore/ChainableValueProducer");
|
|
16
|
-
var _EngineStructureUtils = require("../EngineStructureUtils");
|
|
17
16
|
var _ProcessUtils = require("../ProcessUtils/ProcessUtils");
|
|
18
|
-
var _IsWebpack = require("../ClientJS/IsWebpack5");
|
|
19
17
|
var _CreateAsyncGenerator = require("./GeneratorWorker/CreateAsyncGenerator");
|
|
20
18
|
const generatorBuildLimit = (0, _pLimit.default)(1);
|
|
21
19
|
class BuildGeneratorFromSourcesTask extends _ChainableValueProducer.ObservableValueProducerBase {
|
|
@@ -83,12 +81,12 @@ class BuildGeneratorFromSourcesTask extends _ChainableValueProducer.ObservableVa
|
|
|
83
81
|
return result;
|
|
84
82
|
}
|
|
85
83
|
async getBuildDirectory() {
|
|
86
|
-
return
|
|
84
|
+
return this.pathToEngineSources;
|
|
87
85
|
}
|
|
88
86
|
async runWatchProcessStarted() {
|
|
89
87
|
this.logger.log("Start watch");
|
|
90
88
|
const buildDirectory = await this.getBuildDirectory();
|
|
91
|
-
const result =
|
|
89
|
+
const result = _ProcessUtils.ProcessUtils.createShellProcess("npm", ["run", "generator:build", "--", "--watch"], buildDirectory);
|
|
92
90
|
result.onStdOut.subscribe(data => {
|
|
93
91
|
this.logger.verbose(data.toString());
|
|
94
92
|
});
|
|
@@ -104,12 +102,7 @@ class BuildGeneratorFromSourcesTask extends _ChainableValueProducer.ObservableVa
|
|
|
104
102
|
await result.waitOutputIncludesString("Successfully compiled");
|
|
105
103
|
}
|
|
106
104
|
async createBuildResultWatcher(pathToGeneratorOutputDir) {
|
|
107
|
-
|
|
108
|
-
if (await (0, _EngineStructureUtils.isOldGeneratorSourcesStructure)(this.pathToEngineSources)) {
|
|
109
|
-
maskToObserveGeneratorChanges = ["**/*.js"];
|
|
110
|
-
} else {
|
|
111
|
-
maskToObserveGeneratorChanges = ["Generator/src/**/*.js", "index.js"];
|
|
112
|
-
}
|
|
105
|
+
const maskToObserveGeneratorChanges = ["Generator/src/**/*.js", "index.js"];
|
|
113
106
|
const watcher = (0, _chokidar.watch)(maskToObserveGeneratorChanges, {
|
|
114
107
|
ignoreInitial: true,
|
|
115
108
|
cwd: pathToGeneratorOutputDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildGeneratorFromSourcesTask.js","names":["_path","_interopRequireDefault","require","_chokidar","_lodash","_pLimit","_ExecUtils","_ILogger","_StaticLogger","_ChainableValueProducer","_EngineStructureUtils","_ProcessUtils","_IsWebpack","_CreateAsyncGenerator","generatorBuildLimit","pLimit","BuildGeneratorFromSourcesTask","ObservableValueProducerBase","constructor","pathToEngineSources","logger","getLogger","useWatch","currentGenerator","buildProcess","buildResultWatcher","handleUpdate","log","emitUpdate","createAsyncGenerator","path","join","withPrefix","getCurrentValue","undefined","runWatchProcessStarted","createBuildResultWatcher","acquireGeneratorFromSources","Error","beginListening","stopListening","kill","error","close","action","buildActionBegin","buildDirectory","getBuildDirectory","execCommandAsync","cwd","result","complete","isNewEngineStructure","isYarn","ProcessUtils","createShellProcess","onStdOut","subscribe","data","verbose","toString","onStdErr","start","waitFirstCompilationCompleted","waitOutputIncludesString","pathToGeneratorOutputDir","maskToObserveGeneratorChanges","isOldGeneratorSourcesStructure","watcher","watch","ignoreInitial","ignorePermissionErrors","usePolling","handleAnyFsEventDebounced","_","debounce","on","exports"],"sources":["../../../../../src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.ts"],"sourcesContent":["import { FSWatcher } from \"fs\";\nimport path from \"path\";\n\nimport { watch } from \"chokidar\";\nimport _ from \"lodash\";\nimport pLimit from \"p-limit\";\n\nimport { execCommandAsync } from \"../../Commons/ExecUtils\";\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { ObservableValueProducerBase } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { isNewEngineStructure, isOldGeneratorSourcesStructure } from \"../EngineStructureUtils\";\nimport { FormGenerator } from \"../Form/GenerateForm\";\nimport { ProcessUtils } from \"../ProcessUtils/ProcessUtils\";\nimport { ShellProcessHandle } from \"../ProcessUtils/ShellProcessHandle\";\nimport { isYarn } from \"../ClientJS/IsWebpack5\";\n\nimport { createAsyncGenerator } from \"./GeneratorWorker/CreateAsyncGenerator\";\n\nconst generatorBuildLimit = pLimit(1);\n\nexport class BuildGeneratorFromSourcesTask extends ObservableValueProducerBase<FormGenerator> {\n private readonly pathToEngineSources: string;\n private readonly logger: ILogger;\n private useWatch = false;\n private currentGenerator?: FormGenerator;\n private buildProcess?: ShellProcessHandle;\n private buildResultWatcher?: FSWatcher;\n\n public constructor(pathToEngineSources: string, logger: ILogger = getLogger()) {\n super();\n this.logger = logger.withPrefix(\"GENERATOR\");\n this.pathToEngineSources = pathToEngineSources;\n }\n\n public async getCurrentValue(): Promise<FormGenerator> {\n return generatorBuildLimit(async () => {\n if (this.currentGenerator != undefined) {\n return this.currentGenerator;\n }\n if (this.useWatch) {\n if (this.buildProcess == undefined) {\n this.buildProcess = await this.runWatchProcessStarted();\n this.buildResultWatcher = await this.createBuildResultWatcher(\n path.join(this.pathToEngineSources, \"Generator\", \"dist\")\n );\n this.currentGenerator = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n }\n } else {\n this.currentGenerator = await this.acquireGeneratorFromSources();\n }\n if (this.currentGenerator == undefined) {\n throw new Error(\"InvalidProgramState\");\n }\n return this.currentGenerator;\n });\n }\n\n protected async beginListening(): Promise<void> {\n this.useWatch = true;\n }\n\n protected async stopListening(): Promise<void> {\n if (this.buildProcess != undefined) {\n try {\n const buildProcess = this.buildProcess;\n this.buildProcess = undefined;\n await buildProcess.kill();\n } catch (error) {\n this.logger.error(`Failed to stop process: ${error}`);\n }\n }\n if (this.buildResultWatcher != undefined) {\n this.buildResultWatcher.close();\n }\n this.useWatch = false;\n }\n\n private readonly handleUpdate = async (): Promise<void> => {\n this.logger.log(\"Generator sources updated\");\n await this.emitUpdate(\n createAsyncGenerator(path.join(this.pathToEngineSources, \"Generator\"), this.useWatch, this.useWatch)\n );\n };\n\n private async acquireGeneratorFromSources(): Promise<FormGenerator> {\n const action = buildActionBegin(this.logger, \"Build generator\");\n const buildDirectory = await this.getBuildDirectory();\n await execCommandAsync(this.logger, `npm run generator:build`, {\n cwd: buildDirectory,\n });\n const result = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n action.complete();\n return result;\n }\n\n private async getBuildDirectory(): Promise<string> {\n return (await isNewEngineStructure(this.pathToEngineSources))\n ? path.join(this.pathToEngineSources, \"Generator\")\n : this.pathToEngineSources;\n }\n\n private async runWatchProcessStarted(): Promise<ShellProcessHandle> {\n this.logger.log(\"Start watch\");\n const buildDirectory = await this.getBuildDirectory();\n const result = (await isYarn(buildDirectory))\n ? ProcessUtils.createShellProcess(\"yarn\", [\"generator:build\", \"--watch\"], buildDirectory)\n : ProcessUtils.createShellProcess(\"npm\", [\"run\", \"generator:build\", \"--\", \"--watch\"], buildDirectory);\n result.onStdOut.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.onStdErr.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.start();\n await this.waitFirstCompilationCompleted(result);\n this.logger.log(\"Successfully complied\");\n return result;\n }\n\n private async waitFirstCompilationCompleted(result: ShellProcessHandle): Promise<void> {\n await result.waitOutputIncludesString(\"Successfully compiled\");\n }\n\n private async createBuildResultWatcher(pathToGeneratorOutputDir: string): Promise<FSWatcher> {\n let maskToObserveGeneratorChanges: string[];\n if (await isOldGeneratorSourcesStructure(this.pathToEngineSources)) {\n maskToObserveGeneratorChanges = [\"**/*.js\"];\n } else {\n maskToObserveGeneratorChanges = [\"Generator/src/**/*.js\", \"index.js\"];\n }\n const watcher = watch(maskToObserveGeneratorChanges, {\n ignoreInitial: true,\n cwd: pathToGeneratorOutputDir,\n ignorePermissionErrors: false,\n usePolling: true,\n });\n const handleAnyFsEventDebounced = _.debounce(() => this.handleUpdate(), 500);\n watcher.on(\"all\", handleAnyFsEventDebounced);\n watcher.on(\"error\", handleAnyFsEventDebounced);\n // @ts-ignore\n return watcher;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildGeneratorFromSourcesTask.js","names":["_path","_interopRequireDefault","require","_chokidar","_lodash","_pLimit","_ExecUtils","_ILogger","_StaticLogger","_ChainableValueProducer","_ProcessUtils","_CreateAsyncGenerator","generatorBuildLimit","pLimit","BuildGeneratorFromSourcesTask","ObservableValueProducerBase","constructor","pathToEngineSources","logger","getLogger","useWatch","currentGenerator","buildProcess","buildResultWatcher","handleUpdate","log","emitUpdate","createAsyncGenerator","path","join","withPrefix","getCurrentValue","undefined","runWatchProcessStarted","createBuildResultWatcher","acquireGeneratorFromSources","Error","beginListening","stopListening","kill","error","close","action","buildActionBegin","buildDirectory","getBuildDirectory","execCommandAsync","cwd","result","complete","ProcessUtils","createShellProcess","onStdOut","subscribe","data","verbose","toString","onStdErr","start","waitFirstCompilationCompleted","waitOutputIncludesString","pathToGeneratorOutputDir","maskToObserveGeneratorChanges","watcher","watch","ignoreInitial","ignorePermissionErrors","usePolling","handleAnyFsEventDebounced","_","debounce","on","exports"],"sources":["../../../../../src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.ts"],"sourcesContent":["import { FSWatcher } from \"fs\";\nimport path from \"path\";\n\nimport { watch } from \"chokidar\";\nimport _ from \"lodash\";\nimport pLimit from \"p-limit\";\n\nimport { execCommandAsync } from \"../../Commons/ExecUtils\";\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { ObservableValueProducerBase } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { FormGenerator } from \"../Form/GenerateForm\";\nimport { ProcessUtils } from \"../ProcessUtils/ProcessUtils\";\nimport { ShellProcessHandle } from \"../ProcessUtils/ShellProcessHandle\";\n\nimport { createAsyncGenerator } from \"./GeneratorWorker/CreateAsyncGenerator\";\n\nconst generatorBuildLimit = pLimit(1);\n\nexport class BuildGeneratorFromSourcesTask extends ObservableValueProducerBase<FormGenerator> {\n private readonly pathToEngineSources: string;\n private readonly logger: ILogger;\n private useWatch = false;\n private currentGenerator?: FormGenerator;\n private buildProcess?: ShellProcessHandle;\n private buildResultWatcher?: FSWatcher;\n\n public constructor(pathToEngineSources: string, logger: ILogger = getLogger()) {\n super();\n this.logger = logger.withPrefix(\"GENERATOR\");\n this.pathToEngineSources = pathToEngineSources;\n }\n\n public async getCurrentValue(): Promise<FormGenerator> {\n return generatorBuildLimit(async () => {\n if (this.currentGenerator != undefined) {\n return this.currentGenerator;\n }\n if (this.useWatch) {\n if (this.buildProcess == undefined) {\n this.buildProcess = await this.runWatchProcessStarted();\n this.buildResultWatcher = await this.createBuildResultWatcher(\n path.join(this.pathToEngineSources, \"Generator\", \"dist\")\n );\n this.currentGenerator = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n }\n } else {\n this.currentGenerator = await this.acquireGeneratorFromSources();\n }\n if (this.currentGenerator == undefined) {\n throw new Error(\"InvalidProgramState\");\n }\n return this.currentGenerator;\n });\n }\n\n protected async beginListening(): Promise<void> {\n this.useWatch = true;\n }\n\n protected async stopListening(): Promise<void> {\n if (this.buildProcess != undefined) {\n try {\n const buildProcess = this.buildProcess;\n this.buildProcess = undefined;\n await buildProcess.kill();\n } catch (error) {\n this.logger.error(`Failed to stop process: ${error}`);\n }\n }\n if (this.buildResultWatcher != undefined) {\n this.buildResultWatcher.close();\n }\n this.useWatch = false;\n }\n\n private readonly handleUpdate = async (): Promise<void> => {\n this.logger.log(\"Generator sources updated\");\n await this.emitUpdate(\n createAsyncGenerator(path.join(this.pathToEngineSources, \"Generator\"), this.useWatch, this.useWatch)\n );\n };\n\n private async acquireGeneratorFromSources(): Promise<FormGenerator> {\n const action = buildActionBegin(this.logger, \"Build generator\");\n const buildDirectory = await this.getBuildDirectory();\n await execCommandAsync(this.logger, `npm run generator:build`, {\n cwd: buildDirectory,\n });\n const result = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n action.complete();\n return result;\n }\n\n private async getBuildDirectory(): Promise<string> {\n return this.pathToEngineSources;\n }\n\n private async runWatchProcessStarted(): Promise<ShellProcessHandle> {\n this.logger.log(\"Start watch\");\n const buildDirectory = await this.getBuildDirectory();\n const result = ProcessUtils.createShellProcess(\n \"npm\",\n [\"run\", \"generator:build\", \"--\", \"--watch\"],\n buildDirectory\n );\n result.onStdOut.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.onStdErr.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.start();\n await this.waitFirstCompilationCompleted(result);\n this.logger.log(\"Successfully complied\");\n return result;\n }\n\n private async waitFirstCompilationCompleted(result: ShellProcessHandle): Promise<void> {\n await result.waitOutputIncludesString(\"Successfully compiled\");\n }\n\n private async createBuildResultWatcher(pathToGeneratorOutputDir: string): Promise<FSWatcher> {\n const maskToObserveGeneratorChanges = [\"Generator/src/**/*.js\", \"index.js\"];\n const watcher = watch(maskToObserveGeneratorChanges, {\n ignoreInitial: true,\n cwd: pathToGeneratorOutputDir,\n ignorePermissionErrors: false,\n usePolling: true,\n });\n const handleAnyFsEventDebounced = _.debounce(() => this.handleUpdate(), 500);\n watcher.on(\"all\", handleAnyFsEventDebounced);\n watcher.on(\"error\", handleAnyFsEventDebounced);\n // @ts-ignore\n return watcher;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|