@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.
Files changed (137) hide show
  1. package/README.md +9 -0
  2. package/lib/auth.d.ts +5 -0
  3. package/lib/auth.d.ts.map +1 -0
  4. package/lib/auth.js +76 -0
  5. package/lib/check-version.d.ts +2 -0
  6. package/lib/check-version.d.ts.map +1 -0
  7. package/lib/check-version.js +22 -0
  8. package/lib/commands/build-or-watch.d.ts +4 -0
  9. package/lib/commands/build-or-watch.d.ts.map +1 -0
  10. package/lib/commands/build-or-watch.js +69 -0
  11. package/lib/commands/deploy/index.d.ts +9 -0
  12. package/lib/commands/deploy/index.d.ts.map +1 -0
  13. package/lib/commands/deploy/index.js +74 -0
  14. package/lib/commands/deploy/zip.d.ts +18 -0
  15. package/lib/commands/deploy/zip.d.ts.map +1 -0
  16. package/lib/commands/deploy/zip.js +57 -0
  17. package/lib/commands/export/index.d.ts +6 -0
  18. package/lib/commands/export/index.d.ts.map +1 -0
  19. package/lib/commands/export/index.js +23 -0
  20. package/lib/commands/export/project-export.d.ts +13 -0
  21. package/lib/commands/export/project-export.d.ts.map +1 -0
  22. package/lib/commands/export/project-export.js +104 -0
  23. package/lib/commands/export/schema-export.d.ts +7 -0
  24. package/lib/commands/export/schema-export.d.ts.map +1 -0
  25. package/lib/commands/export/schema-export.js +80 -0
  26. package/lib/commands/import/index.d.ts +6 -0
  27. package/lib/commands/import/index.d.ts.map +1 -0
  28. package/lib/commands/import/index.js +23 -0
  29. package/lib/commands/import/project-import.d.ts +16 -0
  30. package/lib/commands/import/project-import.d.ts.map +1 -0
  31. package/lib/commands/import/project-import.js +167 -0
  32. package/lib/commands/import/schema-import.d.ts +7 -0
  33. package/lib/commands/import/schema-import.d.ts.map +1 -0
  34. package/lib/commands/import/schema-import.js +75 -0
  35. package/lib/commands/link.d.ts +3 -0
  36. package/lib/commands/link.d.ts.map +1 -0
  37. package/lib/commands/link.js +61 -0
  38. package/lib/commands/login.d.ts +4 -0
  39. package/lib/commands/login.d.ts.map +1 -0
  40. package/lib/commands/login.js +31 -0
  41. package/lib/commands/logout.d.ts +4 -0
  42. package/lib/commands/logout.d.ts.map +1 -0
  43. package/lib/commands/logout.js +29 -0
  44. package/lib/commands/schema.d.ts +3 -0
  45. package/lib/commands/schema.d.ts.map +1 -0
  46. package/lib/commands/schema.js +23 -0
  47. package/lib/commands/status.d.ts +3 -0
  48. package/lib/commands/status.d.ts.map +1 -0
  49. package/lib/commands/status.js +20 -0
  50. package/lib/commands/unlink.d.ts +4 -0
  51. package/lib/commands/unlink.d.ts.map +1 -0
  52. package/lib/commands/unlink.js +29 -0
  53. package/lib/config.d.ts +14 -0
  54. package/lib/config.d.ts.map +1 -0
  55. package/lib/config.js +161 -0
  56. package/lib/deprecated.d.ts +2 -0
  57. package/lib/deprecated.d.ts.map +1 -0
  58. package/lib/deprecated.js +9 -0
  59. package/lib/errors.d.ts +7 -0
  60. package/lib/errors.d.ts.map +1 -0
  61. package/lib/errors.js +36 -0
  62. package/lib/files.d.ts +5 -0
  63. package/lib/files.d.ts.map +1 -0
  64. package/lib/files.js +53 -0
  65. package/lib/graphql.d.ts +14 -0
  66. package/lib/graphql.d.ts.map +1 -0
  67. package/lib/graphql.js +94 -0
  68. package/lib/index.d.ts +3 -0
  69. package/lib/index.d.ts.map +1 -0
  70. package/lib/index.js +78 -0
  71. package/lib/log.d.ts +4 -0
  72. package/lib/log.d.ts.map +1 -0
  73. package/lib/log.js +21 -0
  74. package/lib/main.d.ts +2 -0
  75. package/lib/main.d.ts.map +1 -0
  76. package/lib/main.js +36 -0
  77. package/lib/prompt.d.ts +11 -0
  78. package/lib/prompt.d.ts.map +1 -0
  79. package/lib/prompt.js +39 -0
  80. package/lib/types.d.ts +45 -0
  81. package/lib/types.d.ts.map +1 -0
  82. package/lib/types.js +20 -0
  83. package/lib/util/api.d.ts +5 -0
  84. package/lib/util/api.d.ts.map +1 -0
  85. package/lib/util/api.js +66 -0
  86. package/lib/util/cached-connector.d.ts +5 -0
  87. package/lib/util/cached-connector.d.ts.map +1 -0
  88. package/lib/util/cached-connector.js +34 -0
  89. package/lib/util/connector.d.ts +7 -0
  90. package/lib/util/connector.d.ts.map +1 -0
  91. package/lib/util/connector.js +19 -0
  92. package/lib/util/data.d.ts +38 -0
  93. package/lib/util/data.d.ts.map +1 -0
  94. package/lib/util/data.js +156 -0
  95. package/lib/util/fatal-error.d.ts +2 -0
  96. package/lib/util/fatal-error.d.ts.map +1 -0
  97. package/lib/util/fatal-error.js +17 -0
  98. package/lib/util/format-error.d.ts +2 -0
  99. package/lib/util/format-error.d.ts.map +1 -0
  100. package/lib/util/format-error.js +10 -0
  101. package/lib/util/get-client-schema.d.ts +4 -0
  102. package/lib/util/get-client-schema.d.ts.map +1 -0
  103. package/lib/util/get-client-schema.js +28 -0
  104. package/lib/util/glitch.d.ts +5 -0
  105. package/lib/util/glitch.d.ts.map +1 -0
  106. package/lib/util/glitch.js +51 -0
  107. package/lib/util/linked-command.d.ts +4 -0
  108. package/lib/util/linked-command.d.ts.map +1 -0
  109. package/lib/util/linked-command.js +33 -0
  110. package/lib/util/login.d.ts +16 -0
  111. package/lib/util/login.d.ts.map +1 -0
  112. package/lib/util/login.js +123 -0
  113. package/lib/util/messages.d.ts +13 -0
  114. package/lib/util/messages.d.ts.map +1 -0
  115. package/lib/util/messages.js +57 -0
  116. package/lib/util/ora-wrapper.d.ts +2 -0
  117. package/lib/util/ora-wrapper.d.ts.map +1 -0
  118. package/lib/util/ora-wrapper.js +28 -0
  119. package/lib/util/pusher.d.ts +4 -0
  120. package/lib/util/pusher.d.ts.map +1 -0
  121. package/lib/util/pusher.js +45 -0
  122. package/lib/util/runner.d.ts +2 -0
  123. package/lib/util/runner.d.ts.map +1 -0
  124. package/lib/util/runner.js +44 -0
  125. package/lib/util/select-project.d.ts +4 -0
  126. package/lib/util/select-project.d.ts.map +1 -0
  127. package/lib/util/select-project.js +23 -0
  128. package/lib/util/spin.d.ts +7 -0
  129. package/lib/util/spin.d.ts.map +1 -0
  130. package/lib/util/spin.js +41 -0
  131. package/lib/util/upload.d.ts +5 -0
  132. package/lib/util/upload.d.ts.map +1 -0
  133. package/lib/util/upload.js +55 -0
  134. package/lib/util/watcher.d.ts +2 -0
  135. package/lib/util/watcher.d.ts.map +1 -0
  136. package/lib/util/watcher.js +30 -0
  137. package/package.json +90 -0
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # TakeShape CLI
2
+
3
+ ## Summary
4
+
5
+ This is the command-line interface for [TakeShape](https://takeshape.io).
6
+
7
+ ## Documentation
8
+
9
+ https://app.takeshape.io/docs/
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,2 @@
1
+ export declare function checkVersion(currentVersion: string): void;
2
+ //# sourceMappingURL=check-version.d.ts.map
@@ -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,4 @@
1
+ export function buildHandler(config: any, params: any): (clearCache: any) => Promise<any>;
2
+ declare var _default: import("../types").Handler<any>;
3
+ export default _default;
4
+ //# sourceMappingURL=build-or-watch.d.ts.map
@@ -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,7 @@
1
+ export interface SchemaExportFlags {
2
+ schema: true;
3
+ to?: string;
4
+ }
5
+ declare const _default: import("../../types").Handler<SchemaExportFlags>;
6
+ export default _default;
7
+ //# sourceMappingURL=schema-export.d.ts.map
@@ -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;