@supernova-studio/pulsar-core 1.0.32 → 1.0.36
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/build/browser/pulsar-core-dev.js +67725 -0
- package/build/browser/pulsar-core-dev.js.map +1 -0
- package/build/browser/pulsar-core.js +7 -0
- package/build/browser/pulsar-core.js.LICENSE.txt +31 -0
- package/build/browser/pulsar-core.js.map +1 -0
- package/build/main/pulsar-core.js +22495 -0
- package/build/main/pulsar-core.js.map +1 -0
- package/build/typings/core/tsconfig.typings.tsbuildinfo +5035 -0
- package/package.json +19 -15
- package/tsconfig.typings.json +19 -0
- package/webpack.config.browser.dev.js +52 -0
- package/webpack.config.browser.js +52 -0
- package/webpack.config.main.js +45 -0
- package/build/browser/pulsar.js +0 -142584
- package/build/browser/pulsar.min.js +0 -270
- package/build/main/browser-bundle.d.ts +0 -1
- package/build/main/browser-bundle.js +0 -16
- package/build/main/browser-bundle.js.map +0 -1
- package/build/main/engine/ExportEngine.d.ts +0 -17
- package/build/main/engine/ExportEngine.js +0 -122
- package/build/main/engine/ExportEngine.js.map +0 -1
- package/build/main/engine/configuration/ExportConfiguration.d.ts +0 -18
- package/build/main/engine/configuration/ExportConfiguration.js +0 -47
- package/build/main/engine/configuration/ExportConfiguration.js.map +0 -1
- package/build/main/engine/generation/ExportDataProducer.d.ts +0 -15
- package/build/main/engine/generation/ExportDataProducer.js +0 -100
- package/build/main/engine/generation/ExportDataProducer.js.map +0 -1
- package/build/main/engine/generation/queue/ExportDataQueue.d.ts +0 -16
- package/build/main/engine/generation/queue/ExportDataQueue.js +0 -72
- package/build/main/engine/generation/queue/ExportDataQueue.js.map +0 -1
- package/build/main/engine/generation/queue/ExportDataQueueOperation.d.ts +0 -6
- package/build/main/engine/generation/queue/ExportDataQueueOperation.js +0 -36
- package/build/main/engine/generation/queue/ExportDataQueueOperation.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataEmittedResponseProducer.d.ts +0 -7
- package/build/main/engine/generation/requests/ExportDataEmittedResponseProducer.js +0 -54
- package/build/main/engine/generation/requests/ExportDataEmittedResponseProducer.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataPrimaryResponseProducer.d.ts +0 -7
- package/build/main/engine/generation/requests/ExportDataPrimaryResponseProducer.js +0 -40
- package/build/main/engine/generation/requests/ExportDataPrimaryResponseProducer.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequest.d.ts +0 -19
- package/build/main/engine/generation/requests/ExportDataRequest.js +0 -55
- package/build/main/engine/generation/requests/ExportDataRequest.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequestDataStore.d.ts +0 -16
- package/build/main/engine/generation/requests/ExportDataRequestDataStore.js +0 -57
- package/build/main/engine/generation/requests/ExportDataRequestDataStore.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequestNameStore.d.ts +0 -22
- package/build/main/engine/generation/requests/ExportDataRequestNameStore.js +0 -86
- package/build/main/engine/generation/requests/ExportDataRequestNameStore.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataRequestProducer.d.ts +0 -16
- package/build/main/engine/generation/requests/ExportDataRequestProducer.js +0 -149
- package/build/main/engine/generation/requests/ExportDataRequestProducer.js.map +0 -1
- package/build/main/engine/generation/requests/ExportDataResponse.d.ts +0 -13
- package/build/main/engine/generation/requests/ExportDataResponse.js +0 -30
- package/build/main/engine/generation/requests/ExportDataResponse.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestBlueprint.d.ts +0 -14
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestBlueprint.js +0 -76
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestBlueprint.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponent.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponent.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponent.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponentGroup.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponentGroup.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMComponentGroup.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMGeneric.d.ts +0 -11
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMGeneric.js +0 -43
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMGeneric.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTheme.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTheme.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTheme.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenGroup.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenGroup.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenGroup.js.map +0 -1
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenType.d.ts +0 -13
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenType.js +0 -47
- package/build/main/engine/generation/requests/specific/dsm/ExportDataRequestDSMTokenType.js.map +0 -1
- package/build/main/engine/items/ExportItemProducer.d.ts +0 -14
- package/build/main/engine/items/ExportItemProducer.js +0 -70
- package/build/main/engine/items/ExportItemProducer.js.map +0 -1
- package/build/main/engine/items/construction/ExportItem.d.ts +0 -8
- package/build/main/engine/items/construction/ExportItem.js +0 -25
- package/build/main/engine/items/construction/ExportItem.js.map +0 -1
- package/build/main/engine/items/construction/ExportItemBuilder.d.ts +0 -9
- package/build/main/engine/items/construction/ExportItemBuilder.js +0 -43
- package/build/main/engine/items/construction/ExportItemBuilder.js.map +0 -1
- package/build/main/engine/items/queue/ExportItemQueue.d.ts +0 -16
- package/build/main/engine/items/queue/ExportItemQueue.js +0 -70
- package/build/main/engine/items/queue/ExportItemQueue.js.map +0 -1
- package/build/main/engine/items/queue/ExportItemQueueOperation.d.ts +0 -6
- package/build/main/engine/items/queue/ExportItemQueueOperation.js +0 -36
- package/build/main/engine/items/queue/ExportItemQueueOperation.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemRequest.d.ts +0 -16
- package/build/main/engine/items/requests/ExportItemRequest.js +0 -68
- package/build/main/engine/items/requests/ExportItemRequest.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemRequestProducer.d.ts +0 -8
- package/build/main/engine/items/requests/ExportItemRequestProducer.js +0 -24
- package/build/main/engine/items/requests/ExportItemRequestProducer.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemResponse.d.ts +0 -9
- package/build/main/engine/items/requests/ExportItemResponse.js +0 -25
- package/build/main/engine/items/requests/ExportItemResponse.js.map +0 -1
- package/build/main/engine/items/requests/ExportItemResponseProducer.d.ts +0 -7
- package/build/main/engine/items/requests/ExportItemResponseProducer.js +0 -45
- package/build/main/engine/items/requests/ExportItemResponseProducer.js.map +0 -1
- package/build/main/engine/loaders/BlueprintLoader.d.ts +0 -9
- package/build/main/engine/loaders/BlueprintLoader.js +0 -55
- package/build/main/engine/loaders/BlueprintLoader.js.map +0 -1
- package/build/main/engine/writing/queue/ExportWriterQueue.d.ts +0 -16
- package/build/main/engine/writing/queue/ExportWriterQueue.js +0 -70
- package/build/main/engine/writing/queue/ExportWriterQueue.js.map +0 -1
- package/build/main/engine/writing/queue/ExportWriterQueueOperation.d.ts +0 -6
- package/build/main/engine/writing/queue/ExportWriterQueueOperation.js +0 -36
- package/build/main/engine/writing/queue/ExportWriterQueueOperation.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterRequest.d.ts +0 -14
- package/build/main/engine/writing/requests/ExportWriterRequest.js +0 -40
- package/build/main/engine/writing/requests/ExportWriterRequest.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterRequestProducer.d.ts +0 -8
- package/build/main/engine/writing/requests/ExportWriterRequestProducer.js +0 -30
- package/build/main/engine/writing/requests/ExportWriterRequestProducer.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterResponse.d.ts +0 -9
- package/build/main/engine/writing/requests/ExportWriterResponse.js +0 -25
- package/build/main/engine/writing/requests/ExportWriterResponse.js.map +0 -1
- package/build/main/engine/writing/requests/ExportWriterResponseProducer.d.ts +0 -7
- package/build/main/engine/writing/requests/ExportWriterResponseProducer.js +0 -40
- package/build/main/engine/writing/requests/ExportWriterResponseProducer.js.map +0 -1
- package/build/main/engine/writing/writers/ExportItemWriter.d.ts +0 -14
- package/build/main/engine/writing/writers/ExportItemWriter.js +0 -70
- package/build/main/engine/writing/writers/ExportItemWriter.js.map +0 -1
- package/build/main/engine/writing/writers/ExportWriterRuleProcessor.d.ts +0 -9
- package/build/main/engine/writing/writers/ExportWriterRuleProcessor.js +0 -63
- package/build/main/engine/writing/writers/ExportWriterRuleProcessor.js.map +0 -1
- package/build/main/engine/writing/writers/memory/ExportWriterMemory.d.ts +0 -4
- package/build/main/engine/writing/writers/memory/ExportWriterMemory.js +0 -29
- package/build/main/engine/writing/writers/memory/ExportWriterMemory.js.map +0 -1
- package/build/main/engine/writing/writers/memory/ExportWriterMemoryRequest.d.ts +0 -5
- package/build/main/engine/writing/writers/memory/ExportWriterMemoryRequest.js +0 -59
- package/build/main/engine/writing/writers/memory/ExportWriterMemoryRequest.js.map +0 -1
- package/build/main/engine/writing/writers/memory/ExportWriterStore.d.ts +0 -5
- package/build/main/engine/writing/writers/memory/ExportWriterStore.js +0 -33
- package/build/main/engine/writing/writers/memory/ExportWriterStore.js.map +0 -1
- package/build/main/exports.d.ts +0 -5
- package/build/main/exports.js +0 -15
- package/build/main/exports.js.map +0 -1
- package/build/main/index.d.ts +0 -1
- package/build/main/index.js +0 -14
- package/build/main/index.js.map +0 -1
- package/build/main/model/dsm/DSMReferenceStore.d.ts +0 -28
- package/build/main/model/dsm/DSMReferenceStore.js +0 -100
- package/build/main/model/dsm/DSMReferenceStore.js.map +0 -1
- package/build/main/model/exporters/Exporter.d.ts +0 -53
- package/build/main/model/exporters/Exporter.js +0 -106
- package/build/main/model/exporters/Exporter.js.map +0 -1
- package/build/main/model/maps/ExporterMapBlueprint.d.ts +0 -12
- package/build/main/model/maps/ExporterMapBlueprint.js +0 -39
- package/build/main/model/maps/ExporterMapBlueprint.js.map +0 -1
- package/build/main/model/sources/ExporterSource.d.ts +0 -26
- package/build/main/model/sources/ExporterSource.js +0 -64
- package/build/main/model/sources/ExporterSource.js.map +0 -1
- package/build/main/pulsar/Pulsar.d.ts +0 -105
- package/build/main/pulsar/Pulsar.js +0 -353
- package/build/main/pulsar/Pulsar.js.map +0 -1
- package/build/main/pulsar/PulsarInterface.d.ts +0 -152
- package/build/main/pulsar/PulsarInterface.js +0 -37
- package/build/main/pulsar/PulsarInterface.js.map +0 -1
- package/build/main/pulsar/PulsarStaticAnalysis.d.ts +0 -26
- package/build/main/pulsar/PulsarStaticAnalysis.js +0 -69
- package/build/main/pulsar/PulsarStaticAnalysis.js.map +0 -1
- package/build/main/pulsar/PulsarStaticAnalysisInterface.d.ts +0 -13
- package/build/main/pulsar/PulsarStaticAnalysisInterface.js +0 -10
- package/build/main/pulsar/PulsarStaticAnalysisInterface.js.map +0 -1
- package/build/main/pulsar/managers/PulsarBlueprintManager.d.ts +0 -16
- package/build/main/pulsar/managers/PulsarBlueprintManager.js +0 -76
- package/build/main/pulsar/managers/PulsarBlueprintManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarCIManager.d.ts +0 -25
- package/build/main/pulsar/managers/PulsarCIManager.js +0 -220
- package/build/main/pulsar/managers/PulsarCIManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarCodeManager.d.ts +0 -24
- package/build/main/pulsar/managers/PulsarCodeManager.js +0 -180
- package/build/main/pulsar/managers/PulsarCodeManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarConfigurationManager.d.ts +0 -17
- package/build/main/pulsar/managers/PulsarConfigurationManager.js +0 -88
- package/build/main/pulsar/managers/PulsarConfigurationManager.js.map +0 -1
- package/build/main/pulsar/managers/PulsarExporterManager.d.ts +0 -25
- package/build/main/pulsar/managers/PulsarExporterManager.js +0 -121
- package/build/main/pulsar/managers/PulsarExporterManager.js.map +0 -1
- package/build/main/pulsar/managers/generators/PulsarExporterConfigFileGenerator.d.ts +0 -12
- package/build/main/pulsar/managers/generators/PulsarExporterConfigFileGenerator.js +0 -140
- package/build/main/pulsar/managers/generators/PulsarExporterConfigFileGenerator.js.map +0 -1
- package/build/main/pulsar/managers/generators/PulsarExporterJSONGenerator.d.ts +0 -8
- package/build/main/pulsar/managers/generators/PulsarExporterJSONGenerator.js +0 -45
- package/build/main/pulsar/managers/generators/PulsarExporterJSONGenerator.js.map +0 -1
- package/build/main/pulsar/managers/generators/PulsarExporterSourceFileGenerator.d.ts +0 -9
- package/build/main/pulsar/managers/generators/PulsarExporterSourceFileGenerator.js +0 -45
- package/build/main/pulsar/managers/generators/PulsarExporterSourceFileGenerator.js.map +0 -1
- package/build/main/pulsar/managers/generators/PulsarExporterZIPGenerator.d.ts +0 -7
- package/build/main/pulsar/managers/generators/PulsarExporterZIPGenerator.js +0 -63
- package/build/main/pulsar/managers/generators/PulsarExporterZIPGenerator.js.map +0 -1
- package/build/main/pulsar/managers/generators/PulsarFileGenerator.d.ts +0 -20
- package/build/main/pulsar/managers/generators/PulsarFileGenerator.js +0 -77
- package/build/main/pulsar/managers/generators/PulsarFileGenerator.js.map +0 -1
- package/build/main/pulsar/managers/loaders/PulsarBaseLoader.d.ts +0 -5
- package/build/main/pulsar/managers/loaders/PulsarBaseLoader.js +0 -28
- package/build/main/pulsar/managers/loaders/PulsarBaseLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/local/PulsarFSLoader.d.ts +0 -11
- package/build/main/pulsar/managers/loaders/local/PulsarFSLoader.js +0 -98
- package/build/main/pulsar/managers/loaders/local/PulsarFSLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterJSONLoader.d.ts +0 -9
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterJSONLoader.js +0 -81
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterJSONLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.d.ts +0 -11
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.js +0 -106
- package/build/main/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.d.ts +0 -12
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.js +0 -143
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.js.map +0 -1
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterZIPLoader.d.ts +0 -12
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterZIPLoader.js +0 -115
- package/build/main/pulsar/managers/loaders/remote/PulsarExporterZIPLoader.js.map +0 -1
- package/build/main/pulsar/managers/validators/PulsarExporterConfigFileValidator.d.ts +0 -7
- package/build/main/pulsar/managers/validators/PulsarExporterConfigFileValidator.js +0 -124
- package/build/main/pulsar/managers/validators/PulsarExporterConfigFileValidator.js.map +0 -1
- package/build/main/tests/TestConfiguration.d.ts +0 -9
- package/build/main/tests/TestConfiguration.js +0 -25
- package/build/main/tests/TestConfiguration.js.map +0 -1
- package/build/main/tests/casebuilders/ci.d.ts +0 -12
- package/build/main/tests/casebuilders/ci.js +0 -38
- package/build/main/tests/casebuilders/ci.js.map +0 -1
- package/build/main/tests/casebuilders/configuration.d.ts +0 -5
- package/build/main/tests/casebuilders/configuration.js +0 -25
- package/build/main/tests/casebuilders/configuration.js.map +0 -1
- package/build/main/tests/casebuilders/dsm.d.ts +0 -7
- package/build/main/tests/casebuilders/dsm.js +0 -57
- package/build/main/tests/casebuilders/dsm.js.map +0 -1
- package/build/main/tests/casebuilders/modelObjects.d.ts +0 -13
- package/build/main/tests/casebuilders/modelObjects.js +0 -120
- package/build/main/tests/casebuilders/modelObjects.js.map +0 -1
- package/build/main/tools/Logger.d.ts +0 -27
- package/build/main/tools/Logger.js +0 -98
- package/build/main/tools/Logger.js.map +0 -1
- package/build/main/tools/LoggerDefaultMessages.d.ts +0 -13
- package/build/main/tools/LoggerDefaultMessages.js +0 -41
- package/build/main/tools/LoggerDefaultMessages.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -3045
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// PulsarExporterMemoryLoader.ts
|
|
4
|
-
// Supernova
|
|
5
|
-
//
|
|
6
|
-
// Created by Jiri Trecak.
|
|
7
|
-
// Copyright © 2020 Jiri Trecak. All rights reserved.
|
|
8
|
-
//
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.PCPulsarExporterMemoryLoader = void 0;
|
|
11
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
12
|
-
// MARK: - Imports
|
|
13
|
-
const PulsarBaseLoader_1 = require("../PulsarBaseLoader");
|
|
14
|
-
const Exporter_1 = require("../../../../model/exporters/Exporter");
|
|
15
|
-
const ExporterSource_1 = require("../../../../model/sources/ExporterSource");
|
|
16
|
-
const ExporterMapBlueprint_1 = require("../../../../model/maps/ExporterMapBlueprint");
|
|
17
|
-
const PulsarExporterConfigFileValidator_1 = require("../../validators/PulsarExporterConfigFileValidator");
|
|
18
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
19
|
-
// MARK: - Class
|
|
20
|
-
class PCPulsarExporterMemoryLoader extends PulsarBaseLoader_1.PCPulsarBaseLoader {
|
|
21
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
22
|
-
// MARK: - Setup
|
|
23
|
-
constructor(sourceFiles) {
|
|
24
|
-
super();
|
|
25
|
-
this.sourceFiles = sourceFiles;
|
|
26
|
-
}
|
|
27
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
28
|
-
// MARK: - Initialization of the exporter
|
|
29
|
-
async constructExporterFromSourceFiles() {
|
|
30
|
-
// Retrieve and validate configuration file
|
|
31
|
-
let configurationFile = this.sourceFiles.get('exporter.json');
|
|
32
|
-
if (!configurationFile) {
|
|
33
|
-
throw new Error('exporter.json not found it root directory of the exporter package');
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
// Parse and validate configuration file
|
|
37
|
-
let validator = new PulsarExporterConfigFileValidator_1.PCPulsarExporterConfigurationFileValidator();
|
|
38
|
-
let parsedConfiguration = validator.validateExporterConfigFileContent(configurationFile.content);
|
|
39
|
-
// Create exporter based on the configuration
|
|
40
|
-
let exporter = new Exporter_1.PCExporter(parsedConfiguration);
|
|
41
|
-
// Load all sources including their configuration
|
|
42
|
-
this.loadSourcesFromSourceDirectory(exporter);
|
|
43
|
-
this.enhanceSourcesWithConfiguration(exporter);
|
|
44
|
-
// Create output definitions
|
|
45
|
-
this.loadOutputMapping(exporter);
|
|
46
|
-
// Exporter fully prepared and validated, enjoy :)
|
|
47
|
-
return exporter;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
loadSourcesFromSourceDirectory(exporter) {
|
|
54
|
-
let sources = new Array();
|
|
55
|
-
for (let sourceDefinition of this.sourceFiles.values()) {
|
|
56
|
-
// Only sources inside the source directory
|
|
57
|
-
if (sourceDefinition.directory.startsWith(exporter.sourceDirectory)) {
|
|
58
|
-
let source = new ExporterSource_1.PCExporterSource(sourceDefinition.filename, sourceDefinition.directory, sourceDefinition.content);
|
|
59
|
-
sources.push(source);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exporter.linkSources(sources);
|
|
63
|
-
}
|
|
64
|
-
enhanceSourcesWithConfiguration(exporter) {
|
|
65
|
-
// Load the output configuration file, if any
|
|
66
|
-
if (exporter.sourceConfigFilePath == null) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
let configPath = exporter.sourceConfigFilePath;
|
|
70
|
-
let configFile = this.sourceFiles.get(configPath);
|
|
71
|
-
// Configuration file must be present when defined, otherwise it is ignored
|
|
72
|
-
if (!configFile) {
|
|
73
|
-
throw `Could not find source configuration file at ${configPath}`;
|
|
74
|
-
}
|
|
75
|
-
// Configuration file must contain source definitions
|
|
76
|
-
let validator = new PulsarExporterConfigFileValidator_1.PCPulsarExporterConfigurationFileValidator();
|
|
77
|
-
let parsedConfiguration = validator.validateSourceConfigFileContent(configFile.content, exporter);
|
|
78
|
-
// Update each source that are already pre-validated
|
|
79
|
-
for (const [sourceId, configuration] of Object.entries(parsedConfiguration)) {
|
|
80
|
-
let source = exporter.sourceById(sourceId);
|
|
81
|
-
source.loadBlueprintConfiguration(configuration);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
loadOutputMapping(exporter) {
|
|
85
|
-
// Load the output configuration file, if any
|
|
86
|
-
if (exporter.outputConfigFilePath == null) {
|
|
87
|
-
throw `Output configuration file is not defined inside exporter.json file`;
|
|
88
|
-
}
|
|
89
|
-
let configPath = exporter.outputConfigFilePath;
|
|
90
|
-
let configFile = this.sourceFiles.get(configPath);
|
|
91
|
-
// Configuration file must be present when defined, otherwise it is ignored
|
|
92
|
-
if (!configFile) {
|
|
93
|
-
throw `Could not find output configuration file at ${configPath}`;
|
|
94
|
-
}
|
|
95
|
-
// Configuration file must contain source definitions
|
|
96
|
-
let parsedConfiguration = JSON.parse(configFile.content);
|
|
97
|
-
let outputDefinition = parsedConfiguration['blueprints'];
|
|
98
|
-
// Create output mapping object from each output entry
|
|
99
|
-
for (let configuration of outputDefinition) {
|
|
100
|
-
let map = new ExporterMapBlueprint_1.PCExporterMapBlueprint(configuration);
|
|
101
|
-
exporter.linkOutputs([map]);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.PCPulsarExporterMemoryLoader = PCPulsarExporterMemoryLoader;
|
|
106
|
-
//# sourceMappingURL=PulsarExporterMemoryLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarExporterMemoryLoader.js","sourceRoot":"","sources":["../../../../../../src/pulsar/managers/loaders/memory/PulsarExporterMemoryLoader.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,iCAAiC;AACjC,aAAa;AACb,EAAE;AACF,2BAA2B;AAC3B,sDAAsD;AACtD,EAAE;;;AAEF,8GAA8G;AAC9G,kBAAkB;AAElB,0DAAwD;AACxD,mEAAiE;AAEjE,6EAA2E;AAC3E,sFAAoF;AAEpF,0GAA+G;AAE/G,8GAA8G;AAC9G,gBAAgB;AAEhB,MAAa,4BAA6B,SAAQ,qCAAkB;IAMlE,8GAA8G;IAC9G,gBAAgB;IAEhB,YAAY,WAA4B;QACtC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAED,8GAA8G;IAC9G,yCAAyC;IAEzC,KAAK,CAAC,gCAAgC;QACpC,2CAA2C;QAC3C,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC7D,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;SACrF;QAED,IAAI;YACF,wCAAwC;YACxC,IAAI,SAAS,GAAG,IAAI,8EAA0C,EAAE,CAAA;YAChE,IAAI,mBAAmB,GAAG,SAAS,CAAC,iCAAiC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;YAEhG,6CAA6C;YAC7C,IAAI,QAAQ,GAAG,IAAI,qBAAU,CAAC,mBAAmB,CAAC,CAAA;YAElD,iDAAiD;YACjD,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAA;YAE9C,4BAA4B;YAC5B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAEhC,kDAAkD;YAClD,OAAO,QAAQ,CAAA;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAEO,8BAA8B,CAAC,QAAoB;QACzD,IAAI,OAAO,GAAG,IAAI,KAAK,EAAoB,CAAA;QAE3C,KAAK,IAAI,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE;YACtD,2CAA2C;YAC3C,IAAI,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBACnE,IAAI,MAAM,GAAG,IAAI,iCAAgB,CAC/B,gBAAgB,CAAC,QAAQ,EACzB,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,OAAO,CACzB,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aACrB;SACF;QAED,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAEO,+BAA+B,CAAC,QAAoB;QAC1D,6CAA6C;QAC7C,IAAI,QAAQ,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACzC,OAAM;SACP;QAED,IAAI,UAAU,GAAG,QAAQ,CAAC,oBAAoB,CAAA;QAC9C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEjD,2EAA2E;QAC3E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,+CAA+C,UAAU,EAAE,CAAA;SAClE;QAED,qDAAqD;QACrD,IAAI,SAAS,GAAG,IAAI,8EAA0C,EAAE,CAAA;QAChE,IAAI,mBAAmB,GAAG,SAAS,CAAC,+BAA+B,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAEjG,oDAAoD;QACpD,KAAK,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;YAC3E,IAAI,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YAC1C,MAAM,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAA;SACjD;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAoB;QAC5C,6CAA6C;QAC7C,IAAI,QAAQ,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACzC,MAAM,oEAAoE,CAAA;SAC3E;QAED,IAAI,UAAU,GAAG,QAAQ,CAAC,oBAAoB,CAAA;QAC9C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEjD,2EAA2E;QAC3E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,+CAA+C,UAAU,EAAE,CAAA;SAClE;QAED,qDAAqD;QACrD,IAAI,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,gBAAgB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;QAExD,sDAAsD;QACtD,KAAK,IAAI,aAAa,IAAI,gBAAgB,EAAE;YAC1C,IAAI,GAAG,GAAG,IAAI,6CAAsB,CAAC,aAAa,CAAC,CAAA;YACnD,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;SAC5B;IACH,CAAC;CACF;AAjHD,oEAiHC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PCPulsarBaseLoader } from '../PulsarBaseLoader';
|
|
2
|
-
import { PCExporter } from '../../../../model/exporters/Exporter';
|
|
3
|
-
import JSZip from 'jszip';
|
|
4
|
-
import { PCPulsarFile, PCPulsarFileMap } from '../../generators/PulsarFileGenerator';
|
|
5
|
-
export declare class PCPulsarExporterGitHubLoader extends PCPulsarBaseLoader {
|
|
6
|
-
repositoryURL: string;
|
|
7
|
-
constructor(githubURL: string);
|
|
8
|
-
initialize(): Promise<PCExporter>;
|
|
9
|
-
downloadZIPFromURL(url: string): Promise<JSZip>;
|
|
10
|
-
processZIP(zip: JSZip): Promise<PCPulsarFileMap>;
|
|
11
|
-
parseUnzippedFile(file: JSZip.JSZipObject): Promise<PCPulsarFile | null>;
|
|
12
|
-
}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// PulsarExporterGitHubLoader.ts
|
|
3
|
-
// Supernova
|
|
4
|
-
//
|
|
5
|
-
// Created by Jiri Trecak.
|
|
6
|
-
// Copyright © 2020 Jiri Trecak. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PCPulsarExporterGitHubLoader = void 0;
|
|
13
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
14
|
-
// MARK: - Imports
|
|
15
|
-
const PulsarBaseLoader_1 = require("../PulsarBaseLoader");
|
|
16
|
-
const PulsarExporterMemoryLoader_1 = require("../memory/PulsarExporterMemoryLoader");
|
|
17
|
-
const request_1 = __importDefault(require("request"));
|
|
18
|
-
const parse_github_url_1 = __importDefault(require("parse-github-url"));
|
|
19
|
-
const jszip_1 = __importDefault(require("jszip"));
|
|
20
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
21
|
-
// MARK: - Definitions
|
|
22
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
23
|
-
// MARK: - Class
|
|
24
|
-
class PCPulsarExporterGitHubLoader extends PulsarBaseLoader_1.PCPulsarBaseLoader {
|
|
25
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
26
|
-
// MARK: - Setup
|
|
27
|
-
constructor(githubURL) {
|
|
28
|
-
super();
|
|
29
|
-
this.repositoryURL = githubURL;
|
|
30
|
-
}
|
|
31
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
32
|
-
// MARK: - Initialization of the exporter
|
|
33
|
-
async initialize() {
|
|
34
|
-
let url = parse_github_url_1.default(this.repositoryURL);
|
|
35
|
-
if (url) {
|
|
36
|
-
let owner = url.owner;
|
|
37
|
-
let name = url.name;
|
|
38
|
-
// TODO: We should get the link to the archive dynamically using the API
|
|
39
|
-
let rawZIP;
|
|
40
|
-
try {
|
|
41
|
-
let zipballURL = `https://github.com/${owner}/${name}/archive/main.zip`;
|
|
42
|
-
rawZIP = await this.downloadZIPFromURL(zipballURL);
|
|
43
|
-
}
|
|
44
|
-
catch (_a) {
|
|
45
|
-
try {
|
|
46
|
-
let zipballURL = `https://github.com/${owner}/${name}/archive/master.zip`;
|
|
47
|
-
rawZIP = await this.downloadZIPFromURL(zipballURL);
|
|
48
|
-
}
|
|
49
|
-
catch (_b) {
|
|
50
|
-
throw new Error('Unable to obtain releases from GitHub repository');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
if (!rawZIP) {
|
|
54
|
-
throw new Error('Unable to obtain releases from GitHub repository');
|
|
55
|
-
}
|
|
56
|
-
let processedFiles = await this.processZIP(rawZIP);
|
|
57
|
-
let unpackager = new PulsarExporterMemoryLoader_1.PCPulsarExporterMemoryLoader(processedFiles);
|
|
58
|
-
let exporter = await unpackager.constructExporterFromSourceFiles();
|
|
59
|
-
return exporter;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw new Error('Unable to obtain releases from GitHub repository');
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async downloadZIPFromURL(url) {
|
|
66
|
-
return new Promise((resolve, reject) => {
|
|
67
|
-
// Write zip file into buffered chunks
|
|
68
|
-
let buffers = [];
|
|
69
|
-
let buffer;
|
|
70
|
-
// Create request to download the zipball.
|
|
71
|
-
request_1.default.get(url)
|
|
72
|
-
.on('end', () => {
|
|
73
|
-
buffer = Buffer.concat(buffers);
|
|
74
|
-
jszip_1.default.loadAsync(buffer)
|
|
75
|
-
.then(zip => {
|
|
76
|
-
resolve(zip);
|
|
77
|
-
})
|
|
78
|
-
.catch(error => {
|
|
79
|
-
reject(error);
|
|
80
|
-
});
|
|
81
|
-
})
|
|
82
|
-
.on('error', error => {
|
|
83
|
-
reject(error);
|
|
84
|
-
})
|
|
85
|
-
.on('data', d => {
|
|
86
|
-
buffers.push(d);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
async processZIP(zip) {
|
|
91
|
-
let processedFiles = new Map();
|
|
92
|
-
let values = Object.values(zip.files);
|
|
93
|
-
// Fetch each file from zip (only if not directory)
|
|
94
|
-
for (let file of values) {
|
|
95
|
-
if (file.dir) {
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
// Obtain directory and filename of the unzipped file
|
|
99
|
-
let parsedFile = await this.parseUnzippedFile(file);
|
|
100
|
-
if (parsedFile) {
|
|
101
|
-
processedFiles.set(parsedFile.key, parsedFile);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return processedFiles;
|
|
105
|
-
}
|
|
106
|
-
async parseUnzippedFile(file) {
|
|
107
|
-
// Only retrieve files that are .pr or .json
|
|
108
|
-
// Modify filename by removing the first directory
|
|
109
|
-
let components = file.name.split('/');
|
|
110
|
-
components.shift();
|
|
111
|
-
// Extract filename, extension and paths
|
|
112
|
-
let filename = components[components.length - 1];
|
|
113
|
-
let fullpath = components.join('/');
|
|
114
|
-
// Extract directory
|
|
115
|
-
components.pop();
|
|
116
|
-
let directory = components.join('/');
|
|
117
|
-
// Get extension and check whether it is correct format
|
|
118
|
-
let nameParts = filename.split('.');
|
|
119
|
-
let extension;
|
|
120
|
-
let name;
|
|
121
|
-
if (nameParts.length >= 2) {
|
|
122
|
-
extension = nameParts[nameParts.length - 1];
|
|
123
|
-
nameParts.pop();
|
|
124
|
-
name = nameParts.join('.');
|
|
125
|
-
}
|
|
126
|
-
// Only pulsar and json extension are of interest to us
|
|
127
|
-
if (extension !== 'pr' && extension !== 'json') {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
// Extract content
|
|
131
|
-
let content = await file.async('string');
|
|
132
|
-
return {
|
|
133
|
-
key: fullpath,
|
|
134
|
-
filename: filename,
|
|
135
|
-
name: name,
|
|
136
|
-
extension: extension,
|
|
137
|
-
directory: directory,
|
|
138
|
-
content: content
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
exports.PCPulsarExporterGitHubLoader = PCPulsarExporterGitHubLoader;
|
|
143
|
-
//# sourceMappingURL=PulsarExporterGitHubLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarExporterGitHubLoader.js","sourceRoot":"","sources":["../../../../../../src/pulsar/managers/loaders/remote/PulsarExporterGitHubLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PCPulsarBaseLoader } from '../PulsarBaseLoader';
|
|
2
|
-
import { PCExporter } from '../../../../model/exporters/Exporter';
|
|
3
|
-
import JSZip from 'jszip';
|
|
4
|
-
import { PCPulsarFile, PCPulsarFileMap } from '../../generators/PulsarFileGenerator';
|
|
5
|
-
export declare class PCPulsarExporterZIPLoader extends PCPulsarBaseLoader {
|
|
6
|
-
zipSourceURL: string;
|
|
7
|
-
constructor(sourceZIPURL: string);
|
|
8
|
-
initialize(): Promise<PCExporter>;
|
|
9
|
-
downloadZIPFromURL(url: string): Promise<JSZip>;
|
|
10
|
-
processZIP(zip: JSZip): Promise<PCPulsarFileMap>;
|
|
11
|
-
parseUnzippedFile(file: JSZip.JSZipObject): Promise<PCPulsarFile | null>;
|
|
12
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// PulsarExporterZIPLoader.ts
|
|
3
|
-
// Supernova
|
|
4
|
-
//
|
|
5
|
-
// Created by Jiri Trecak.
|
|
6
|
-
// Copyright © 2020 Jiri Trecak. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PCPulsarExporterZIPLoader = void 0;
|
|
13
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
14
|
-
// MARK: - Imports
|
|
15
|
-
const PulsarBaseLoader_1 = require("../PulsarBaseLoader");
|
|
16
|
-
const PulsarExporterMemoryLoader_1 = require("../memory/PulsarExporterMemoryLoader");
|
|
17
|
-
const request_1 = __importDefault(require("request"));
|
|
18
|
-
const jszip_1 = __importDefault(require("jszip"));
|
|
19
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
20
|
-
// MARK: - Definitions
|
|
21
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
22
|
-
// MARK: - Class
|
|
23
|
-
class PCPulsarExporterZIPLoader extends PulsarBaseLoader_1.PCPulsarBaseLoader {
|
|
24
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
25
|
-
// MARK: - Setup
|
|
26
|
-
constructor(sourceZIPURL) {
|
|
27
|
-
super();
|
|
28
|
-
this.zipSourceURL = sourceZIPURL;
|
|
29
|
-
}
|
|
30
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
31
|
-
// MARK: - Initialization of the exporter
|
|
32
|
-
async initialize() {
|
|
33
|
-
let rawZIP = await this.downloadZIPFromURL(this.zipSourceURL);
|
|
34
|
-
let processedFiles = await this.processZIP(rawZIP);
|
|
35
|
-
let unpackager = new PulsarExporterMemoryLoader_1.PCPulsarExporterMemoryLoader(processedFiles);
|
|
36
|
-
let exporter = await unpackager.constructExporterFromSourceFiles();
|
|
37
|
-
return exporter;
|
|
38
|
-
}
|
|
39
|
-
async downloadZIPFromURL(url) {
|
|
40
|
-
return new Promise((resolve, reject) => {
|
|
41
|
-
// Write zip file into buffered chunks
|
|
42
|
-
let buffers = [];
|
|
43
|
-
let buffer;
|
|
44
|
-
// Create request to download the zipball.
|
|
45
|
-
request_1.default.get(url)
|
|
46
|
-
.on('end', () => {
|
|
47
|
-
buffer = Buffer.concat(buffers);
|
|
48
|
-
jszip_1.default.loadAsync(buffer)
|
|
49
|
-
.then(zip => {
|
|
50
|
-
resolve(zip);
|
|
51
|
-
})
|
|
52
|
-
.catch(error => {
|
|
53
|
-
reject(error);
|
|
54
|
-
});
|
|
55
|
-
})
|
|
56
|
-
.on('error', error => {
|
|
57
|
-
reject(error);
|
|
58
|
-
})
|
|
59
|
-
.on('data', d => {
|
|
60
|
-
buffers.push(d);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
async processZIP(zip) {
|
|
65
|
-
let processedFiles = new Map();
|
|
66
|
-
let values = Object.values(zip.files);
|
|
67
|
-
// Fetch each file from zip (only if not directory)
|
|
68
|
-
for (let file of values) {
|
|
69
|
-
if (file.dir) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
// Obtain directory and filename of the unzipped file
|
|
73
|
-
let parsedFile = await this.parseUnzippedFile(file);
|
|
74
|
-
if (parsedFile) {
|
|
75
|
-
processedFiles.set(parsedFile.key, parsedFile);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return processedFiles;
|
|
79
|
-
}
|
|
80
|
-
async parseUnzippedFile(file) {
|
|
81
|
-
// Only retrieve files that are .pr or .json
|
|
82
|
-
let components = file.name.split('/');
|
|
83
|
-
// Extract filename, extension and paths
|
|
84
|
-
let filename = components[components.length - 1];
|
|
85
|
-
let fullpath = components.join('/');
|
|
86
|
-
// Extract directory
|
|
87
|
-
components.pop();
|
|
88
|
-
let directory = components.join('/');
|
|
89
|
-
// Get extension and check whether it is correct format
|
|
90
|
-
let nameParts = filename.split('.');
|
|
91
|
-
let extension;
|
|
92
|
-
let name;
|
|
93
|
-
if (nameParts.length >= 2) {
|
|
94
|
-
extension = nameParts[nameParts.length - 1];
|
|
95
|
-
nameParts.pop();
|
|
96
|
-
name = nameParts.join('.');
|
|
97
|
-
}
|
|
98
|
-
// Only pr and json extension are of interest to us
|
|
99
|
-
if (extension !== 'pr' && extension !== 'json') {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
// Extract content
|
|
103
|
-
let content = await file.async('string');
|
|
104
|
-
return {
|
|
105
|
-
key: fullpath,
|
|
106
|
-
filename: filename,
|
|
107
|
-
name: name,
|
|
108
|
-
extension: extension,
|
|
109
|
-
directory: directory,
|
|
110
|
-
content: content
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
exports.PCPulsarExporterZIPLoader = PCPulsarExporterZIPLoader;
|
|
115
|
-
//# sourceMappingURL=PulsarExporterZIPLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarExporterZIPLoader.js","sourceRoot":"","sources":["../../../../../../src/pulsar/managers/loaders/remote/PulsarExporterZIPLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { PCExporter, PCExporterModel } from '../../../model/exporters/Exporter';
|
|
2
|
-
export declare class PCPulsarExporterConfigurationFileValidator {
|
|
3
|
-
validateExporterConfigFileContent(content: string): PCExporterModel;
|
|
4
|
-
validateOutputConfigFileContent(content: string, exporter: PCExporter): Object;
|
|
5
|
-
validateSourceConfigFileContent(content: string, exporter: PCExporter): Object;
|
|
6
|
-
validateParseJSONContent(content: string): Object;
|
|
7
|
-
}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// PCPulsarExporterConfigurationFileValidator.ts
|
|
4
|
-
// Supernova
|
|
5
|
-
//
|
|
6
|
-
// Created by Jiri Trecak.
|
|
7
|
-
// Copyright © 2021 Jiri Trecak. All rights reserved.
|
|
8
|
-
//
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.PCPulsarExporterConfigurationFileValidator = void 0;
|
|
11
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
12
|
-
// MARK: - Definitions
|
|
13
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
14
|
-
// MARK: - Class
|
|
15
|
-
class PCPulsarExporterConfigurationFileValidator {
|
|
16
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
17
|
-
// MARK: - Properties
|
|
18
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
19
|
-
// MARK: - Exporter Config Validation
|
|
20
|
-
validateExporterConfigFileContent(content) {
|
|
21
|
-
// Validate correct json structure
|
|
22
|
-
let parsedConfiguration = this.validateParseJSONContent(content);
|
|
23
|
-
// Validate keys of exporter file
|
|
24
|
-
// Required
|
|
25
|
-
if (!parsedConfiguration.id || !(typeof parsedConfiguration.id === 'string')) {
|
|
26
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'id'");
|
|
27
|
-
}
|
|
28
|
-
if (!parsedConfiguration.name || !(typeof parsedConfiguration.name === 'string')) {
|
|
29
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'name'");
|
|
30
|
-
}
|
|
31
|
-
if (!parsedConfiguration.description || !(typeof parsedConfiguration.description === 'string')) {
|
|
32
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'description'");
|
|
33
|
-
}
|
|
34
|
-
if (!parsedConfiguration.source_dir || !(typeof parsedConfiguration.source_dir === 'string')) {
|
|
35
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'source_dir'");
|
|
36
|
-
}
|
|
37
|
-
if (!parsedConfiguration.version || !(typeof parsedConfiguration.version === 'string')) {
|
|
38
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'version'");
|
|
39
|
-
}
|
|
40
|
-
if (!parsedConfiguration.tags || !(parsedConfiguration.tags instanceof Array)) {
|
|
41
|
-
throw new Error("Invalid exporter.json configuration, missing or invalid 'tags'");
|
|
42
|
-
}
|
|
43
|
-
if (parsedConfiguration.tags.length === 0) {
|
|
44
|
-
throw new Error("Invalid exporter.json configuration, 'tags' must not be empty");
|
|
45
|
-
}
|
|
46
|
-
// Optional
|
|
47
|
-
if (parsedConfiguration.author && !(typeof parsedConfiguration.author === 'string')) {
|
|
48
|
-
throw new Error("Invalid exporter.json configuration, invalid 'author'");
|
|
49
|
-
}
|
|
50
|
-
if (parsedConfiguration.organization && !(typeof parsedConfiguration.organization === 'string')) {
|
|
51
|
-
throw new Error("Invalid exporter.json configuration, invalid 'organization'");
|
|
52
|
-
}
|
|
53
|
-
if (parsedConfiguration.homepage && !(typeof parsedConfiguration.homepage === 'string')) {
|
|
54
|
-
throw new Error("Invalid exporter.json configuration, invalid 'homepage'");
|
|
55
|
-
}
|
|
56
|
-
return parsedConfiguration;
|
|
57
|
-
}
|
|
58
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
59
|
-
// MARK: - Output Config Validation
|
|
60
|
-
validateOutputConfigFileContent(content, exporter) {
|
|
61
|
-
// Validate correct json structure
|
|
62
|
-
let parsedConfiguration = this.validateParseJSONContent(content);
|
|
63
|
-
let outputDefinition = parsedConfiguration['blueprints'];
|
|
64
|
-
if (!outputDefinition) {
|
|
65
|
-
throw Error(`Output configuration file must define 'blueprints' key`);
|
|
66
|
-
}
|
|
67
|
-
if (!(outputDefinition instanceof Array)) {
|
|
68
|
-
throw Error(`Output configuration file 'blueprints' key must be an array`);
|
|
69
|
-
}
|
|
70
|
-
// Create output mapping object from each output entry
|
|
71
|
-
for (let configuration of outputDefinition) {
|
|
72
|
-
if (!(configuration instanceof Object)) {
|
|
73
|
-
throw Error(`Output configuration source entry must be a key/value object`);
|
|
74
|
-
}
|
|
75
|
-
let invoke = configuration['invoke'];
|
|
76
|
-
let writeTo = configuration['write_to'];
|
|
77
|
-
let writeUsing = configuration['write_using'];
|
|
78
|
-
if (!invoke) {
|
|
79
|
-
throw Error(`Output configuration source entry must define 'invoke' key`);
|
|
80
|
-
}
|
|
81
|
-
if (!writeTo && !writeUsing) {
|
|
82
|
-
throw Error(`Output configuration source entry must define either 'write_to' or 'write_using' key`);
|
|
83
|
-
}
|
|
84
|
-
if (writeTo && writeUsing) {
|
|
85
|
-
throw Error(`Output configuration source entry must define one of 'write_to' or 'write_using' keys, but not both`);
|
|
86
|
-
}
|
|
87
|
-
if (writeUsing && !exporter.sources.get(writeUsing)) {
|
|
88
|
-
throw Error(`Output configuration source entry references unknown source '${writeUsing}'`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return parsedConfiguration;
|
|
92
|
-
}
|
|
93
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
94
|
-
// MARK: - File Config Validation
|
|
95
|
-
validateSourceConfigFileContent(content, exporter) {
|
|
96
|
-
// Validate correct json structure
|
|
97
|
-
let parsedConfiguration = this.validateParseJSONContent(content);
|
|
98
|
-
// Validate each source. If defined, source is required and must be valid configuration object
|
|
99
|
-
// Note: configuration keys are optional, if user defines something else, it is ignored
|
|
100
|
-
for (const [sourceId, configuration] of Object.entries(parsedConfiguration)) {
|
|
101
|
-
let source = exporter.sourceById(sourceId);
|
|
102
|
-
if (!source) {
|
|
103
|
-
throw Error(`Source configuration file defines source id ${sourceId} but there is no such file`);
|
|
104
|
-
}
|
|
105
|
-
if (!(configuration instanceof Object)) {
|
|
106
|
-
throw Error(`Source configuration for source id ${sourceId} must be key/value object`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return parsedConfiguration;
|
|
110
|
-
}
|
|
111
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
112
|
-
// MARK: - Support
|
|
113
|
-
validateParseJSONContent(content) {
|
|
114
|
-
try {
|
|
115
|
-
let file = JSON.parse(content);
|
|
116
|
-
return file;
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
throw Error('Incorrectly formatted JSON definition');
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
exports.PCPulsarExporterConfigurationFileValidator = PCPulsarExporterConfigurationFileValidator;
|
|
124
|
-
//# sourceMappingURL=PulsarExporterConfigFileValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PulsarExporterConfigFileValidator.js","sourceRoot":"","sources":["../../../../../src/pulsar/managers/validators/PulsarExporterConfigFileValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//
|
|
3
|
-
// UnitTestConfiguration.ts
|
|
4
|
-
// Pulsar
|
|
5
|
-
//
|
|
6
|
-
// Created by Jiri Trecak.
|
|
7
|
-
// Copyright © 2020 Supernova. All rights reserved.
|
|
8
|
-
//
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.UnitTestConfiguration = void 0;
|
|
11
|
-
// --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
|
|
12
|
-
// MARK: - Unit Test Configuration for all UTs
|
|
13
|
-
class UnitTestConfiguration {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.dsmEmail = 'api-test-1@supernova.io';
|
|
16
|
-
this.dsmPass = '123456';
|
|
17
|
-
this.dsVersionId = '669';
|
|
18
|
-
this.designSystemId = '641';
|
|
19
|
-
this.apiUrl = 'https://dev.api2.supernova.io/api';
|
|
20
|
-
this.apiVersion = '0.2';
|
|
21
|
-
this.accessToken = '';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.UnitTestConfiguration = UnitTestConfiguration;
|
|
25
|
-
//# sourceMappingURL=TestConfiguration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TestConfiguration.js","sourceRoot":"","sources":["../../../src/tests/TestConfiguration.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,4BAA4B;AAC5B,UAAU;AACV,EAAE;AACF,2BAA2B;AAC3B,oDAAoD;AACpD,EAAE;;;AAEF,8GAA8G;AAC9G,8CAA8C;AAE9C,MAAa,qBAAqB;IAAlC;QACE,aAAQ,GAAG,yBAAyB,CAAA;QACpC,YAAO,GAAG,QAAQ,CAAA;QAClB,gBAAW,GAAG,KAAK,CAAA;QACnB,mBAAc,GAAG,KAAK,CAAA;QACtB,WAAM,GAAG,mCAAmC,CAAA;QAC5C,eAAU,GAAG,KAAK,CAAA;QAClB,gBAAW,GAAG,EAAE,CAAA;IAClB,CAAC;CAAA;AARD,sDAQC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PCExporter } from './../../model/exporters/Exporter';
|
|
2
|
-
import { PCExportConfiguration } from './../../engine/configuration/ExportConfiguration';
|
|
3
|
-
import { PCPulsarCIManager } from '../../pulsar/managers/PulsarCIManager';
|
|
4
|
-
import { PCPulsarExporterMode } from '../../pulsar/Pulsar';
|
|
5
|
-
export declare type ExportPack = {
|
|
6
|
-
exporter: PCExporter;
|
|
7
|
-
manager: PCPulsarCIManager;
|
|
8
|
-
configuration: PCExportConfiguration;
|
|
9
|
-
accessToken: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function executeExportPack(pack: ExportPack, exporterMode: PCPulsarExporterMode): Promise<import("../../pulsar/PulsarInterface").PCEngineExporterProcessingResult>;
|
|
12
|
-
export declare function newExportTestPack(): Promise<ExportPack>;
|