@spica/cli 0.18.17 → 0.18.18-pre
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/index.js +3516 -38
- package/package.json +56 -31
- package/index.d.ts +0 -2
- package/index.js.map +0 -1
- package/src/commands/asset/apply.d.ts +0 -2
- package/src/commands/asset/apply.js +0 -56
- package/src/commands/asset/apply.js.map +0 -1
- package/src/commands/asset/delete.d.ts +0 -2
- package/src/commands/asset/delete.js +0 -35
- package/src/commands/asset/delete.js.map +0 -1
- package/src/commands/bucket/orm.d.ts +0 -45
- package/src/commands/bucket/orm.js +0 -478
- package/src/commands/bucket/orm.js.map +0 -1
- package/src/commands/context/ls.d.ts +0 -2
- package/src/commands/context/ls.js +0 -23
- package/src/commands/context/ls.js.map +0 -1
- package/src/commands/context/remove.d.ts +0 -2
- package/src/commands/context/remove.js +0 -16
- package/src/commands/context/remove.js.map +0 -1
- package/src/commands/context/set.d.ts +0 -2
- package/src/commands/context/set.js +0 -39
- package/src/commands/context/set.js.map +0 -1
- package/src/commands/context/switch.d.ts +0 -2
- package/src/commands/context/switch.js +0 -22
- package/src/commands/context/switch.js.map +0 -1
- package/src/commands/function/orm.d.ts +0 -2
- package/src/commands/function/orm.js +0 -63
- package/src/commands/function/orm.js.map +0 -1
- package/src/commands/project/ls.d.ts +0 -2
- package/src/commands/project/ls.js +0 -55
- package/src/commands/project/ls.js.map +0 -1
- package/src/commands/project/remove.d.ts +0 -2
- package/src/commands/project/remove.js +0 -82
- package/src/commands/project/remove.js.map +0 -1
- package/src/commands/project/start.d.ts +0 -2
- package/src/commands/project/start.js +0 -443
- package/src/commands/project/start.js.map +0 -1
- package/src/commands/project/sync.d.ts +0 -201
- package/src/commands/project/sync.js +0 -785
- package/src/commands/project/sync.js.map +0 -1
- package/src/commands/project/upgrade.d.ts +0 -2
- package/src/commands/project/upgrade.js +0 -174
- package/src/commands/project/upgrade.js.map +0 -1
- package/src/compile.d.ts +0 -22
- package/src/compile.js +0 -115
- package/src/compile.js.map +0 -1
- package/src/config.d.ts +0 -9
- package/src/config.js +0 -53
- package/src/config.js.map +0 -1
- package/src/console.d.ts +0 -14
- package/src/console.js +0 -47
- package/src/console.js.map +0 -1
- package/src/context.d.ts +0 -17
- package/src/context.js +0 -54
- package/src/context.js.map +0 -1
- package/src/function/helpers.d.ts +0 -2
- package/src/function/helpers.js +0 -12
- package/src/function/helpers.js.map +0 -1
- package/src/function/index.d.ts +0 -2
- package/src/function/index.js +0 -3
- package/src/function/index.js.map +0 -1
- package/src/function/interface.d.ts +0 -28
- package/src/function/interface.js +0 -3
- package/src/function/interface.js.map +0 -1
- package/src/function/modifier.d.ts +0 -41
- package/src/function/modifier.js +0 -64
- package/src/function/modifier.js.map +0 -1
- package/src/function/triggers/http/index.d.ts +0 -7
- package/src/function/triggers/http/index.js +0 -8
- package/src/function/triggers/http/index.js.map +0 -1
- package/src/function/triggers/http/services/axios.d.ts +0 -46
- package/src/function/triggers/http/services/axios.js +0 -163
- package/src/function/triggers/http/services/axios.js.map +0 -1
- package/src/function/triggers/http/services/index.d.ts +0 -3
- package/src/function/triggers/http/services/index.js +0 -4
- package/src/function/triggers/http/services/index.js.map +0 -1
- package/src/function/triggers/http/transformer.d.ts +0 -16
- package/src/function/triggers/http/transformer.js +0 -49
- package/src/function/triggers/http/transformer.js.map +0 -1
- package/src/function/triggers/index.d.ts +0 -4
- package/src/function/triggers/index.js +0 -6
- package/src/function/triggers/index.js.map +0 -1
- package/src/http.d.ts +0 -11
- package/src/http.js +0 -30
- package/src/http.js.map +0 -1
- package/src/project.d.ts +0 -11
- package/src/project.js +0 -63
- package/src/project.js.map +0 -1
- package/src/range.d.ts +0 -1
- package/src/range.js +0 -13
- package/src/range.js.map +0 -1
- package/src/representative.d.ts +0 -13
- package/src/representative.js +0 -120
- package/src/representative.js.map +0 -1
- package/src/status.d.ts +0 -19
- package/src/status.js +0 -39
- package/src/status.js.map +0 -1
- package/src/validator.d.ts +0 -7
- package/src/validator.js +0 -52
- package/src/validator.js.map +0 -1
- package/tsconfig.app.tsbuildinfo +0 -1
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import fs from "fs";
|
|
3
|
-
import { spin } from "../../console.js";
|
|
4
|
-
import { FunctionCompiler } from "../../compile.js";
|
|
5
|
-
import { availableHttpServices, separateToNewLines } from "../../validator.js";
|
|
6
|
-
import { green } from "colorette";
|
|
7
|
-
import { httpService } from "../../http.js";
|
|
8
|
-
import { context } from "../../context.js";
|
|
9
|
-
async function orm({ options }) {
|
|
10
|
-
const PATH = options.path || path.join(process.cwd(), "functions");
|
|
11
|
-
const TRIGGER_TYPES = options.triggerTypes;
|
|
12
|
-
const HTTP_SERVICE = options.httpService;
|
|
13
|
-
const httpClient = await httpService.createFromCurrentCtx();
|
|
14
|
-
const { url } = await context.getCurrent();
|
|
15
|
-
await spin({
|
|
16
|
-
text: "Fetching functions..",
|
|
17
|
-
op: async (spinner) => {
|
|
18
|
-
const functions = await httpClient.get("/function").then(r => {
|
|
19
|
-
const fns = r;
|
|
20
|
-
const promises = fns.map(fn => httpClient.get(`/function/${fn._id}/index`).then(r => {
|
|
21
|
-
fn.index = r.index;
|
|
22
|
-
}));
|
|
23
|
-
return Promise.all(promises).then(() => fns);
|
|
24
|
-
});
|
|
25
|
-
spinner.text = "Building interface and method definitions..";
|
|
26
|
-
if (!fs.existsSync(PATH)) {
|
|
27
|
-
fs.mkdirSync(PATH);
|
|
28
|
-
}
|
|
29
|
-
const writeFilePromises = [];
|
|
30
|
-
for (const fn of functions) {
|
|
31
|
-
const options = {
|
|
32
|
-
http: { selectedService: HTTP_SERVICE }
|
|
33
|
-
};
|
|
34
|
-
const sources = new FunctionCompiler(fn, TRIGGER_TYPES, url, options).compile();
|
|
35
|
-
const replacedName = fn.name.replace(/ /gm, "_").replace(/\//g, "__");
|
|
36
|
-
const folderPath = path.join(PATH, replacedName);
|
|
37
|
-
if (!fs.existsSync(folderPath)) {
|
|
38
|
-
fs.mkdirSync(folderPath);
|
|
39
|
-
}
|
|
40
|
-
for (const source of sources) {
|
|
41
|
-
const _path = path.join(folderPath, `index.${source.extension}`);
|
|
42
|
-
writeFilePromises.push(fs.promises.writeFile(_path, source.content, {}));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
spinner.text = "Writing to the destination..";
|
|
46
|
-
await Promise.all(writeFilePromises);
|
|
47
|
-
spinner.text = `Succesfully completed! Folder url is ${PATH}`;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
export default function (program) {
|
|
52
|
-
return program
|
|
53
|
-
.command("function orm", "Create object relational mapping applied files to interact with Spica Cloud Functions")
|
|
54
|
-
.option("--path <path>", "Full URL of the destination folder that the files will be created into. The current directory will be used as default")
|
|
55
|
-
.option("--trigger-types <trigger-types>", "Trigger types that will be filtered. Default value is http.", {
|
|
56
|
-
default: ["http"]
|
|
57
|
-
})
|
|
58
|
-
.option("--http-service <http-service>", `Third party library that is responsible for sending http requests. Available services are: ${separateToNewLines(availableHttpServices, green)}}.`, {
|
|
59
|
-
default: "axios"
|
|
60
|
-
})
|
|
61
|
-
.action(orm);
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=orm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orm.js","sourceRoot":"","sources":["../../../../../../apps/cli/src/commands/function/orm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import docker from "dockerode";
|
|
2
|
-
import duration from "pretty-ms";
|
|
3
|
-
async function list() {
|
|
4
|
-
const machine = new docker();
|
|
5
|
-
const foundNetworks = await machine.listNetworks({
|
|
6
|
-
filters: JSON.stringify({ label: { namespace: true } })
|
|
7
|
-
});
|
|
8
|
-
const instances = [];
|
|
9
|
-
for (const network of foundNetworks) {
|
|
10
|
-
const containers = await machine.listContainers({
|
|
11
|
-
all: true,
|
|
12
|
-
filters: JSON.stringify({ label: [`namespace=${network["Labels"].namespace}`] })
|
|
13
|
-
});
|
|
14
|
-
const namespace = network["Labels"].namespace;
|
|
15
|
-
const instance = {
|
|
16
|
-
NAMESPACE: namespace,
|
|
17
|
-
DESCRIPTION: [],
|
|
18
|
-
PORT: "-",
|
|
19
|
-
AGE: "-",
|
|
20
|
-
VERSION: "-",
|
|
21
|
-
STATUS: "-"
|
|
22
|
-
};
|
|
23
|
-
instances.push(instance);
|
|
24
|
-
const api = containers.find(container => container.Names.some(name => name.indexOf(`${namespace}-api`) != -1));
|
|
25
|
-
const spica = containers.find(container => container.Names.some(name => name.indexOf(`${namespace}-spica`) != -1));
|
|
26
|
-
const ingress = containers.find(container => container.Names.some(name => name.indexOf(`${namespace}-ingress`) != -1));
|
|
27
|
-
if (api && spica && ingress) {
|
|
28
|
-
instance.VERSION = api.Image.split(":")[1];
|
|
29
|
-
instance.AGE = duration(new Date(api.Created * 1000).getTime());
|
|
30
|
-
if (ingress.State == "running" && ingress.Ports.length) {
|
|
31
|
-
const [port] = ingress.Ports;
|
|
32
|
-
instance.PORT = `${port.IP}:${port.PublicPort}`;
|
|
33
|
-
}
|
|
34
|
-
if (api.State == "running" && spica.State == "running" && ingress.State == "running") {
|
|
35
|
-
instance.STATE = ingress.State;
|
|
36
|
-
instance.STATUS = ingress.Status;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
const downContainer = ingress.State != "running" ? ingress : api.State != "running" ? api : spica;
|
|
40
|
-
instance.STATUS = downContainer.Status;
|
|
41
|
-
instance.DESCRIPTION.push(`The container ${downContainer.Image.startsWith("nginx") ? "Ingress" : downContainer.Names[0].slice(1)} is down.`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const databaseContainers = containers.filter(container => container.Image.startsWith("mongo"));
|
|
45
|
-
const runningDatabaseContainers = containers.filter(container => container.Image.startsWith("mongo") && container.State == "running");
|
|
46
|
-
if (runningDatabaseContainers.length != databaseContainers.length) {
|
|
47
|
-
instance.DESCRIPTION.push(`Some database containers are down.`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
console.table(instances, ["NAMESPACE", "AGE", "STATUS", "VERSION", "PORT", "DESCRIPTION"]);
|
|
51
|
-
}
|
|
52
|
-
export default function (program) {
|
|
53
|
-
return program.command("project ls", "List local projects.").action(list);
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=ls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../../../../apps/cli/src/commands/project/ls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import docker from "dockerode";
|
|
2
|
-
import { spin } from "../../console.js";
|
|
3
|
-
import { projectName } from "../../validator.js";
|
|
4
|
-
async function remove({ args, options }) {
|
|
5
|
-
const { name } = args;
|
|
6
|
-
const machine = new docker();
|
|
7
|
-
const foundNetworks = await machine.listNetworks({
|
|
8
|
-
filters: JSON.stringify({ label: [`namespace=${name}`] })
|
|
9
|
-
});
|
|
10
|
-
const foundContainers = await machine.listContainers({
|
|
11
|
-
all: true,
|
|
12
|
-
filters: JSON.stringify({ label: [`namespace=${name}`] })
|
|
13
|
-
});
|
|
14
|
-
if (!foundNetworks.length && !foundContainers.length) {
|
|
15
|
-
return console.warn(`There is no instance with name ${name}.`);
|
|
16
|
-
}
|
|
17
|
-
if (foundContainers.length) {
|
|
18
|
-
await spin({
|
|
19
|
-
text: `Removing containers (0/${foundContainers.length}).`,
|
|
20
|
-
op: spinner => {
|
|
21
|
-
let deleted = 0;
|
|
22
|
-
function increaseDeletedCount() {
|
|
23
|
-
deleted++;
|
|
24
|
-
spinner.text = `Removing containers (${deleted}/${foundContainers.length}).`;
|
|
25
|
-
}
|
|
26
|
-
return Promise.all(foundContainers.map(async (containerInfo) => machine
|
|
27
|
-
.getContainer(containerInfo.Id)
|
|
28
|
-
.remove({
|
|
29
|
-
v: true,
|
|
30
|
-
force: true
|
|
31
|
-
})
|
|
32
|
-
.then(() => increaseDeletedCount())));
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
if (foundNetworks.length) {
|
|
37
|
-
await spin({
|
|
38
|
-
text: `Removing networks (0/${foundNetworks.length}).`,
|
|
39
|
-
op: spinner => {
|
|
40
|
-
let deleted = 0;
|
|
41
|
-
function increaseDeletedCount() {
|
|
42
|
-
deleted++;
|
|
43
|
-
spinner.text = `Removing networks (${deleted}/${foundNetworks.length}).`;
|
|
44
|
-
}
|
|
45
|
-
return Promise.all(foundNetworks.map(network => machine
|
|
46
|
-
.getNetwork(network.Id)
|
|
47
|
-
.remove()
|
|
48
|
-
.then(() => increaseDeletedCount())));
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
if (!options.retainVolumes) {
|
|
53
|
-
const foundVolumes = (await machine.listVolumes({
|
|
54
|
-
filters: JSON.stringify({ label: [`namespace=${name}`] })
|
|
55
|
-
})).Volumes;
|
|
56
|
-
await spin({
|
|
57
|
-
text: `Removing volumes (0/${foundVolumes.length}).`,
|
|
58
|
-
op: spinner => {
|
|
59
|
-
let deleted = 0;
|
|
60
|
-
function increaseDeletedCount() {
|
|
61
|
-
deleted++;
|
|
62
|
-
spinner.text = `Removing volumes (${deleted}/${foundVolumes.length}).`;
|
|
63
|
-
}
|
|
64
|
-
return Promise.all(foundVolumes.map(volume => machine
|
|
65
|
-
.getVolume(volume.Name)
|
|
66
|
-
.remove()
|
|
67
|
-
.then(() => increaseDeletedCount())));
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
console.info(`Spica ${name} was successfully deleted.`);
|
|
72
|
-
}
|
|
73
|
-
export default function (program) {
|
|
74
|
-
return program
|
|
75
|
-
.command("project remove", "Stop and remove a local project.")
|
|
76
|
-
.argument("<name>", "Name of the project to remove.", { validator: projectName })
|
|
77
|
-
.option("--retain-volumes", "When false, the data will be removed along with the containers.", {
|
|
78
|
-
default: true
|
|
79
|
-
})
|
|
80
|
-
.action(remove);
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=remove.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../../apps/cli/src/commands/project/remove.ts"],"names":[],"mappings":"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"}
|