@takeshape/cli 7.194.0
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/README.md +9 -0
- package/lib/auth.d.ts +5 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/auth.js +76 -0
- package/lib/check-version.d.ts +2 -0
- package/lib/check-version.d.ts.map +1 -0
- package/lib/check-version.js +22 -0
- package/lib/commands/build-or-watch.d.ts +4 -0
- package/lib/commands/build-or-watch.d.ts.map +1 -0
- package/lib/commands/build-or-watch.js +69 -0
- package/lib/commands/deploy/index.d.ts +9 -0
- package/lib/commands/deploy/index.d.ts.map +1 -0
- package/lib/commands/deploy/index.js +74 -0
- package/lib/commands/deploy/zip.d.ts +18 -0
- package/lib/commands/deploy/zip.d.ts.map +1 -0
- package/lib/commands/deploy/zip.js +57 -0
- package/lib/commands/export/index.d.ts +6 -0
- package/lib/commands/export/index.d.ts.map +1 -0
- package/lib/commands/export/index.js +23 -0
- package/lib/commands/export/project-export.d.ts +13 -0
- package/lib/commands/export/project-export.d.ts.map +1 -0
- package/lib/commands/export/project-export.js +104 -0
- package/lib/commands/export/schema-export.d.ts +7 -0
- package/lib/commands/export/schema-export.d.ts.map +1 -0
- package/lib/commands/export/schema-export.js +80 -0
- package/lib/commands/import/index.d.ts +6 -0
- package/lib/commands/import/index.d.ts.map +1 -0
- package/lib/commands/import/index.js +23 -0
- package/lib/commands/import/project-import.d.ts +16 -0
- package/lib/commands/import/project-import.d.ts.map +1 -0
- package/lib/commands/import/project-import.js +167 -0
- package/lib/commands/import/schema-import.d.ts +7 -0
- package/lib/commands/import/schema-import.d.ts.map +1 -0
- package/lib/commands/import/schema-import.js +75 -0
- package/lib/commands/link.d.ts +3 -0
- package/lib/commands/link.d.ts.map +1 -0
- package/lib/commands/link.js +61 -0
- package/lib/commands/login.d.ts +4 -0
- package/lib/commands/login.d.ts.map +1 -0
- package/lib/commands/login.js +31 -0
- package/lib/commands/logout.d.ts +4 -0
- package/lib/commands/logout.d.ts.map +1 -0
- package/lib/commands/logout.js +29 -0
- package/lib/commands/schema.d.ts +3 -0
- package/lib/commands/schema.d.ts.map +1 -0
- package/lib/commands/schema.js +23 -0
- package/lib/commands/status.d.ts +3 -0
- package/lib/commands/status.d.ts.map +1 -0
- package/lib/commands/status.js +20 -0
- package/lib/commands/unlink.d.ts +4 -0
- package/lib/commands/unlink.d.ts.map +1 -0
- package/lib/commands/unlink.js +29 -0
- package/lib/config.d.ts +14 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +161 -0
- package/lib/deprecated.d.ts +2 -0
- package/lib/deprecated.d.ts.map +1 -0
- package/lib/deprecated.js +9 -0
- package/lib/errors.d.ts +7 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +36 -0
- package/lib/files.d.ts +5 -0
- package/lib/files.d.ts.map +1 -0
- package/lib/files.js +53 -0
- package/lib/graphql.d.ts +14 -0
- package/lib/graphql.d.ts.map +1 -0
- package/lib/graphql.js +94 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +78 -0
- package/lib/log.d.ts +4 -0
- package/lib/log.d.ts.map +1 -0
- package/lib/log.js +21 -0
- package/lib/main.d.ts +2 -0
- package/lib/main.d.ts.map +1 -0
- package/lib/main.js +36 -0
- package/lib/prompt.d.ts +11 -0
- package/lib/prompt.d.ts.map +1 -0
- package/lib/prompt.js +39 -0
- package/lib/types.d.ts +45 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +20 -0
- package/lib/util/api.d.ts +5 -0
- package/lib/util/api.d.ts.map +1 -0
- package/lib/util/api.js +66 -0
- package/lib/util/cached-connector.d.ts +5 -0
- package/lib/util/cached-connector.d.ts.map +1 -0
- package/lib/util/cached-connector.js +34 -0
- package/lib/util/connector.d.ts +7 -0
- package/lib/util/connector.d.ts.map +1 -0
- package/lib/util/connector.js +19 -0
- package/lib/util/data.d.ts +38 -0
- package/lib/util/data.d.ts.map +1 -0
- package/lib/util/data.js +156 -0
- package/lib/util/fatal-error.d.ts +2 -0
- package/lib/util/fatal-error.d.ts.map +1 -0
- package/lib/util/fatal-error.js +17 -0
- package/lib/util/format-error.d.ts +2 -0
- package/lib/util/format-error.d.ts.map +1 -0
- package/lib/util/format-error.js +10 -0
- package/lib/util/get-client-schema.d.ts +4 -0
- package/lib/util/get-client-schema.d.ts.map +1 -0
- package/lib/util/get-client-schema.js +28 -0
- package/lib/util/glitch.d.ts +5 -0
- package/lib/util/glitch.d.ts.map +1 -0
- package/lib/util/glitch.js +51 -0
- package/lib/util/linked-command.d.ts +4 -0
- package/lib/util/linked-command.d.ts.map +1 -0
- package/lib/util/linked-command.js +33 -0
- package/lib/util/login.d.ts +16 -0
- package/lib/util/login.d.ts.map +1 -0
- package/lib/util/login.js +123 -0
- package/lib/util/messages.d.ts +13 -0
- package/lib/util/messages.d.ts.map +1 -0
- package/lib/util/messages.js +57 -0
- package/lib/util/ora-wrapper.d.ts +2 -0
- package/lib/util/ora-wrapper.d.ts.map +1 -0
- package/lib/util/ora-wrapper.js +28 -0
- package/lib/util/pusher.d.ts +4 -0
- package/lib/util/pusher.d.ts.map +1 -0
- package/lib/util/pusher.js +45 -0
- package/lib/util/runner.d.ts +2 -0
- package/lib/util/runner.d.ts.map +1 -0
- package/lib/util/runner.js +44 -0
- package/lib/util/select-project.d.ts +4 -0
- package/lib/util/select-project.d.ts.map +1 -0
- package/lib/util/select-project.js +23 -0
- package/lib/util/spin.d.ts +7 -0
- package/lib/util/spin.d.ts.map +1 -0
- package/lib/util/spin.js +41 -0
- package/lib/util/upload.d.ts +5 -0
- package/lib/util/upload.d.ts.map +1 -0
- package/lib/util/upload.js +55 -0
- package/lib/util/watcher.d.ts +2 -0
- package/lib/util/watcher.d.ts.map +1 -0
- package/lib/util/watcher.js +30 -0
- package/package.json +90 -0
package/README.md
ADDED
package/lib/auth.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Response } from 'node-fetch';
|
|
2
|
+
export declare function parseToken(res: Response): Promise<string>;
|
|
3
|
+
export declare function login(endpoint: string, email: string, password: string): Promise<string>;
|
|
4
|
+
export declare function projectAuth(endpoint: string, projectId: string, authToken: string): Promise<string>;
|
|
5
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAc,EAAC,QAAQ,EAAc,MAAM,YAAY,CAAC;AAIxD,wBAAsB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB/D;AA4BD,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9F;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMzG"}
|
package/lib/auth.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseToken = parseToken;
|
|
7
|
+
exports.login = login;
|
|
8
|
+
exports.projectAuth = projectAuth;
|
|
9
|
+
|
|
10
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
11
|
+
|
|
12
|
+
var _errors = require("./errors");
|
|
13
|
+
|
|
14
|
+
var _api = require("./util/api");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
async function parseToken(res) {
|
|
19
|
+
try {
|
|
20
|
+
const body = await res.json();
|
|
21
|
+
|
|
22
|
+
if (body.token) {
|
|
23
|
+
return body.token;
|
|
24
|
+
}
|
|
25
|
+
} catch (e) {// ignore parsing error
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const cookie = res.headers.get('set-cookie');
|
|
29
|
+
|
|
30
|
+
if (cookie) {
|
|
31
|
+
const matches = /s=(.+?);/.exec(cookie);
|
|
32
|
+
|
|
33
|
+
if (matches) {
|
|
34
|
+
return matches[1];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
throw new _errors.HTTPError('Forbidden', 403);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async function fetchToken(method, endpoint, body, headers) {
|
|
42
|
+
const params = {
|
|
43
|
+
method,
|
|
44
|
+
headers: {
|
|
45
|
+
'Content-Type': 'application/json',
|
|
46
|
+
...headers
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
if (body) {
|
|
51
|
+
params.body = JSON.stringify(body);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const res = await (0, _nodeFetch.default)(endpoint, params);
|
|
55
|
+
|
|
56
|
+
if (res.ok) {
|
|
57
|
+
return parseToken(res);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
throw new _errors.HTTPError(`${res.statusText}`, res.status);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
async function login(endpoint, email, password) {
|
|
64
|
+
return fetchToken('POST', `${endpoint}/login`, {
|
|
65
|
+
email,
|
|
66
|
+
password
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async function projectAuth(endpoint, projectId, authToken) {
|
|
71
|
+
try {
|
|
72
|
+
return await fetchToken('GET', `${endpoint}/project/${projectId}/access-token`, null, (0, _api.getAuthHeader)(authToken));
|
|
73
|
+
} catch (e) {
|
|
74
|
+
throw (0, _errors.formatErrorMessage)(e, 'getting developer access token');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-version.d.ts","sourceRoot":"","sources":["../../src/check-version.ts"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAQzD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkVersion = checkVersion;
|
|
7
|
+
|
|
8
|
+
var _semver = _interopRequireDefault(require("semver"));
|
|
9
|
+
|
|
10
|
+
var _package = require("../package.json");
|
|
11
|
+
|
|
12
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
13
|
+
|
|
14
|
+
var _log = _interopRequireDefault(require("./log"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function checkVersion(currentVersion) {
|
|
19
|
+
if (!_semver.default.satisfies(currentVersion, _package.engines.node)) {
|
|
20
|
+
(0, _log.default)(_chalk.default.yellow(`WARNING: TakeShape CLI does not officially support node ${currentVersion} yet. Please use node version ${_package.engines.node}.`));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-or-watch.d.ts","sourceRoot":"","sources":["../../../src/commands/build-or-watch.js"],"names":[],"mappings":"AASA,0FASC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildHandler = buildHandler;
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
|
|
9
|
+
var _ssg = require("@takeshape/ssg");
|
|
10
|
+
|
|
11
|
+
var _files = require("../files");
|
|
12
|
+
|
|
13
|
+
var _pusher = require("../util/pusher");
|
|
14
|
+
|
|
15
|
+
var _linkedCommand = require("../util/linked-command");
|
|
16
|
+
|
|
17
|
+
var _connector = require("../util/connector");
|
|
18
|
+
|
|
19
|
+
var _runner = require("../util/runner");
|
|
20
|
+
|
|
21
|
+
var _watcher = require("../util/watcher");
|
|
22
|
+
|
|
23
|
+
var _path = _interopRequireDefault(require("path"));
|
|
24
|
+
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
+
|
|
27
|
+
function buildHandler(config, params) {
|
|
28
|
+
const {
|
|
29
|
+
connector
|
|
30
|
+
} = params;
|
|
31
|
+
return async clearCache => {
|
|
32
|
+
if (clearCache && connector.clearCache) {
|
|
33
|
+
await connector.clearCache();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const pages = await (0, _ssg.generate)(config, params);
|
|
37
|
+
return (0, _files.writePages)(config.buildPath)(pages);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var _default = (0, _linkedCommand.linkedCommand)(async (command, params) => {
|
|
42
|
+
const sitePath = _path.default.dirname(params.configFilePath);
|
|
43
|
+
|
|
44
|
+
const fileLoader = (0, _ssg.createFileSystemLoader)(sitePath);
|
|
45
|
+
const templateFileLoader = (0, _ssg.createSyncFileSystemLoader)(sitePath);
|
|
46
|
+
const config = await (0, _ssg.loadConfig)(fileLoader, _path.default.basename(params.configFilePath), {
|
|
47
|
+
env: process.env
|
|
48
|
+
});
|
|
49
|
+
const connector = (0, _connector.createConnector)(params, {
|
|
50
|
+
cache: params.cache
|
|
51
|
+
});
|
|
52
|
+
const build = (0, _runner.createRunner)('takeshape build', buildHandler(config, {
|
|
53
|
+
connector,
|
|
54
|
+
fileLoader,
|
|
55
|
+
templateFileLoader
|
|
56
|
+
}));
|
|
57
|
+
await Promise.all([build(false), (0, _files.copyStatic)(config)]);
|
|
58
|
+
|
|
59
|
+
if (command === 'watch') {
|
|
60
|
+
(0, _watcher.createWatcher)('templates', build.bind(null, false), config.templatePath);
|
|
61
|
+
(0, _watcher.createWatcher)('static', (0, _files.syncStatic)(config), config.staticPath);
|
|
62
|
+
|
|
63
|
+
if (params.watchContent) {
|
|
64
|
+
await (0, _pusher.subscribe)(params, build.bind(null, true));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
exports.default = _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface SuccessMessageParams {
|
|
2
|
+
siteName: string;
|
|
3
|
+
zipSize: number;
|
|
4
|
+
fileCount: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function successMessage({ siteName, zipSize, fileCount }: SuccessMessageParams): void;
|
|
7
|
+
declare const _default: import("../../types").Handler<unknown>;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/index.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,EAAE,oBAAoB,GAAG,IAAI,CAKzF;;AAED,wBAkBG"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.successMessage = successMessage;
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
|
|
11
|
+
var _glob = _interopRequireDefault(require("glob"));
|
|
12
|
+
|
|
13
|
+
var _ssg = require("@takeshape/ssg");
|
|
14
|
+
|
|
15
|
+
var _linkedCommand = require("../../util/linked-command");
|
|
16
|
+
|
|
17
|
+
var _zip = require("./zip");
|
|
18
|
+
|
|
19
|
+
var _log = _interopRequireDefault(require("../../log"));
|
|
20
|
+
|
|
21
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
22
|
+
|
|
23
|
+
var _prettyBytes = _interopRequireDefault(require("pretty-bytes"));
|
|
24
|
+
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
+
|
|
27
|
+
function countFiles(projectPath, config) {
|
|
28
|
+
const staticFiles = _glob.default.sync(`${_path.default.join(projectPath, config.staticPath)}/**/*.*`);
|
|
29
|
+
|
|
30
|
+
const templateFiles = _glob.default.sync(`${_path.default.join(projectPath, config.templatePath)}/**/*.*`);
|
|
31
|
+
|
|
32
|
+
return staticFiles.length + templateFiles.length;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function successMessage({
|
|
36
|
+
siteName,
|
|
37
|
+
zipSize,
|
|
38
|
+
fileCount
|
|
39
|
+
}) {
|
|
40
|
+
(0, _log.default)(_chalk.default.green('Site was successfully deployed!'));
|
|
41
|
+
(0, _log.default)(`Deploy Target: ${_chalk.default.green(siteName)}`);
|
|
42
|
+
(0, _log.default)(`Deploy Size: ${_chalk.default.green((0, _prettyBytes.default)(zipSize))}`);
|
|
43
|
+
(0, _log.default)(`Files Deployed: ${_chalk.default.green(`${fileCount}`)}`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var _default = (0, _linkedCommand.linkedCommand)(async (_, params) => {
|
|
47
|
+
if (!params.siteId || !params.siteName) {
|
|
48
|
+
(0, _log.default)('Error: no site selected. Please run `takeshape link`.');
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
try {
|
|
53
|
+
const projectPath = _path.default.dirname(params.configFilePath);
|
|
54
|
+
|
|
55
|
+
const configFilename = _path.default.basename(params.configFilePath);
|
|
56
|
+
|
|
57
|
+
const config = await (0, _ssg.loadConfig)((0, _ssg.createFileSystemLoader)(projectPath), configFilename);
|
|
58
|
+
const zipSize = await (0, _zip.deployZip)({
|
|
59
|
+
config,
|
|
60
|
+
params,
|
|
61
|
+
projectPath
|
|
62
|
+
});
|
|
63
|
+
successMessage({
|
|
64
|
+
siteName: params.siteName,
|
|
65
|
+
fileCount: countFiles(projectPath, config),
|
|
66
|
+
zipSize
|
|
67
|
+
});
|
|
68
|
+
} catch (e) {
|
|
69
|
+
(0, _log.default)('An error occurred with deploying - ', e);
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CliConfig } from '../../types';
|
|
2
|
+
import { Config } from '@takeshape/ssg';
|
|
3
|
+
interface CreateZipParams {
|
|
4
|
+
projectPath: string;
|
|
5
|
+
staticPath: string;
|
|
6
|
+
templatePath: string;
|
|
7
|
+
configFilePath: string;
|
|
8
|
+
zipPath: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function createZip({ projectPath, staticPath, templatePath, configFilePath, zipPath }: CreateZipParams): Promise<void>;
|
|
11
|
+
export interface DeployZipParams {
|
|
12
|
+
projectPath: string;
|
|
13
|
+
params: CliConfig;
|
|
14
|
+
config: Config;
|
|
15
|
+
}
|
|
16
|
+
export declare function deployZip(params: DeployZipParams): Promise<number>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=zip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/zip.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,SAAS,CAAC,EAC9B,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,OAAO,EACR,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CASjC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBxE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createZip = createZip;
|
|
7
|
+
exports.deployZip = deployZip;
|
|
8
|
+
|
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
|
10
|
+
|
|
11
|
+
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
12
|
+
|
|
13
|
+
var _archiver = _interopRequireDefault(require("archiver"));
|
|
14
|
+
|
|
15
|
+
var _streamToPromise = _interopRequireDefault(require("stream-to-promise"));
|
|
16
|
+
|
|
17
|
+
var _upload = require("../../util/upload");
|
|
18
|
+
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
|
+
|
|
21
|
+
async function createZip({
|
|
22
|
+
projectPath,
|
|
23
|
+
staticPath,
|
|
24
|
+
templatePath,
|
|
25
|
+
configFilePath,
|
|
26
|
+
zipPath
|
|
27
|
+
}) {
|
|
28
|
+
const output = _fsExtra.default.createWriteStream(zipPath);
|
|
29
|
+
|
|
30
|
+
const archive = (0, _archiver.default)('zip');
|
|
31
|
+
archive.pipe(output);
|
|
32
|
+
archive.file(configFilePath, {
|
|
33
|
+
name: 'tsg.yml'
|
|
34
|
+
});
|
|
35
|
+
archive.directory(_path.default.join(projectPath, staticPath), staticPath);
|
|
36
|
+
archive.directory(_path.default.join(projectPath, templatePath), templatePath);
|
|
37
|
+
await archive.finalize();
|
|
38
|
+
return (0, _streamToPromise.default)(output);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async function deployZip(params) {
|
|
42
|
+
const [zipPath, removeTempFile] = (0, _upload.createTempFile)('deploy.zip');
|
|
43
|
+
|
|
44
|
+
try {
|
|
45
|
+
const [uploadUrl] = await Promise.all([(0, _upload.getUploadUrl)(params.params), createZip({
|
|
46
|
+
zipPath,
|
|
47
|
+
configFilePath: params.params.configFilePath,
|
|
48
|
+
projectPath: params.projectPath,
|
|
49
|
+
templatePath: params.config.templatePath,
|
|
50
|
+
staticPath: params.config.staticPath
|
|
51
|
+
})]);
|
|
52
|
+
const zipSize = await (0, _upload.uploadFile)(zipPath, uploadUrl);
|
|
53
|
+
return zipSize;
|
|
54
|
+
} finally {
|
|
55
|
+
removeTempFile();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ProjectExportFlags } from './project-export';
|
|
2
|
+
import { SchemaExportFlags } from './schema-export';
|
|
3
|
+
import { Handler } from '../../types';
|
|
4
|
+
declare const commandHandler: Handler<ProjectExportFlags | SchemaExportFlags>;
|
|
5
|
+
export default commandHandler;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/export/index.ts"],"names":[],"mappings":"AAAA,OAAsB,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAqB,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAEpC,QAAA,MAAM,cAAc,EAAE,OAAO,CAAC,kBAAkB,GAAG,iBAAiB,CAKnE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _projectExport = _interopRequireDefault(require("./project-export"));
|
|
9
|
+
|
|
10
|
+
var _schemaExport = _interopRequireDefault(require("./schema-export"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const commandHandler = async (command, params, flags) => {
|
|
15
|
+
if ('schema' in flags) {
|
|
16
|
+
return (0, _schemaExport.default)(command, params, flags);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return (0, _projectExport.default)(command, params, flags);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var _default = commandHandler;
|
|
23
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ProjectExportFlags {
|
|
2
|
+
project: true;
|
|
3
|
+
withoutData?: boolean;
|
|
4
|
+
to?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ProjectExport {
|
|
7
|
+
id: string;
|
|
8
|
+
status: string;
|
|
9
|
+
file: string;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import("../../types").Handler<ProjectExportFlags>;
|
|
12
|
+
export default _default;
|
|
13
|
+
//# sourceMappingURL=project-export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-export.d.ts","sourceRoot":"","sources":["../../../../src/commands/export/project-export.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;;AAoCD,wBA4BE"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _fsExtra = require("fs-extra");
|
|
9
|
+
|
|
10
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
11
|
+
|
|
12
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
13
|
+
|
|
14
|
+
var _streams = require("@takeshape/streams");
|
|
15
|
+
|
|
16
|
+
var _spin = _interopRequireDefault(require("../../util/spin"));
|
|
17
|
+
|
|
18
|
+
var _log = _interopRequireDefault(require("../../log"));
|
|
19
|
+
|
|
20
|
+
var _path = _interopRequireDefault(require("path"));
|
|
21
|
+
|
|
22
|
+
var _graphql = require("../../graphql");
|
|
23
|
+
|
|
24
|
+
var _linkedCommand = require("../../util/linked-command");
|
|
25
|
+
|
|
26
|
+
var _selectProject = require("../../util/select-project");
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
30
|
+
const startExport = (0, _graphql.graphQLQuery)(`
|
|
31
|
+
mutation ($empty: Boolean) {
|
|
32
|
+
result: tsExportProject(empty: $empty, origin: "@takeshape/cli")
|
|
33
|
+
}
|
|
34
|
+
`);
|
|
35
|
+
const getExport = (0, _graphql.graphQLQuery)(`
|
|
36
|
+
query ($id: String!) {
|
|
37
|
+
result: tsGetProjectExport(id: $id) {
|
|
38
|
+
id
|
|
39
|
+
status
|
|
40
|
+
file
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
`);
|
|
44
|
+
|
|
45
|
+
async function downloadExport(projectExport, basePath) {
|
|
46
|
+
// Download the file to the current directory
|
|
47
|
+
const fileName = `export-${projectExport.id}.zip`;
|
|
48
|
+
const res = await (0, _nodeFetch.default)(projectExport.file);
|
|
49
|
+
await (0, _streams.pump)(res.body, (0, _fsExtra.createWriteStream)(_path.default.join(basePath, fileName)));
|
|
50
|
+
return fileName;
|
|
51
|
+
}
|
|
52
|
+
/*
|
|
53
|
+
takeshape export --project
|
|
54
|
+
|
|
55
|
+
Create and download a project export
|
|
56
|
+
|
|
57
|
+
Options:
|
|
58
|
+
--without-data: download an empty project, defaults to false
|
|
59
|
+
--to: the path to save the download, defaults to current directory
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
var _default = (0, _linkedCommand.loggedInCommand)(async (_, params, flags) => {
|
|
64
|
+
var _flags$withoutData, _flags$to;
|
|
65
|
+
|
|
66
|
+
const authToken = params.authToken;
|
|
67
|
+
let projectId = params.projectId;
|
|
68
|
+
const withoutData = (_flags$withoutData = flags.withoutData) !== null && _flags$withoutData !== void 0 ? _flags$withoutData : false;
|
|
69
|
+
const basePath = (_flags$to = flags.to) !== null && _flags$to !== void 0 ? _flags$to : '.';
|
|
70
|
+
|
|
71
|
+
if (!projectId) {
|
|
72
|
+
const choice = await (0, _selectProject.selectProject)(params);
|
|
73
|
+
|
|
74
|
+
if (!choice) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
projectId = choice.value;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const client = (0, _graphql.createAdminConnector)(params, authToken, projectId);
|
|
82
|
+
|
|
83
|
+
try {
|
|
84
|
+
const exportId = await startExport(client, {
|
|
85
|
+
empty: withoutData
|
|
86
|
+
});
|
|
87
|
+
(0, _log.default)(`Exporting project…\n`);
|
|
88
|
+
const spinQuery = getExport.bind(getExport, client, {
|
|
89
|
+
id: exportId
|
|
90
|
+
});
|
|
91
|
+
await (0, _spin.default)(spinQuery);
|
|
92
|
+
const projectExport = await getExport(client, {
|
|
93
|
+
id: exportId
|
|
94
|
+
});
|
|
95
|
+
(0, _log.default)('Downloading the export…\n');
|
|
96
|
+
const fileName = await downloadExport(projectExport, basePath);
|
|
97
|
+
(0, _log.default)(`Success! Downloaded to ${_path.default.join(basePath, fileName)}\n`);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
(0, _log.default)(_chalk.default.red('Error: ', error.message));
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-export.d.ts","sourceRoot":"","sources":["../../../../src/commands/export/schema-export.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;;AAYD,wBAmCE"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _fatalError = require("../../util/fatal-error");
|
|
9
|
+
|
|
10
|
+
var _api = _interopRequireDefault(require("../../util/api"));
|
|
11
|
+
|
|
12
|
+
var _log = _interopRequireDefault(require("../../log"));
|
|
13
|
+
|
|
14
|
+
var _chalk = _interopRequireDefault(require("chalk"));
|
|
15
|
+
|
|
16
|
+
var _path = _interopRequireDefault(require("path"));
|
|
17
|
+
|
|
18
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
19
|
+
|
|
20
|
+
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
21
|
+
|
|
22
|
+
var _linkedCommand = require("../../util/linked-command");
|
|
23
|
+
|
|
24
|
+
var _selectProject = require("../../util/select-project");
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
28
|
+
const DEFAULT_SCHEMA_FILE_NAME = 'schema.json';
|
|
29
|
+
/*
|
|
30
|
+
takeshape export --schema --to ./path/to
|
|
31
|
+
|
|
32
|
+
Download your project's schema.
|
|
33
|
+
|
|
34
|
+
Options:
|
|
35
|
+
--to: the path to save the download or the full file path, defaults to current directory
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
var _default = (0, _linkedCommand.loggedInCommand)(async (_, params, flags) => {
|
|
39
|
+
let projectId = params.projectId;
|
|
40
|
+
let projectName = params.projectName;
|
|
41
|
+
let outputPath;
|
|
42
|
+
|
|
43
|
+
if (flags.to) {
|
|
44
|
+
if (flags.to.endsWith('.json')) {
|
|
45
|
+
outputPath = flags.to;
|
|
46
|
+
} else {
|
|
47
|
+
await _fsExtra.default.ensureDir(flags.to);
|
|
48
|
+
outputPath = _path.default.join(flags.to, DEFAULT_SCHEMA_FILE_NAME);
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
outputPath = _path.default.join('.', DEFAULT_SCHEMA_FILE_NAME);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (!projectId) {
|
|
55
|
+
const choice = await (0, _selectProject.selectProject)(params);
|
|
56
|
+
|
|
57
|
+
if (!choice) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
projectId = choice.value;
|
|
62
|
+
projectName = choice.name;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
(0, _log.default)(`Downloading schema for project ${projectName}…\n`);
|
|
67
|
+
const schema = await (0, _api.default)(params, 'GET', `/project/${projectId}/schema`);
|
|
68
|
+
|
|
69
|
+
_fs.default.writeFileSync(outputPath, JSON.stringify(schema, null, 2), {
|
|
70
|
+
encoding: 'utf8'
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
(0, _log.default)(_chalk.default.green(`Success!`), `Schema version ${schema.version} written to ${outputPath}.`);
|
|
74
|
+
process.exit(0);
|
|
75
|
+
} catch (e) {
|
|
76
|
+
return (0, _fatalError.fatalError)(e.message);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
exports.default = _default;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ProjectImportFlags } from './project-import';
|
|
2
|
+
import { SchemaImportFlags } from './schema-import';
|
|
3
|
+
import { Handler } from '../../types';
|
|
4
|
+
declare const commandHandler: Handler<ProjectImportFlags | SchemaImportFlags>;
|
|
5
|
+
export default commandHandler;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/import/index.ts"],"names":[],"mappings":"AAAA,OAAsB,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAqB,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAEpC,QAAA,MAAM,cAAc,EAAE,OAAO,CAAC,kBAAkB,GAAG,iBAAiB,CAKnE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _projectImport = _interopRequireDefault(require("./project-import"));
|
|
9
|
+
|
|
10
|
+
var _schemaImport = _interopRequireDefault(require("./schema-import"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const commandHandler = async (command, params, flags) => {
|
|
15
|
+
if ('schema' in flags) {
|
|
16
|
+
return (0, _schemaImport.default)(command, params, flags);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return (0, _projectImport.default)(command, params, flags);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var _default = commandHandler;
|
|
23
|
+
exports.default = _default;
|