UNPKG

@unibeautify/beautifier-prettier

Version:
65 lines 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const unibeautify_1 = require("unibeautify"); const readPkgUp = require("read-pkg-up"); const options_1 = require("./options"); const { pkg } = readPkgUp.sync({ cwd: __dirname }); exports.beautifier = { name: "Prettier", package: pkg, dependencies: [ { type: unibeautify_1.DependencyType.Node, name: "Prettier", package: "prettier", }, ], options: { CSS: options_1.default.Style, GraphQL: options_1.default.GraphQL, JavaScript: options_1.default.Script, JSON: options_1.default.JSON, JSON5: options_1.default.JSON, JSX: options_1.default.Script, Less: options_1.default.Style, Markdown: options_1.default.Markdown, SCSS: options_1.default.Style, TypeScript: options_1.default.Script, Vue: options_1.default.Vue, }, resolveConfig: ({ filePath, dependencies }) => { if (!filePath) { return Promise.resolve({}); } const resolveConfig = dependencies.get("Prettier").package.resolveConfig; return resolveConfig(filePath, { useCache: false }).then((config) => ({ config, })); }, beautify({ text, options, language, filePath, dependencies, beautifierConfig, }) { return new Promise((resolve, reject) => { const prettier = dependencies.get("Prettier") .package; const parser = parserForLanguage(prettier, language); if (!parser) { return reject(new Error(`Prettier Parser not found for langauge ${language.name}.`)); } const finalOptions = beautifierConfig && beautifierConfig.config ? beautifierConfig.config : options; const result = prettier.format(text, Object.assign({}, finalOptions, { parser, filepath: filePath })); return resolve(result); }); }, }; function parserForLanguage(prettier, language) { const prettierLanguage = prettier .getSupportInfo() .languages.find(lang => lang.name === language.name); if (prettierLanguage) { return prettierLanguage.parsers[0]; } return undefined; } exports.default = exports.beautifier; //# sourceMappingURL=index.js.map