mirror of
https://github.com/serverless/serverless.git
synced 2025-12-08 19:46:03 +00:00
27 lines
613 B
JavaScript
27 lines
613 B
JavaScript
'use strict';
|
|
|
|
const yaml = require('js-yaml');
|
|
const resolve = require('json-refs').resolveRefs;
|
|
|
|
class YamlParser {
|
|
constructor(serverless) {
|
|
this.serverless = serverless;
|
|
}
|
|
|
|
async parse(yamlFilePath) {
|
|
const root = this.serverless.utils.readFileSync(yamlFilePath);
|
|
const options = {
|
|
filter: ['relative', 'remote'],
|
|
loaderOptions: {
|
|
processContent: (res, callback) => {
|
|
callback(null, yaml.load(res.text));
|
|
},
|
|
},
|
|
location: yamlFilePath,
|
|
};
|
|
return resolve(root, options).then((res) => res.resolved);
|
|
}
|
|
}
|
|
|
|
module.exports = YamlParser;
|