@prismatic-io/spectral 8.1.7 → 9.0.0-rc.2
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/bin/component-manifest.js +2 -0
- package/dist/generators/componentManifest/cli.d.ts +2 -0
- package/dist/generators/componentManifest/cli.js +134 -0
- package/dist/generators/componentManifest/createActions.d.ts +13 -0
- package/dist/generators/componentManifest/createActions.js +95 -0
- package/dist/generators/componentManifest/createConnections.d.ts +13 -0
- package/dist/generators/componentManifest/createConnections.js +95 -0
- package/dist/generators/componentManifest/createDataSources.d.ts +13 -0
- package/dist/generators/componentManifest/createDataSources.js +95 -0
- package/dist/generators/componentManifest/createStaticFiles.d.ts +80 -0
- package/dist/generators/componentManifest/createStaticFiles.js +145 -0
- package/dist/generators/componentManifest/createTriggers.d.ts +13 -0
- package/dist/generators/componentManifest/createTriggers.js +95 -0
- package/dist/generators/componentManifest/getImports.d.ts +7 -0
- package/dist/generators/componentManifest/getImports.js +16 -0
- package/dist/generators/componentManifest/getInputs.d.ts +23 -0
- package/dist/generators/componentManifest/getInputs.js +66 -0
- package/dist/generators/componentManifest/helpers.d.ts +5 -0
- package/dist/generators/componentManifest/helpers.js +11 -0
- package/dist/generators/componentManifest/index.d.ts +15 -0
- package/dist/generators/componentManifest/index.js +78 -0
- package/dist/generators/componentManifest/removeComponentManifest.d.ts +6 -0
- package/dist/generators/componentManifest/removeComponentManifest.js +19 -0
- package/dist/generators/componentManifest/templates/README.md.ejs +186 -0
- package/dist/generators/componentManifest/templates/actions/action.ts.ejs +14 -0
- package/dist/generators/componentManifest/templates/actions/index.ts.ejs +1 -0
- package/dist/generators/componentManifest/templates/connections/connection.ts.ejs +14 -0
- package/dist/generators/componentManifest/templates/connections/index.ts.ejs +1 -0
- package/dist/generators/componentManifest/templates/dataSources/dataSource.ts.ejs +14 -0
- package/dist/generators/componentManifest/templates/dataSources/index.ts.ejs +1 -0
- package/dist/generators/componentManifest/templates/index.ts.ejs +20 -0
- package/dist/generators/componentManifest/templates/package.json.ejs +23 -0
- package/dist/generators/componentManifest/templates/partials/importBarrel.ejs +9 -0
- package/dist/generators/componentManifest/templates/partials/imports.ejs +1 -0
- package/dist/generators/componentManifest/templates/partials/inputTypes.ejs +10 -0
- package/dist/generators/componentManifest/templates/triggers/index.ts.ejs +1 -0
- package/dist/generators/componentManifest/templates/triggers/trigger.ts.ejs +14 -0
- package/dist/generators/componentManifest/templates/tsconfig.json.ejs +15 -0
- package/dist/generators/utils/capitalizeFirstLetter.d.ts +1 -0
- package/dist/generators/utils/capitalizeFirstLetter.js +5 -0
- package/dist/generators/utils/createDependencyImports.d.ts +5 -0
- package/dist/generators/utils/createDependencyImports.js +9 -0
- package/dist/generators/utils/createFlagHelpText.d.ts +12 -0
- package/dist/generators/utils/createFlagHelpText.js +19 -0
- package/dist/generators/utils/createTemplate.d.ts +9 -0
- package/dist/generators/utils/createTemplate.js +59 -0
- package/dist/generators/utils/generatePackageJsonVersion.d.ts +1 -0
- package/dist/generators/utils/generatePackageJsonVersion.js +14 -0
- package/dist/generators/utils/getComponentSignatureWithPrism.d.ts +1 -0
- package/dist/generators/utils/getComponentSignatureWithPrism.js +41 -0
- package/dist/generators/utils/getFlagBooleanValue.d.ts +11 -0
- package/dist/generators/utils/getFlagBooleanValue.js +17 -0
- package/dist/generators/utils/getFlagStringValue.d.ts +11 -0
- package/dist/generators/utils/getFlagStringValue.js +25 -0
- package/dist/generators/utils/truncatePathByFolder.d.ts +1 -0
- package/dist/generators/utils/truncatePathByFolder.js +5 -0
- package/dist/index.d.ts +14 -15
- package/dist/index.js +9 -9
- package/dist/serverTypes/convertIntegration.d.ts +2 -2
- package/dist/serverTypes/convertIntegration.js +83 -36
- package/dist/serverTypes/index.d.ts +3 -2
- package/dist/serverTypes/integration.d.ts +10 -2
- package/dist/testing.d.ts +7 -7
- package/dist/testing.js +1 -1
- package/dist/types/ActionDefinition.d.ts +2 -1
- package/dist/types/ActionPerformFunction.d.ts +5 -3
- package/dist/types/ComponentManifest.d.ts +13 -0
- package/dist/types/ComponentManifest.js +2 -0
- package/dist/types/IntegrationDefinition.d.ts +129 -70
- package/dist/types/IntegrationDefinition.js +4 -4
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/dist/util.d.ts +2 -0
- package/dist/util.js +17 -10
- package/package.json +12 -6
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.renderReadme = exports.renderTsConfig = exports.renderPackageJson = exports.renderIndex = exports.createStaticFiles = void 0;
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const helpers_1 = require("./helpers");
|
|
18
|
+
const createTemplate_1 = require("../utils/createTemplate");
|
|
19
|
+
const createStaticFiles = ({ component, dryRun, signature, packageName, dependencies, verbose, sourceDir, destinationDir, registry, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
if (verbose) {
|
|
21
|
+
console.info("Creating static files...");
|
|
22
|
+
}
|
|
23
|
+
const index = yield (0, exports.renderIndex)({
|
|
24
|
+
component: {
|
|
25
|
+
key: component.key,
|
|
26
|
+
public: Boolean(component.public),
|
|
27
|
+
signature,
|
|
28
|
+
},
|
|
29
|
+
dryRun,
|
|
30
|
+
verbose,
|
|
31
|
+
sourceDir,
|
|
32
|
+
destinationDir,
|
|
33
|
+
});
|
|
34
|
+
const packageJson = yield (0, exports.renderPackageJson)({
|
|
35
|
+
dryRun,
|
|
36
|
+
dependencies,
|
|
37
|
+
packageName,
|
|
38
|
+
verbose,
|
|
39
|
+
sourceDir,
|
|
40
|
+
destinationDir,
|
|
41
|
+
registry,
|
|
42
|
+
});
|
|
43
|
+
const tsConfig = yield (0, exports.renderTsConfig)({
|
|
44
|
+
dryRun,
|
|
45
|
+
verbose,
|
|
46
|
+
sourceDir,
|
|
47
|
+
destinationDir,
|
|
48
|
+
});
|
|
49
|
+
const readme = yield (0, exports.renderReadme)({
|
|
50
|
+
component: {
|
|
51
|
+
key: component.key,
|
|
52
|
+
label: component.display.label,
|
|
53
|
+
description: component.display.description,
|
|
54
|
+
isPublic: Boolean(component.public),
|
|
55
|
+
action: Object.keys(component.actions).length
|
|
56
|
+
? {
|
|
57
|
+
key: Object.keys(component.actions)[0],
|
|
58
|
+
}
|
|
59
|
+
: null,
|
|
60
|
+
trigger: Object.keys(component.triggers).length
|
|
61
|
+
? {
|
|
62
|
+
key: Object.keys(component.triggers)[0],
|
|
63
|
+
}
|
|
64
|
+
: null,
|
|
65
|
+
connection: component.connections.length
|
|
66
|
+
? {
|
|
67
|
+
key: component.connections[0].key,
|
|
68
|
+
}
|
|
69
|
+
: null,
|
|
70
|
+
dataSource: Object.keys(component.dataSources).length
|
|
71
|
+
? {
|
|
72
|
+
key: Object.keys(component.dataSources)[0],
|
|
73
|
+
type: component.dataSources[Object.keys(component.dataSources)[0]]
|
|
74
|
+
.dataSourceType,
|
|
75
|
+
}
|
|
76
|
+
: null,
|
|
77
|
+
},
|
|
78
|
+
packageName,
|
|
79
|
+
dryRun,
|
|
80
|
+
verbose,
|
|
81
|
+
sourceDir,
|
|
82
|
+
destinationDir,
|
|
83
|
+
});
|
|
84
|
+
if (verbose) {
|
|
85
|
+
console.info("");
|
|
86
|
+
}
|
|
87
|
+
return Promise.resolve({
|
|
88
|
+
index,
|
|
89
|
+
packageJson,
|
|
90
|
+
tsConfig,
|
|
91
|
+
readme,
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
exports.createStaticFiles = createStaticFiles;
|
|
95
|
+
const renderIndex = ({ component, dryRun, verbose, sourceDir, destinationDir, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
96
|
+
return yield (0, createTemplate_1.createTemplate)({
|
|
97
|
+
source: path_1.default.join(sourceDir, "index.ts.ejs"),
|
|
98
|
+
destination: path_1.default.join(destinationDir, "src", "index.ts"),
|
|
99
|
+
data: {
|
|
100
|
+
component,
|
|
101
|
+
},
|
|
102
|
+
verbose,
|
|
103
|
+
dryRun,
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
exports.renderIndex = renderIndex;
|
|
107
|
+
const renderPackageJson = ({ dryRun, packageName, dependencies, verbose, sourceDir, destinationDir, registry, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
|
+
return yield (0, createTemplate_1.createTemplate)({
|
|
109
|
+
source: path_1.default.join(sourceDir, "package.json.ejs"),
|
|
110
|
+
destination: path_1.default.join(destinationDir, "package.json"),
|
|
111
|
+
data: {
|
|
112
|
+
packageName,
|
|
113
|
+
spectralVersion: dependencies.spectral,
|
|
114
|
+
typescriptVersion: dependencies.devDependencies.typescript,
|
|
115
|
+
helpers: helpers_1.helpers,
|
|
116
|
+
registry,
|
|
117
|
+
},
|
|
118
|
+
dryRun,
|
|
119
|
+
verbose,
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
exports.renderPackageJson = renderPackageJson;
|
|
123
|
+
const renderTsConfig = ({ dryRun, verbose, sourceDir, destinationDir, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
124
|
+
return yield (0, createTemplate_1.createTemplate)({
|
|
125
|
+
source: path_1.default.join(sourceDir, "tsconfig.json.ejs"),
|
|
126
|
+
destination: path_1.default.join(destinationDir, "tsconfig.json"),
|
|
127
|
+
dryRun,
|
|
128
|
+
verbose,
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
exports.renderTsConfig = renderTsConfig;
|
|
132
|
+
const renderReadme = ({ component, dryRun, packageName, verbose, sourceDir, destinationDir, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
133
|
+
return yield (0, createTemplate_1.createTemplate)({
|
|
134
|
+
source: path_1.default.join(sourceDir, "README.md.ejs"),
|
|
135
|
+
destination: path_1.default.join(destinationDir, "README.md"),
|
|
136
|
+
data: {
|
|
137
|
+
component,
|
|
138
|
+
helpers: helpers_1.helpers,
|
|
139
|
+
packageName,
|
|
140
|
+
},
|
|
141
|
+
dryRun,
|
|
142
|
+
verbose,
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
exports.renderReadme = renderReadme;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Component } from "../../serverTypes";
|
|
2
|
+
interface CreateTriggersProps {
|
|
3
|
+
component: Component;
|
|
4
|
+
dryRun: boolean;
|
|
5
|
+
verbose: boolean;
|
|
6
|
+
sourceDir: string;
|
|
7
|
+
destinationDir: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const createTriggers: ({ component, dryRun, verbose, sourceDir, destinationDir, }: CreateTriggersProps) => Promise<{
|
|
10
|
+
triggersIndex: string | void;
|
|
11
|
+
triggers: (string | void)[];
|
|
12
|
+
}>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createTriggers = void 0;
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const getInputs_1 = require("./getInputs");
|
|
18
|
+
const getImports_1 = require("./getImports");
|
|
19
|
+
const helpers_1 = require("./helpers");
|
|
20
|
+
const createTemplate_1 = require("../utils/createTemplate");
|
|
21
|
+
const DOCUMENT_PROPERTIES = [
|
|
22
|
+
"comments",
|
|
23
|
+
"default",
|
|
24
|
+
"example",
|
|
25
|
+
"placeholder",
|
|
26
|
+
];
|
|
27
|
+
const createTriggers = ({ component, dryRun, verbose, sourceDir, destinationDir, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
if (verbose) {
|
|
30
|
+
console.info("Creating triggers...");
|
|
31
|
+
}
|
|
32
|
+
const triggersIndex = yield renderTriggersIndex({
|
|
33
|
+
triggers: Object.entries((_a = component.triggers) !== null && _a !== void 0 ? _a : {}).map(([triggerKey, trigger]) => {
|
|
34
|
+
return {
|
|
35
|
+
key: trigger.key || triggerKey,
|
|
36
|
+
};
|
|
37
|
+
}),
|
|
38
|
+
dryRun,
|
|
39
|
+
verbose,
|
|
40
|
+
sourceDir,
|
|
41
|
+
destinationDir,
|
|
42
|
+
});
|
|
43
|
+
const triggers = yield Promise.all(Object.entries((_b = component.triggers) !== null && _b !== void 0 ? _b : {}).map(([triggerKey, trigger]) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
const inputs = (0, getInputs_1.getInputs)({
|
|
45
|
+
inputs: trigger.inputs,
|
|
46
|
+
documentProperties: DOCUMENT_PROPERTIES,
|
|
47
|
+
});
|
|
48
|
+
const imports = (0, getImports_1.getImports)({ inputs });
|
|
49
|
+
return yield renderTrigger({
|
|
50
|
+
trigger: {
|
|
51
|
+
key: trigger.key || triggerKey,
|
|
52
|
+
label: trigger.display.description,
|
|
53
|
+
description: trigger.display.description,
|
|
54
|
+
inputs,
|
|
55
|
+
},
|
|
56
|
+
dryRun,
|
|
57
|
+
imports,
|
|
58
|
+
verbose,
|
|
59
|
+
sourceDir,
|
|
60
|
+
destinationDir,
|
|
61
|
+
});
|
|
62
|
+
})));
|
|
63
|
+
if (verbose) {
|
|
64
|
+
console.info("");
|
|
65
|
+
}
|
|
66
|
+
return Promise.resolve({
|
|
67
|
+
triggersIndex,
|
|
68
|
+
triggers,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
exports.createTriggers = createTriggers;
|
|
72
|
+
const renderTriggersIndex = ({ triggers, dryRun, verbose, sourceDir, destinationDir, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
|
+
return yield (0, createTemplate_1.createTemplate)({
|
|
74
|
+
source: path_1.default.join(sourceDir, "triggers", "index.ts.ejs"),
|
|
75
|
+
destination: path_1.default.join(destinationDir, "triggers", "index.ts"),
|
|
76
|
+
data: {
|
|
77
|
+
triggers,
|
|
78
|
+
},
|
|
79
|
+
dryRun,
|
|
80
|
+
verbose,
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
const renderTrigger = ({ dryRun, imports, trigger, verbose, sourceDir, destinationDir, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
return yield (0, createTemplate_1.createTemplate)({
|
|
85
|
+
source: path_1.default.join(sourceDir, "triggers", "trigger.ts.ejs"),
|
|
86
|
+
destination: path_1.default.join(destinationDir, "triggers", `${trigger.key}.ts`),
|
|
87
|
+
data: {
|
|
88
|
+
helpers: helpers_1.helpers,
|
|
89
|
+
imports,
|
|
90
|
+
trigger,
|
|
91
|
+
},
|
|
92
|
+
dryRun,
|
|
93
|
+
verbose,
|
|
94
|
+
});
|
|
95
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getImports = void 0;
|
|
4
|
+
const getImports = ({ inputs }) => {
|
|
5
|
+
return inputs.reduce((acc, input) => {
|
|
6
|
+
if (typeof input.type === "string") {
|
|
7
|
+
return acc;
|
|
8
|
+
}
|
|
9
|
+
return Object.assign(Object.assign({}, acc), { [input.type.module]: acc[input.type.module]
|
|
10
|
+
? !acc[input.type.module].includes(input.type.type)
|
|
11
|
+
? [...acc[input.type.module], input.type.type]
|
|
12
|
+
: acc[input.type.module]
|
|
13
|
+
: [input.type.type] });
|
|
14
|
+
}, {});
|
|
15
|
+
};
|
|
16
|
+
exports.getImports = getImports;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Input as ServerTypeInput } from "../../serverTypes";
|
|
2
|
+
import { InputFieldDefinition } from "../../types/Inputs";
|
|
3
|
+
export interface Input {
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
type: InputType;
|
|
7
|
+
required: boolean | undefined;
|
|
8
|
+
properties: {
|
|
9
|
+
key: keyof ServerTypeInput;
|
|
10
|
+
value: string;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
13
|
+
export declare type InputType = string | {
|
|
14
|
+
type: string;
|
|
15
|
+
module: string;
|
|
16
|
+
};
|
|
17
|
+
interface GetInputsProps {
|
|
18
|
+
inputs: ServerTypeInput[];
|
|
19
|
+
documentProperties: (keyof ServerTypeInput)[];
|
|
20
|
+
}
|
|
21
|
+
export declare const getInputs: ({ inputs, documentProperties, }: GetInputsProps) => Input[];
|
|
22
|
+
export declare const INPUT_TYPE_MAP: Record<InputFieldDefinition["type"], InputType>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INPUT_TYPE_MAP = exports.getInputs = void 0;
|
|
4
|
+
const getInputs = ({ inputs, documentProperties, }) => {
|
|
5
|
+
return inputs.map((input) => {
|
|
6
|
+
return {
|
|
7
|
+
key: input.key,
|
|
8
|
+
label: input.label,
|
|
9
|
+
type: getInputType(input),
|
|
10
|
+
required: input.required,
|
|
11
|
+
properties: documentProperties.reduce((acc, key) => {
|
|
12
|
+
const value = input[key]
|
|
13
|
+
? JSON.stringify(input[key])
|
|
14
|
+
.replace(/(^"|"$)|(^'|'$)/g, "")
|
|
15
|
+
.trim()
|
|
16
|
+
: null;
|
|
17
|
+
if (typeof value === "undefined" || value === null || value === "") {
|
|
18
|
+
return acc;
|
|
19
|
+
}
|
|
20
|
+
return [
|
|
21
|
+
...acc,
|
|
22
|
+
{
|
|
23
|
+
key,
|
|
24
|
+
value,
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
}, []),
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.getInputs = getInputs;
|
|
32
|
+
exports.INPUT_TYPE_MAP = {
|
|
33
|
+
string: "string",
|
|
34
|
+
data: "string",
|
|
35
|
+
text: "string",
|
|
36
|
+
password: "string",
|
|
37
|
+
boolean: "boolean",
|
|
38
|
+
code: "string",
|
|
39
|
+
conditional: {
|
|
40
|
+
type: "ConditionalExpression",
|
|
41
|
+
module: "@prismatic-io/spectral",
|
|
42
|
+
},
|
|
43
|
+
connection: {
|
|
44
|
+
type: "Connection",
|
|
45
|
+
module: "@prismatic-io/spectral",
|
|
46
|
+
},
|
|
47
|
+
objectSelection: {
|
|
48
|
+
type: "ObjectSelection",
|
|
49
|
+
module: "@prismatic-io/spectral",
|
|
50
|
+
},
|
|
51
|
+
objectFieldMap: {
|
|
52
|
+
type: "ObjectFieldMap",
|
|
53
|
+
module: "@prismatic-io/spectral",
|
|
54
|
+
},
|
|
55
|
+
jsonForm: {
|
|
56
|
+
type: "JSONForm",
|
|
57
|
+
module: "@prismatic-io/spectral",
|
|
58
|
+
},
|
|
59
|
+
dynamicObjectSelection: "string",
|
|
60
|
+
dynamicFieldSelection: "string",
|
|
61
|
+
};
|
|
62
|
+
const getInputType = (input) => {
|
|
63
|
+
return input.model
|
|
64
|
+
? input.model.map((choice) => `"${choice.value}"`).join(" | ")
|
|
65
|
+
: exports.INPUT_TYPE_MAP[input.type] || "never";
|
|
66
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.helpers = void 0;
|
|
4
|
+
const capitalizeFirstLetter_1 = require("../utils/capitalizeFirstLetter");
|
|
5
|
+
const createDependencyImports_1 = require("../utils/createDependencyImports");
|
|
6
|
+
const generatePackageJsonVersion_1 = require("../utils/generatePackageJsonVersion");
|
|
7
|
+
exports.helpers = {
|
|
8
|
+
createDependencyImports: createDependencyImports_1.createDependencyImports,
|
|
9
|
+
capitalizeFirstLetter: capitalizeFirstLetter_1.capitalizeFirstLetter,
|
|
10
|
+
generatePackageJsonVersion: generatePackageJsonVersion_1.generatePackageJsonVersion,
|
|
11
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PackageDependencies } from "./createStaticFiles";
|
|
2
|
+
import { Component } from "../../serverTypes";
|
|
3
|
+
interface CreateComponentManifestProps {
|
|
4
|
+
component: Component;
|
|
5
|
+
dryRun: boolean;
|
|
6
|
+
includeSignature: boolean;
|
|
7
|
+
packageName: string;
|
|
8
|
+
dependencies: PackageDependencies;
|
|
9
|
+
verbose: boolean;
|
|
10
|
+
sourceDir: string;
|
|
11
|
+
destinationDir: string;
|
|
12
|
+
registry: string | null;
|
|
13
|
+
}
|
|
14
|
+
export declare const createComponentManifest: ({ component, dryRun, includeSignature, packageName, dependencies, verbose, sourceDir, destinationDir, registry, }: CreateComponentManifestProps) => Promise<void>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createComponentManifest = void 0;
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const createActions_1 = require("./createActions");
|
|
18
|
+
const createConnections_1 = require("./createConnections");
|
|
19
|
+
const createDataSources_1 = require("./createDataSources");
|
|
20
|
+
const createStaticFiles_1 = require("./createStaticFiles");
|
|
21
|
+
const createTriggers_1 = require("./createTriggers");
|
|
22
|
+
const removeComponentManifest_1 = require("./removeComponentManifest");
|
|
23
|
+
const getComponentSignatureWithPrism_1 = require("../utils/getComponentSignatureWithPrism");
|
|
24
|
+
const createComponentManifest = ({ component, dryRun, includeSignature, packageName, dependencies, verbose, sourceDir, destinationDir, registry, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
const signature = includeSignature
|
|
26
|
+
? yield (0, getComponentSignatureWithPrism_1.getComponentSignatureWithPrism)()
|
|
27
|
+
: null;
|
|
28
|
+
if (verbose) {
|
|
29
|
+
console.info(`Creating a component manifest for ${component.display.label}...`);
|
|
30
|
+
console.log("");
|
|
31
|
+
}
|
|
32
|
+
(0, removeComponentManifest_1.removeComponentManifest)({
|
|
33
|
+
destinationDir,
|
|
34
|
+
verbose,
|
|
35
|
+
});
|
|
36
|
+
yield (0, createStaticFiles_1.createStaticFiles)({
|
|
37
|
+
component,
|
|
38
|
+
dryRun,
|
|
39
|
+
packageName,
|
|
40
|
+
signature,
|
|
41
|
+
dependencies,
|
|
42
|
+
verbose,
|
|
43
|
+
sourceDir,
|
|
44
|
+
destinationDir,
|
|
45
|
+
registry,
|
|
46
|
+
});
|
|
47
|
+
const srcDir = path_1.default.join(destinationDir, "src");
|
|
48
|
+
yield (0, createActions_1.createActions)({
|
|
49
|
+
component,
|
|
50
|
+
dryRun,
|
|
51
|
+
verbose,
|
|
52
|
+
sourceDir,
|
|
53
|
+
destinationDir: srcDir,
|
|
54
|
+
});
|
|
55
|
+
yield (0, createTriggers_1.createTriggers)({
|
|
56
|
+
component,
|
|
57
|
+
dryRun,
|
|
58
|
+
verbose,
|
|
59
|
+
sourceDir,
|
|
60
|
+
destinationDir: srcDir,
|
|
61
|
+
});
|
|
62
|
+
yield (0, createConnections_1.createConnections)({
|
|
63
|
+
component,
|
|
64
|
+
dryRun,
|
|
65
|
+
verbose,
|
|
66
|
+
sourceDir,
|
|
67
|
+
destinationDir: srcDir,
|
|
68
|
+
});
|
|
69
|
+
yield (0, createDataSources_1.createDataSources)({
|
|
70
|
+
component,
|
|
71
|
+
dryRun,
|
|
72
|
+
verbose,
|
|
73
|
+
sourceDir,
|
|
74
|
+
destinationDir: srcDir,
|
|
75
|
+
});
|
|
76
|
+
console.info(`Component manifest created successfully for ${component.display.label} in ${destinationDir}!`);
|
|
77
|
+
});
|
|
78
|
+
exports.createComponentManifest = createComponentManifest;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeComponentManifest = void 0;
|
|
4
|
+
const fs_extra_1 = require("fs-extra");
|
|
5
|
+
const removeComponentManifest = ({ destinationDir, verbose, }) => {
|
|
6
|
+
if (verbose) {
|
|
7
|
+
console.info("Removing existing component manifest files...");
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
(0, fs_extra_1.removeSync)(destinationDir);
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
console.error(err);
|
|
14
|
+
}
|
|
15
|
+
if (verbose) {
|
|
16
|
+
console.info("");
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.removeComponentManifest = removeComponentManifest;
|