postmark-cli-cz 1.0.1 → 1.0.3

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 (34) hide show
  1. package/dist/commands/templates/helpers.d.ts +18 -0
  2. package/dist/commands/templates/helpers.js +101 -0
  3. package/dist/commands/templates/helpers.js.map +1 -0
  4. package/dist/commands/templates/preview/assets/images/check.svg +1 -0
  5. package/dist/commands/templates/preview/assets/images/favicon.ico +0 -0
  6. package/dist/commands/templates/preview/assets/images/folder.svg +1 -0
  7. package/dist/commands/templates/preview/assets/images/icon.png +0 -0
  8. package/dist/commands/templates/preview/assets/images/responsive.svg +1 -0
  9. package/dist/commands/templates/preview/assets/images/templates.svg +1 -0
  10. package/dist/commands/templates/preview/assets/js/events.js +50 -0
  11. package/dist/commands/templates/preview/assets/js/popper.2.5.4.min.js +5 -0
  12. package/dist/commands/templates/preview/assets/js/preview.js +118 -0
  13. package/dist/commands/templates/preview/assets/styles/reset.css +351 -0
  14. package/dist/commands/templates/preview/assets/styles/styles.css +675 -0
  15. package/dist/commands/templates/preview/index.ejs +81 -0
  16. package/dist/commands/templates/preview/partials/head.ejs +8 -0
  17. package/dist/commands/templates/preview/partials/previewScripts.ejs +5 -0
  18. package/dist/commands/templates/preview/template.ejs +60 -0
  19. package/dist/commands/templates/preview/template404.ejs +11 -0
  20. package/dist/commands/templates/preview/templateInvalid.ejs +16 -0
  21. package/dist/commands/templates/preview/templateText.ejs +9 -0
  22. package/dist/commands/templates/preview.d.ts +21 -0
  23. package/dist/commands/templates/preview.js +263 -0
  24. package/dist/commands/templates/preview.js.map +1 -0
  25. package/dist/commands/templates/pull.d.ts +26 -0
  26. package/dist/commands/templates/pull.js +279 -0
  27. package/dist/commands/templates/pull.js.map +1 -0
  28. package/dist/commands/templates/push.d.ts +44 -0
  29. package/dist/commands/templates/push.js +451 -0
  30. package/dist/commands/templates/push.js.map +1 -0
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/package.json +1 -1
@@ -0,0 +1,81 @@
1
+ <!doctype html>
2
+ <html>
3
+ <%- include("partials/head.ejs") %>
4
+ <body>
5
+ <div class="toolbar">
6
+ <h1 class="toolbar_title toolbar_title--index"><span class="icon toolbar_icon"></span> Postmark Templates</h1>
7
+ <span class="toolbar_path f-code"><%- path %></span>
8
+ </div>
9
+
10
+ <section class="container">
11
+ <% if (layouts.length > 0) { %>
12
+ <h2 class="section-title"><span class="count"><%- layouts.length %></span> <%- layouts.length > 1 ? 'Layouts' : 'Layout' %></h2>
13
+ <ul class="template-list">
14
+ <% layouts.forEach(function(layout) { %>
15
+ <li>
16
+ <a href="/<%- layout.Alias %>" class="template-link">
17
+ <h4 class="template-title"><%- layout.Name %></h4>
18
+ <span class="u-alias f-code"><%- layout.Alias %></span>
19
+ </a>
20
+ </li>
21
+ <% }); %>
22
+ </ul>
23
+ <% } %>
24
+
25
+
26
+ <% if (templates.length > 0) { %>
27
+ <h2 class="section-title"><span class="count"><%- templates.length %></span> <%- templates.length > 1 ? 'Templates' : 'Template' %></h2>
28
+
29
+ <ul class="template-list">
30
+ <% templates.forEach(function(template){ %>
31
+ <li>
32
+ <a href="/<%- template.Alias %>" class="template-link">
33
+ <div>
34
+ <h4 class="template-title"><%- template.Name %></h4>
35
+ <span class="u-alias f-code"><%- template.Alias %></span>
36
+ </div>
37
+
38
+ <span class="template-layout f-code">Layout: <%- template.LayoutTemplate ? template.LayoutTemplate : 'None' %></span>
39
+ </a>
40
+ </li>
41
+ <% }); %>
42
+ </ul>
43
+ <% } else { %>
44
+ <div class="blank">
45
+ <div class="center">
46
+ <img src="images/templates.svg" class="blank_icon" />
47
+ <h2>No templates were found</h2>
48
+ <p>Pull your templates from Postmark:</p>
49
+ <div class="snippet snippet--fit"><pre>postmark templates pull <%- path %></pre></div>
50
+ </div>
51
+
52
+ <h4 class="center">Or build your templates locally</h4>
53
+ <ol>
54
+ <li>Create a new folder for your template:</code>
55
+ <div class="snippet"><pre>
56
+ cd <%- path %>
57
+ mkdir password-reset</pre></div>
58
+ </li>
59
+ <li>Your template folder should contain the following files:
60
+ <ul>
61
+ <li><strong>content.html</strong> - HTML version</li>
62
+ <li><strong>content.txt</strong> - Text version</li>
63
+ <li><strong>meta.json</strong> - JSON containing the name, alias, subject, and type of template(<code>Standard</code> or <code>Layout</code>).
64
+ <div class="snippet"><pre>{
65
+ "Name": "Password Reset",
66
+ "Alias": "password-reset",
67
+ "Subject": "Reset your password",
68
+ "TemplateType": "Standard",
69
+ "LayoutTemplate": "layout-alias"
70
+ }</pre></div>
71
+ </li>
72
+ </ul>
73
+ </li>
74
+ <li><a href="#" onClick="location.reload();">Refresh</a> the page</li>
75
+ </ol>
76
+ </div>
77
+
78
+ <% } %>
79
+ </section>
80
+ </body>
81
+ </html>
@@ -0,0 +1,8 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <title>Postmark template preview</title>
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <link rel="shortcut icon" href="/images/favicon.ico">
7
+ <link href="/styles/styles.css" rel="stylesheet" type="text/css" media="all">
8
+ </head>
@@ -0,0 +1,5 @@
1
+ <script src="/js/preview.js" type="text/javascript"></script>
2
+ <script src="/js/popper.2.5.4.min.js" type="text/javascript"></script>
3
+
4
+ <script src="/socket.io/socket.io.js" type="text/javascript"></script>
5
+ <script src="/js/events.js" type="text/javascript"></script>
@@ -0,0 +1,60 @@
1
+ <!doctype html>
2
+ <html>
3
+ <%- include("partials/head.ejs") %>
4
+ <body>
5
+ <div class="toolbar">
6
+ <div class="toolbar_meta">
7
+ <a href="/" class="toolbar_back">←</a>
8
+ <div class="toolbar_text">
9
+ <h1 class="toolbar_title"><%- template.Name %></h1>
10
+ <span class="toolbar_alias u-alias f-code"><%- template.Alias %></span>
11
+ </div>
12
+ </div>
13
+ <div class="toolbar_meta">
14
+ <% if (template.TemplateType === 'Standard') { %>
15
+ <span class="template-layout toolbar_layout f-code">Layout:
16
+ <% if (template.LayoutTemplate) { %>
17
+ <a href="/<%- template.LayoutTemplate %>"><%- template.LayoutTemplate %></a>
18
+ <% } else { %>
19
+ None
20
+ <% } %>
21
+ </span>
22
+ <% } %>
23
+
24
+ <div class="toggle">
25
+ <button class="js-toggle js-view toggle_item icon-view icon-view--desktop is-active" data-view="desktop"></button>
26
+ <button class="js-toggle js-view toggle_item icon-view icon-view--mobile" data-view="mobile"></button>
27
+ </div>
28
+
29
+ <div class="toggle">
30
+ <button class="js-toggle js-mode toggle_item is-active" data-mode="html">HTML</button>
31
+ <button class="js-toggle js-mode toggle_item" data-mode="text">Text</button>
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ <% if (template.TemplateType === 'Standard') {%>
37
+ <div class="sub-toolbar">
38
+ <div class="subject">
39
+ <span class="subject_label">Subject</span>
40
+ <span class="subject_line js-subject js-tooltip-trigger" data-tooltip="subject-error"><%- template.Subject || '<em>No subject</em>' %></span>
41
+ </div>
42
+ <div class="js-reloaded reloaded">Reloaded!</div>
43
+ </div>
44
+ <% } %>
45
+
46
+ <div class="js-loader loader">
47
+ <div class="loader_spinner">
48
+ <span></span>
49
+ </div>
50
+ <p class="loader_text">Fetching preview...</p>
51
+ </div>
52
+
53
+ <iframe class="js-html preview-iframe preview-iframe--<%- template.TemplateType.toLowerCase() %>" frameborder="0" src="/html/<%- template.Alias %>"></iframe>
54
+ <iframe class="js-text preview-iframe preview-iframe--text preview-iframe--<%- template.TemplateType.toLowerCase() %> is-hidden" frameborder="0" src="/text/<%- template.Alias %>"></iframe>
55
+
56
+ <div class="js-subject-error js-tooltip tooltip subject-error-tooltip" role="tooltip" data-tooltip="subject-error"></div>
57
+
58
+ <%- include("partials/previewScripts.ejs") %>
59
+ </body>
60
+ </html>
@@ -0,0 +1,11 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <link href="../styles/styles.css" rel="stylesheet" type="text/css" media="all">
5
+ </head>
6
+ <body class="template-error-body">
7
+ <div class="template-error">
8
+ <h2>No <%- version %> version</h2>
9
+ </div>
10
+ </body>
11
+ </html>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <link href="../styles/styles.css" rel="stylesheet" type="text/css" media="all">
5
+ </head>
6
+ <body class="template-error-body">
7
+ <div class="template-error">
8
+ <h1>There’s an issue with your template</h1>
9
+ <ul class="template-error_list">
10
+ <% errors.forEach(function(error) { %>
11
+ <li><%- error.Message %></li>
12
+ <% }) %>
13
+ </ul>
14
+ </div>
15
+ </body>
16
+ </html>
@@ -0,0 +1,9 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <link href="../styles/styles.css" rel="stylesheet" type="text/css" media="all">
5
+ </head>
6
+ <body class="preview-text">
7
+ <pre><%- body %></pre>
8
+ </body>
9
+ </html>
@@ -0,0 +1,21 @@
1
+ export declare const command = "preview <templates directory> [options]";
2
+ export declare const desc = "Preview your templates and layouts";
3
+ export declare const builder: {
4
+ 'server-token': {
5
+ type: string;
6
+ hidden: boolean;
7
+ };
8
+ port: {
9
+ type: string;
10
+ describe: string;
11
+ default: number;
12
+ alias: string;
13
+ };
14
+ };
15
+ interface TemplatePreviewArguments {
16
+ serverToken: string;
17
+ templatesdirectory: string;
18
+ port: number;
19
+ }
20
+ export declare function handler(args: TemplatePreviewArguments): Promise<void>;
21
+ export {};
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.handler = exports.builder = exports.desc = exports.command = void 0;
54
+ var chalk_1 = __importDefault(require("chalk"));
55
+ var path_1 = __importDefault(require("path"));
56
+ var untildify_1 = __importDefault(require("untildify"));
57
+ var express_1 = __importDefault(require("express"));
58
+ var consolidate_1 = __importDefault(require("consolidate"));
59
+ var lodash_1 = require("lodash");
60
+ var watch_1 = require("watch");
61
+ var postmark_1 = require("postmark");
62
+ var utils_1 = require("../../utils");
63
+ var push_1 = require("./push");
64
+ var helpers_1 = require("./helpers");
65
+ var previewPath = path_1.default.join(__dirname, 'preview');
66
+ var templateLinks = '<base target="_blank" />';
67
+ exports.command = 'preview <templates directory> [options]';
68
+ exports.desc = 'Preview your templates and layouts';
69
+ exports.builder = {
70
+ 'server-token': {
71
+ type: 'string',
72
+ hidden: true,
73
+ },
74
+ port: {
75
+ type: 'number',
76
+ describe: 'The port to open up the preview server on',
77
+ default: 3005,
78
+ alias: 'p',
79
+ },
80
+ };
81
+ function handler(args) {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ var serverToken;
84
+ return __generator(this, function (_a) {
85
+ switch (_a.label) {
86
+ case 0: return [4 /*yield*/, (0, utils_1.validateToken)(args.serverToken)];
87
+ case 1:
88
+ serverToken = _a.sent();
89
+ try {
90
+ (0, push_1.validatePushDirectory)(args.templatesdirectory);
91
+ }
92
+ catch (e) {
93
+ return [2 /*return*/, (0, utils_1.fatalError)(e)];
94
+ }
95
+ return [2 /*return*/, preview(serverToken, args)];
96
+ }
97
+ });
98
+ });
99
+ }
100
+ exports.handler = handler;
101
+ /**
102
+ * Preview
103
+ */
104
+ function preview(serverToken, args) {
105
+ return __awaiter(this, void 0, void 0, function () {
106
+ function updateEvent() {
107
+ // Generate new manifest
108
+ manifest = (0, helpers_1.createManifest)(templatesdirectory);
109
+ // Trigger reload on client
110
+ (0, utils_1.log)("".concat(title, " File changed. Reloading browser..."));
111
+ io.emit('change');
112
+ }
113
+ function validateTemplateRequest(version, payload, res) {
114
+ var versionKey = version === 'html' ? 'HtmlBody' : 'TextBody';
115
+ // Make request to Postmark
116
+ client
117
+ .validateTemplate(payload)
118
+ .then(function (result) {
119
+ if (result[versionKey].ContentIsValid) {
120
+ var renderedContent = result[versionKey].RenderedContent + templateLinks;
121
+ io.emit('subject', __assign(__assign({}, result.Subject), { rawSubject: payload.Subject }));
122
+ // Render raw source if HTML
123
+ if (version === 'html') {
124
+ return res.send(renderedContent);
125
+ }
126
+ else {
127
+ // Render specific EJS with text content
128
+ return renderTemplateText(res, renderedContent);
129
+ }
130
+ }
131
+ return renderTemplateInvalid(res, result[versionKey].ValidationErrors);
132
+ })
133
+ .catch(function (error) {
134
+ return res.status(500).send(error);
135
+ });
136
+ }
137
+ var port, templatesdirectory, app, server, io, client, manifest;
138
+ return __generator(this, function (_a) {
139
+ port = args.port, templatesdirectory = args.templatesdirectory;
140
+ (0, utils_1.log)("".concat(title, " Starting template preview server..."));
141
+ app = (0, express_1.default)();
142
+ server = require('http').createServer(app);
143
+ io = require('socket.io')(server);
144
+ client = new postmark_1.ServerClient(serverToken);
145
+ manifest = (0, helpers_1.createManifest)(templatesdirectory);
146
+ // Static assets
147
+ app.use(express_1.default.static("".concat(previewPath, "/assets")));
148
+ // Watch for file changes
149
+ (0, watch_1.createMonitor)((0, untildify_1.default)(templatesdirectory), { interval: 2 }, function (monitor) {
150
+ monitor.on('created', (0, lodash_1.debounce)(updateEvent, 1000));
151
+ monitor.on('changed', (0, lodash_1.debounce)(updateEvent, 1000));
152
+ monitor.on('removed', (0, lodash_1.debounce)(updateEvent, 1000));
153
+ });
154
+ // Template listing
155
+ app.get('/', function (req, res) {
156
+ manifest = (0, helpers_1.createManifest)(templatesdirectory);
157
+ var templates = (0, lodash_1.filter)(manifest, { TemplateType: 'Standard' });
158
+ var layouts = (0, lodash_1.filter)(manifest, { TemplateType: 'Layout' });
159
+ var path = (0, untildify_1.default)(templatesdirectory).replace(/\/$/, '');
160
+ consolidate_1.default.ejs("".concat(previewPath, "/index.ejs"), { templates: templates, layouts: layouts, path: path }, function (err, html) { return renderTemplateContents(res, err, html); });
161
+ });
162
+ /**
163
+ * Get template by alias
164
+ */
165
+ app.get('/:alias', function (req, res) {
166
+ var template = (0, lodash_1.find)(manifest, { Alias: req.params.alias });
167
+ if (template) {
168
+ consolidate_1.default.ejs("".concat(previewPath, "/template.ejs"), { template: template }, function (err, html) { return renderTemplateContents(res, err, html); });
169
+ }
170
+ else {
171
+ // Redirect to index
172
+ return res.redirect(301, '/');
173
+ }
174
+ });
175
+ /**
176
+ * Get template HTML version by alias
177
+ */
178
+ app.get('/html/:alias', function (req, res) {
179
+ var template = (0, lodash_1.find)(manifest, { Alias: req.params.alias });
180
+ if (template && template.HtmlBody) {
181
+ var layout = (0, lodash_1.find)(manifest, { Alias: template.LayoutTemplate });
182
+ // Render error if layout is specified, but HtmlBody is empty
183
+ if (layout && !layout.HtmlBody)
184
+ return renderTemplateInvalid(res, layoutError);
185
+ var TemplateType = template.TemplateType, TestRenderModel = template.TestRenderModel;
186
+ var payload = {
187
+ HtmlBody: getSource('html', template, layout),
188
+ TemplateType: TemplateType,
189
+ TestRenderModel: TestRenderModel,
190
+ Subject: template.Subject,
191
+ };
192
+ return validateTemplateRequest('html', payload, res);
193
+ }
194
+ else {
195
+ return renderTemplate404(res, 'HTML');
196
+ }
197
+ });
198
+ /**
199
+ * Get template text version by alias
200
+ */
201
+ app.get('/text/:alias', function (req, res) {
202
+ var template = (0, lodash_1.find)(manifest, { Alias: req.params.alias });
203
+ if (template && template.TextBody) {
204
+ var layout = (0, lodash_1.find)(manifest, { Alias: template.LayoutTemplate });
205
+ // Render error if layout is specified, but HtmlBody is empty
206
+ if (layout && !layout.TextBody)
207
+ return renderTemplateInvalid(res, layoutError);
208
+ var TemplateType = template.TemplateType, TestRenderModel = template.TestRenderModel;
209
+ var payload = {
210
+ TextBody: getSource('text', template, layout),
211
+ TemplateType: TemplateType,
212
+ TestRenderModel: TestRenderModel,
213
+ };
214
+ return validateTemplateRequest('text', payload, res);
215
+ }
216
+ else {
217
+ return renderTemplate404(res, 'Text');
218
+ }
219
+ });
220
+ server.listen(port, function () {
221
+ var url = "http://localhost:".concat(port);
222
+ (0, utils_1.log)("".concat(title, " Template preview server ready. Happy coding!"));
223
+ (0, utils_1.log)(divider);
224
+ (0, utils_1.log)("URL: ".concat(chalk_1.default.green(url)));
225
+ (0, utils_1.log)(divider);
226
+ });
227
+ return [2 /*return*/];
228
+ });
229
+ });
230
+ }
231
+ function combineTemplate(layout, template) {
232
+ return (0, lodash_1.replace)(layout, /({{{)(.?@content.?)(}}})/g, template);
233
+ }
234
+ /* Console helpers */
235
+ var title = "".concat(chalk_1.default.yellow('ミ▢ Postmark')).concat(chalk_1.default.gray(':'));
236
+ var divider = chalk_1.default.gray('-'.repeat(34));
237
+ /* Render Templates */
238
+ function getSource(version, template, layout) {
239
+ var versionKey = version === 'html' ? 'HtmlBody' : 'TextBody';
240
+ if (layout)
241
+ return combineTemplate(layout[versionKey], template[versionKey]);
242
+ return template[versionKey];
243
+ }
244
+ function renderTemplateText(res, body) {
245
+ return consolidate_1.default.ejs("".concat(previewPath, "/templateText.ejs"), { body: body }, function (err, html) { return renderTemplateContents(res, err, html); });
246
+ }
247
+ function renderTemplateInvalid(res, errors) {
248
+ return consolidate_1.default.ejs("".concat(previewPath, "/templateInvalid.ejs"), { errors: errors }, function (err, html) { return renderTemplateContents(res, err, html); });
249
+ }
250
+ function renderTemplate404(res, version) {
251
+ return consolidate_1.default.ejs("".concat(previewPath, "/template404.ejs"), { version: version }, function (err, html) { return renderTemplateContents(res, err, html); });
252
+ }
253
+ function renderTemplateContents(res, err, html) {
254
+ if (err)
255
+ return res.send(err);
256
+ return res.send(html);
257
+ }
258
+ var layoutError = [
259
+ {
260
+ Message: 'A TemplateLayout is specified, but it is either empty or missing.',
261
+ },
262
+ ];
263
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/commands/templates/preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export declare const command = "pull <output directory> [options]";
2
+ export declare const desc = "Pull templates from a server to <output directory>";
3
+ export declare const builder: {
4
+ 'server-token': {
5
+ type: string;
6
+ hidden: boolean;
7
+ };
8
+ 'request-host': {
9
+ type: string;
10
+ hidden: boolean;
11
+ };
12
+ overwrite: {
13
+ type: string;
14
+ alias: string;
15
+ default: boolean;
16
+ describe: string;
17
+ };
18
+ };
19
+ interface TemplatePullArguments {
20
+ serverToken: string;
21
+ requestHost: string;
22
+ outputdirectory: string;
23
+ overwrite: boolean;
24
+ }
25
+ export declare function handler(args: TemplatePullArguments): Promise<void>;
26
+ export {};