@progress/kendo-common-tasks 8.0.7-dev.1 → 8.0.7-dev.22
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 +2 -3
- package/bin/publish-develop-to-master +19 -0
- package/index.js +5 -50
- package/package.json +15 -54
- package/bin/ci-semantic-release +0 -44
- package/docs-layout.hbs +0 -51
- package/docs-public/bootstrap.css +0 -6759
- package/docs-public/bootstrap.min.js +0 -7
- package/docs-public/codemirror/clike.min.js +0 -1
- package/docs-public/codemirror/codemirror.min.js +0 -5
- package/docs-public/codemirror/css.min.js +0 -1
- package/docs-public/codemirror/htmlmixed.min.js +0 -1
- package/docs-public/codemirror/javascript.min.js +0 -1
- package/docs-public/codemirror/jsx.min.js +0 -1
- package/docs-public/codemirror/php.min.js +0 -1
- package/docs-public/codemirror/runmode.min.js +0 -1
- package/docs-public/codemirror/xml.min.js +0 -1
- package/docs-public/docs.css +0 -208
- package/docs-public/docs.scss +0 -253
- package/docs-public/editor/angular/app/app.component.ts +0 -3
- package/docs-public/editor/angular/app/app.module.ts +0 -14
- package/docs-public/editor/angular/index.html +0 -32
- package/docs-public/editor/angular/main.ts +0 -15
- package/docs-public/editor/angular/polyfills.ts +0 -73
- package/docs-public/editor/angular/styles.css +0 -13
- package/docs-public/editor/builder/app/app.component.html +0 -1
- package/docs-public/editor/builder/app/app.component.ts +0 -17
- package/docs-public/editor/builder/app/app.css +0 -449
- package/docs-public/editor/builder/app/app.module.ts +0 -53
- package/docs-public/editor/builder/app/core/core.module.ts +0 -19
- package/docs-public/editor/builder/app/core/data/data-services.exports.ts +0 -71
- package/docs-public/editor/builder/app/core/data/data.service.ts +0 -183
- package/docs-public/editor/builder/app/core/data/odata-service-factory.ts +0 -23
- package/docs-public/editor/builder/app/core/data/odata.service.ts +0 -88
- package/docs-public/editor/builder/app/core/module.config.ts +0 -19
- package/docs-public/editor/builder/app/data/odata-provider/customer.config.ts +0 -17
- package/docs-public/editor/builder/app/data/odata-provider/customer.model.ts +0 -17
- package/docs-public/editor/builder/app/grid-demo.base.component.ts +0 -107
- package/docs-public/editor/builder/app/grid-demo.component.html +0 -37
- package/docs-public/editor/builder/app/grid-demo.component.ts +0 -1
- package/docs-public/editor/builder/app/shared/components/grid/grid.component.html +0 -5
- package/docs-public/editor/builder/app/shared/components/grid/grid.component.ts +0 -243
- package/docs-public/editor/builder/app/shared/services/grid-incell-editing.service.ts +0 -120
- package/docs-public/editor/builder/app/topSection.html +0 -12
- package/docs-public/editor/builder/app/topSection.ts +0 -25
- package/docs-public/editor/builder/assets/themes/metro.css +0 -18877
- package/docs-public/editor/builder/index.html +0 -14
- package/docs-public/editor/builder/main.ts +0 -14
- package/docs-public/editor/builder/polyfills.ts +0 -67
- package/docs-public/editor/builder/styles.css +0 -1
- package/docs-public/editor/builder/tsconfig.app.json +0 -13
- package/docs-public/editor/builder/typings.d.ts +0 -5
- package/docs-public/editor/react/app/main.jsx +0 -6
- package/docs-public/editor/react/index.html +0 -32
- package/docs-public/editor/vue/app/main.js +0 -5
- package/docs-public/editor/vue/index.html +0 -29
- package/docs-public/example-runner.js +0 -802
- package/docs-public/github.css +0 -99
- package/docs-public/snippets.js +0 -1722
- package/docs-public/tomorrow-night.css +0 -75
- package/docs-server.js +0 -152
- package/lint-slugs.js +0 -25
- package/markdown-serve/index.js +0 -10
- package/markdown-serve/parser.js +0 -234
- package/markdown-serve/resolver.js +0 -86
- package/markdown-serve/server.js +0 -370
- package/test/jest-setup.js +0 -2
- package/test/snippets.test.js +0 -373
package/markdown-serve/server.js
DELETED
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Nguyen Ly <lyphtec@gmail.com>
|
|
3
|
-
* @copyright Nguyen Ly 2014
|
|
4
|
-
* @license MIT License
|
|
5
|
-
*
|
|
6
|
-
* @fileOverview Main object exported by module. Can be used to instantiate a new {@link MarkdownServer} instance or invoked as a [middleware]{@link module:markdown-serve.middleware} function in Express.
|
|
7
|
-
* @module markdown-serve
|
|
8
|
-
* @requires path
|
|
9
|
-
* @requires lodash
|
|
10
|
-
* @requires mkdirp
|
|
11
|
-
* @requires fs
|
|
12
|
-
* @requires markdown-serve/parser
|
|
13
|
-
* @requires markdown-serve/resolver
|
|
14
|
-
* @exports markdown-serve
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
var path = require('path'),
|
|
18
|
-
resolver = require('./resolver'),
|
|
19
|
-
parser = require('./parser'),
|
|
20
|
-
_ = require('lodash'),
|
|
21
|
-
mkdirp = require('mkdirp'),
|
|
22
|
-
fs = require('fs');
|
|
23
|
-
|
|
24
|
-
exports = module.exports = {
|
|
25
|
-
/**
|
|
26
|
-
* {@link MarkdownServer}
|
|
27
|
-
* @this {MarkdownServer}
|
|
28
|
-
* */
|
|
29
|
-
MarkdownServer: MarkdownServer,
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* preParse function option used for customizing the view model object that is passed to the view
|
|
33
|
-
* @typedef {function(MarkdownFile):Object} module:markdown-serve~preParseFn
|
|
34
|
-
* @alias preParseFn
|
|
35
|
-
* @param {MarkdownFile} markdownFile Resolved {@link MarkdownFile} instance from `req.path` passed to middleware
|
|
36
|
-
* @returns {Object} Object literal to pass as view model to view
|
|
37
|
-
* @example
|
|
38
|
-
* // preParse is specified as a function
|
|
39
|
-
* app.use(mds.middleware({
|
|
40
|
-
* rootDirectory: path.resolve(__dirname, 'content'),
|
|
41
|
-
* view: 'markdown',
|
|
42
|
-
* preParse: function(markdownFile) {
|
|
43
|
-
* return { title: markdownFile.meta.title, content: markdownFile.parseContent(), created: moment(markdownFile.created).format('L') };
|
|
44
|
-
* }
|
|
45
|
-
* }));
|
|
46
|
-
*
|
|
47
|
-
* // views/markdown.hbs
|
|
48
|
-
* <div class="container">
|
|
49
|
-
* <h1>{{title}}</h1>
|
|
50
|
-
*
|
|
51
|
-
* {{{content}}}
|
|
52
|
-
*
|
|
53
|
-
* <footer>
|
|
54
|
-
* <hr />
|
|
55
|
-
* <strong>Created:</strong> {{created}}
|
|
56
|
-
* </footer>
|
|
57
|
-
* </div>
|
|
58
|
-
*/
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Customized middleware handler function option. Do not specify `options.view` if using this feature.
|
|
62
|
-
* @typedef {function(MarkdownFile, req, res, next)} module:markdown-serve~handlerFn
|
|
63
|
-
* @alias handlerFn
|
|
64
|
-
* @param {MarkdownFile} markdownFile Resolved {@link MarkdownFile} instance from `req.path` passed to middleware
|
|
65
|
-
* @param {Object} req Express Request object
|
|
66
|
-
* @param {Object} res Express Response object
|
|
67
|
-
* @param {function} next Express next() function
|
|
68
|
-
* @example
|
|
69
|
-
* // custom handler
|
|
70
|
-
* app.use(mds.middleware({
|
|
71
|
-
* rootDirectory: path.resolve(__dirname, 'content'),
|
|
72
|
-
* handler: function(markdownFile, req, res, next) {
|
|
73
|
-
* if (req.method !== 'GET') next();
|
|
74
|
-
*
|
|
75
|
-
* // limit access based on draft variable in front-matter
|
|
76
|
-
* if (markdownFile.meta.draft && !req.isAuthenticated && !req.user.isAdmin) {
|
|
77
|
-
* next();
|
|
78
|
-
* return; // need return here
|
|
79
|
-
* }
|
|
80
|
-
*
|
|
81
|
-
* res.render('markdown', { title: markdownFile.meta.title, content: markdownFile.parseContent() });
|
|
82
|
-
* }
|
|
83
|
-
* }));
|
|
84
|
-
*/
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Simple Express middleware that hosts a {@link MarkdownServer}
|
|
88
|
-
* @function
|
|
89
|
-
* @param {Object} options Middleware options
|
|
90
|
-
* @param {string} options.rootDirectory Full path to root physical directory containing Markdown files to serve
|
|
91
|
-
* @param {Object=} options.markedOptions Global marked module options for Markdown processing
|
|
92
|
-
* @param {resolverOptions=} options.resolverOptions [Options]{@link MarkdownServer~resolverOptions} to override default document name and Markdown file extension.
|
|
93
|
-
* If not specified, will default to `index` and `md` resppectively.
|
|
94
|
-
* @param {string=} options.view Name of view to use for rendering content. If this property & `handler` are not specified, a JSON respresentation of
|
|
95
|
-
* {@link MarkdownFile} will be returned by the middleware.
|
|
96
|
-
* @param {(boolean|preParseFn)=} options.preParse Only applies when `view` is specified. If set to true (not truthy), will
|
|
97
|
-
* make the parsed HTML content available as `markdownFile.parsedContent` on the view model object passed to the view. This is to
|
|
98
|
-
* support some view engines like `hbs` that do not support calling methods directly on the view model.
|
|
99
|
-
*
|
|
100
|
-
* If specified as a [preParseFn]{@link module:markdown-serve~preParseFn} function, will return the function result as the view model object to the view.
|
|
101
|
-
* @param {handlerFn=} options.handler [handlerFn]{@link module:markdown-serve~handlerFn}. Provides full customization of middleware response. Make sure `view` is not
|
|
102
|
-
* set when using this feature as that takes precedence.
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* // basic usage
|
|
106
|
-
* // app.js
|
|
107
|
-
* var express = require('express'),
|
|
108
|
-
* path = require('path'),
|
|
109
|
-
* mds = require('markdown-serve');
|
|
110
|
-
*
|
|
111
|
-
* var app = express();
|
|
112
|
-
*
|
|
113
|
-
* app.set('view', path.join(__dirname, 'views'));
|
|
114
|
-
* app.set('view engine', 'jade');
|
|
115
|
-
*
|
|
116
|
-
* app.use(mds.middleware({
|
|
117
|
-
* rootDirectory: path.resolve(__dirname, 'content'),
|
|
118
|
-
* view: 'markdown' // will use views/markdown.jade file for rendering out HTML content
|
|
119
|
-
* }));
|
|
120
|
-
*
|
|
121
|
-
* // views/markdown.jade
|
|
122
|
-
* extend layout
|
|
123
|
-
*
|
|
124
|
-
* block content
|
|
125
|
-
* header
|
|
126
|
-
* h1= markdownFile.meta.title
|
|
127
|
-
*
|
|
128
|
-
* .content
|
|
129
|
-
* != markdownFile.parseContent()
|
|
130
|
-
*
|
|
131
|
-
* footer
|
|
132
|
-
* hr
|
|
133
|
-
* | <strong>Created:</strong> #{markdownFile.created} <br/>
|
|
134
|
-
*
|
|
135
|
-
* @example
|
|
136
|
-
* // preParse set to true when using hbs view engine
|
|
137
|
-
* // as calling markdownFile.parseContent() is not supported, the HTML content is pre-parsed and available as markdownFile.parsedContent
|
|
138
|
-
* app.set('view engine', 'hbs');
|
|
139
|
-
*
|
|
140
|
-
* app.use(mds.middleware({
|
|
141
|
-
* rootDirectory: path.resolve(__dirname, 'content'),
|
|
142
|
-
* view: 'markdown',
|
|
143
|
-
* preParse: true
|
|
144
|
-
* }));
|
|
145
|
-
*
|
|
146
|
-
* // views/markdown.hbs
|
|
147
|
-
* <div class="container">
|
|
148
|
-
* <h1>{{markdownFile.meta.title}}</h1>
|
|
149
|
-
*
|
|
150
|
-
* {{{markdownFile.parsedContent}}}
|
|
151
|
-
*
|
|
152
|
-
* <footer>
|
|
153
|
-
* <hr />
|
|
154
|
-
* <strong>Created:</strong> {{markdownFile.created}}
|
|
155
|
-
* </footer>
|
|
156
|
-
* </div>
|
|
157
|
-
*/
|
|
158
|
-
middleware: function(options) {
|
|
159
|
-
if (!options)
|
|
160
|
-
throw new Error('"options" argument is required');
|
|
161
|
-
|
|
162
|
-
if (!options.rootDirectory)
|
|
163
|
-
throw new Error('"rootDirectory" value is required');
|
|
164
|
-
|
|
165
|
-
var server = new MarkdownServer(options.rootDirectory);
|
|
166
|
-
|
|
167
|
-
if (options.markedOptions)
|
|
168
|
-
server.markedOptions = options.markedOptions;
|
|
169
|
-
|
|
170
|
-
if (options.resolverOptions)
|
|
171
|
-
server.resolverOptions = options.resolverOptions;
|
|
172
|
-
|
|
173
|
-
return function(req, res, next) {
|
|
174
|
-
if (req.method !== 'GET' && !options.handler) next();
|
|
175
|
-
|
|
176
|
-
server.get(req.path, function(err, result) {
|
|
177
|
-
if (err) {
|
|
178
|
-
console.log(err);
|
|
179
|
-
next();
|
|
180
|
-
return; // need return here because next call (above) is inside a callback
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// remove _file property as this is potentially a security risk
|
|
184
|
-
delete result._file;
|
|
185
|
-
|
|
186
|
-
if (options.view) {
|
|
187
|
-
if (options.preParse && _.isBoolean(options.preParse) && options.preParse === true) {
|
|
188
|
-
result.parsedContent = result.parseContent();
|
|
189
|
-
res.render(options.view, { markdownFile: result });
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
if (options.preParse && _.isFunction(options.preParse)) {
|
|
194
|
-
var vm = options.preParse(result);
|
|
195
|
-
res.render(options.view, vm);
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
res.render(options.view, { markdownFile: result });
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
if (options.handler && _.isFunction(options.handler)) {
|
|
204
|
-
return options.handler(result, req, res, next);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
// default fallback is to send a JSON response of the MarkdownFile object
|
|
208
|
-
result.parsedContent = result.parseContent();
|
|
209
|
-
res.send(result);
|
|
210
|
-
});
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Options to pass to the resolver indicating default document name and Markdown file extension
|
|
217
|
-
* @typedef {Object} MarkdownServer~resolverOptions
|
|
218
|
-
* @alias resolverOptions
|
|
219
|
-
* @property {string=} [defaultPagename=index] Name of default document
|
|
220
|
-
* @property {string=} [fileExtension=md] File extension of Markdown files
|
|
221
|
-
*/
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Create an instance of a Markdown files server. Can be instantiated from the module, and is mainly used in custom middleware scenarios.
|
|
225
|
-
* @class
|
|
226
|
-
* @alias MarkdownServer
|
|
227
|
-
* @param {string} rootDirectory Full path to root directory containing Markdown files to serve
|
|
228
|
-
* @property {string} rootDirectory Gets or sets the full path to root directory containing Markdown files to server. Set to same as rootDirectory parameter when class is instantiated.
|
|
229
|
-
* @property {?Object} markedOptions Gets or sets optional global [marked]{@link https://github.com/chjj/marked} module options used for Markdown processing
|
|
230
|
-
* @property {?resolverOptions} resolverOptions [resolverOptions]{@link MarkdownServer~resolverOptions}. Gets or sets optional global options used by the resolver to configure default page name and file extension of Markdown files.
|
|
231
|
-
*
|
|
232
|
-
* @example
|
|
233
|
-
* var path = require('path'),
|
|
234
|
-
* mds = require('markdown-serve');
|
|
235
|
-
*
|
|
236
|
-
* // Instantiate a new instance of MarkdownServer
|
|
237
|
-
* var server = new mds.MarkdownServer( path.resolve(__dirname, 'content') );
|
|
238
|
-
*/
|
|
239
|
-
function MarkdownServer(rootDirectory) {
|
|
240
|
-
if (!rootDirectory || !fs.existsSync(rootDirectory))
|
|
241
|
-
throw new Error('"rootDirectory" not specified or is invalid');
|
|
242
|
-
|
|
243
|
-
// clean up path
|
|
244
|
-
this.rootDirectory = path.resolve(rootDirectory);
|
|
245
|
-
|
|
246
|
-
this.markedOptions = null;
|
|
247
|
-
this.resolverOptions = {
|
|
248
|
-
defaultPageName: 'index', // name of default document in each sub folder
|
|
249
|
-
fileExtension: 'md'
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* [MarkdownServer.get()]{@link MarkdownServer#get} callback
|
|
255
|
-
* @callback MarkdownServer~getCallback
|
|
256
|
-
* @alias getCallback
|
|
257
|
-
* @param {?Object} err Errors if any
|
|
258
|
-
* @param {MarkdownFile} result
|
|
259
|
-
*/
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Resolves & returns {@link MarkdownFile} for specified URI path.
|
|
263
|
-
* @function
|
|
264
|
-
* @param {string} uriPath Path (relative to root) with leading / (slash) to Markdown file we want to obtain eg. "/subfolder/file". Note: Do not include ".md" extension.
|
|
265
|
-
* @param {getCallback} callback [getCallback]{@link MarkdownServer~getCallback}
|
|
266
|
-
* @returns {MarkdownFile}
|
|
267
|
-
*
|
|
268
|
-
* @example
|
|
269
|
-
* var server = new mds.MarkdownServer( path.resolve(__dirname, 'content') );
|
|
270
|
-
*
|
|
271
|
-
* server.get('/intro', function(err, result) {
|
|
272
|
-
* if (err) return err;
|
|
273
|
-
*
|
|
274
|
-
* // result == MarkdownFile instance
|
|
275
|
-
* console.log(result.parseContent()); // the parsed HTML result
|
|
276
|
-
* });
|
|
277
|
-
*/
|
|
278
|
-
MarkdownServer.prototype.get = function(uriPath, callback) {
|
|
279
|
-
var self = this;
|
|
280
|
-
var file = resolver(uriPath, self.rootDirectory, self.resolverOptions);
|
|
281
|
-
|
|
282
|
-
if (!file) {
|
|
283
|
-
return callback(new Error('No file found matching path: ' + uriPath));
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
return parser.parse(file, self.markedOptions, callback);
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* [MarkdownServer.save()]{@link MarkdownServer#save} callback
|
|
291
|
-
* @callback MarkdownServer~saveCallback
|
|
292
|
-
* @alias saveCallback
|
|
293
|
-
* @param {?Object} err Errors if any, otherwise null
|
|
294
|
-
* @param {MarkdownFile} result Saved file returned as a {@link MarkdownFile} object
|
|
295
|
-
*/
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Saves MarkdownFile for given uriPath
|
|
299
|
-
* @function
|
|
300
|
-
* @param {string} uriPath Path (relative to root) with leading / (slash) to Markdown file we want to save eg. "/subfolder/file". Will overwrite existing file or create new file if it doesn't exist. Note: Do not include ".md" extension.
|
|
301
|
-
* @param {string} rawContent Markdown text content to save
|
|
302
|
-
* @param {?Object=} meta Optional Javascript object to serialize as YAML front-matter and saved in file header
|
|
303
|
-
* @param {saveCallback} callback [saveCallback]{@link MarkdownServer~saveCallback}
|
|
304
|
-
* @returns {MarkdownFile}
|
|
305
|
-
*
|
|
306
|
-
* @example
|
|
307
|
-
* var mdContent = '# Heading\n\n' +
|
|
308
|
-
* 'Bullets:\n\n' +
|
|
309
|
-
* '- one\n' +
|
|
310
|
-
* '- two\n' +
|
|
311
|
-
* '- three\nn';
|
|
312
|
-
*
|
|
313
|
-
* // will create any subfolders in hierarchy if it doesn't exist
|
|
314
|
-
* server.save('/subfolder/new', mdContent, { title: 'New file', draft: true }, function(err, result) {
|
|
315
|
-
* if (err) return err;
|
|
316
|
-
*
|
|
317
|
-
* // result == MarkdownFile instance
|
|
318
|
-
* console.log(result.parseContent());
|
|
319
|
-
* });
|
|
320
|
-
*/
|
|
321
|
-
MarkdownServer.prototype.save = function(uriPath, rawContent, meta, callback) {
|
|
322
|
-
var self = this;
|
|
323
|
-
|
|
324
|
-
// make "meta" param optional
|
|
325
|
-
var hasMeta = true;
|
|
326
|
-
if (arguments.length === 3 && _.isFunction(arguments[2])) {
|
|
327
|
-
callback = arguments[2];
|
|
328
|
-
hasMeta = false;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
if (!rawContent)
|
|
332
|
-
return callback(new Error('rawContent is required'));
|
|
333
|
-
|
|
334
|
-
if (!_.isString(rawContent))
|
|
335
|
-
return callback(new Error('rawContent must be a string'));
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
var file = resolver(uriPath, self.rootDirectory, self.resolverOptions);
|
|
339
|
-
|
|
340
|
-
if (!file) {
|
|
341
|
-
var ext = (self.resolverOptions && self.resolverOptions.fileExtension) ? self.resolverOptions.fileExtension : '.md';
|
|
342
|
-
if (ext.indexOf('.') !== 0)
|
|
343
|
-
ext = '.' + ext;
|
|
344
|
-
|
|
345
|
-
var defPageName = (self.resolverOptions && self.resolverOptions.defaultPageName) ? self.resolverOptions.defaultPageName : 'index';
|
|
346
|
-
|
|
347
|
-
// append default page name to trailing slashes
|
|
348
|
-
if (uriPath.match(/\/$/))
|
|
349
|
-
uriPath += defPageName;
|
|
350
|
-
|
|
351
|
-
file = path.join(self.rootDirectory, uriPath + ext);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
var dir = path.dirname(file);
|
|
355
|
-
if (!fs.existsSync(dir))
|
|
356
|
-
mkdirp.sync(dir);
|
|
357
|
-
|
|
358
|
-
var mdFile = new parser.MarkdownFile(file);
|
|
359
|
-
|
|
360
|
-
if (hasMeta && meta)
|
|
361
|
-
mdFile.meta = meta;
|
|
362
|
-
|
|
363
|
-
mdFile.rawContent = rawContent;
|
|
364
|
-
|
|
365
|
-
mdFile.saveChanges(function(err, success) {
|
|
366
|
-
if (err) return callback(err);
|
|
367
|
-
|
|
368
|
-
return self.get(uriPath, callback);
|
|
369
|
-
});
|
|
370
|
-
};
|
package/test/jest-setup.js
DELETED