UNPKG

prettier-plugin-pkg

Version:

An opinionated package.json formatter plugin for Prettier

96 lines 1.83 kB
import { alphabetSort, sortObject } from '../utils.js'; export const dependencyNames = [ 'bundledDependencies', 'peerDependencies', 'peerDependenciesMeta', 'dependencies', 'dependenciesMeta', 'optionalDependencies', 'devDependencies', 'overrides', 'resolutions', ]; const primary = [ '$schema', 'name', 'version', 'type', 'flat', 'displayName', 'description', 'categories', 'repository', 'homepage', 'bugs', 'author', 'publisher', 'maintainers', 'contributors', 'donate', 'funding', 'sponsor', 'license', 'preview', 'private', 'workspaces', 'languageName', 'packageManager', 'engines', 'cpu', 'os', 'man', 'bin', 'main', 'module', 'imports', 'exports', 'esnext', 'es2020', 'esm2020', 'fesm2020', 'es2015', 'esm2015', 'fesm2015', 'es5', 'esm5', 'fesm5', 'browser', 'umd', 'jsdelivr', 'unpkg', 'types', 'typings', 'typesVersions', 'directories', 'files', 'keywords', 'scripts', 'config', ...dependencyNames, 'publishConfig', 'sideEffects', 'icon', 'badges', 'galleryBanner', 'activationEvents', 'contributes', 'markdown', 'qna', 'extensionPack', 'extensionDependencies', 'extensionKind', ]; export const sort = (props) => { const others = []; const known = props.filter(prop => { if (primary.includes(prop.key.value)) { return true; } others.push(prop); return false; }); known.sort((a, b) => alphabetSort(primary.indexOf(a.key.value), primary.indexOf(b.key.value))); others.sort(sortObject); return [...known, ...others]; }; //# sourceMappingURL=sort.js.map