serverless/lib/classes/yaml-parser.js
Austen 158f644cd0
feat: Refactor logging to reduce complexity (#12432)
* chore: Change logger

* chore: continue refactor

* chore: WIP

* chore: Sync
2024-04-17 13:26:31 -07:00

25 lines
586 B
JavaScript

import yaml from 'js-yaml';
import { resolveRefs } from 'json-refs';
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 resolveRefs(root, options).then((res) => res.resolved);
}
}
export default YamlParser;