From 9ab64e01953952a9a44a2f97e0061ad702107fe4 Mon Sep 17 00:00:00 2001 From: mataha Date: Sun, 1 May 2022 08:44:19 +0200 Subject: [PATCH] feat: add support for `volta` (#257) --- defaultRules.md | 1 + index.js | 3 +++ tests/fields.js | 14 ++++++++++++++ tests/snapshots/main.js.md | 2 ++ tests/snapshots/main.js.snap | Bin 1352 -> 1362 bytes 5 files changed, 20 insertions(+) diff --git a/defaultRules.md b/defaultRules.md index 77bb6764..c1b684c7 100644 --- a/defaultRules.md +++ b/defaultRules.md @@ -92,6 +92,7 @@ _Note: when a specific key order is used, any other keys will be sorted in the e | packageManager | | | engines | Key sort | | engineStrict | Key sort | +| volta | Key order: `node`, `npm`, `yarn` | | languageName | | | os | | | cpu | | diff --git a/index.js b/index.js index 7d6d521b..d183bb11 100755 --- a/index.js +++ b/index.js @@ -124,6 +124,8 @@ const sortPrettierConfig = onObject( ]), ) +const sortVolta = sortObjectBy(['node', 'npm', 'yarn']) + // See https://docs.npmjs.com/misc/scripts const defaultNpmScripts = new Set([ 'install', @@ -290,6 +292,7 @@ const fields = [ { key: 'packageManager' }, { key: 'engines', over: sortObject }, { key: 'engineStrict', over: sortObject }, + { key: 'volta', over: sortVolta }, { key: 'languageName' }, { key: 'os' }, { key: 'cpu' }, diff --git a/tests/fields.js b/tests/fields.js index 0401b8db..1a17c331 100644 --- a/tests/fields.js +++ b/tests/fields.js @@ -186,6 +186,20 @@ test('directories', macro.sortObject, { }, }) +test('volta', macro.sortObject, { + path: 'volta', + value: { + yarn: '0.0.0', + npm: '0.0.0', + node: '0.0.0', + }, + expect: { + node: '0.0.0', + npm: '0.0.0', + yarn: '0.0.0', + }, +}) + test('contributors', (t) => { const contributors = { contributors: [ diff --git a/tests/snapshots/main.js.md b/tests/snapshots/main.js.md index 0d41813e..020e0f29 100644 --- a/tests/snapshots/main.js.md +++ b/tests/snapshots/main.js.md @@ -107,6 +107,7 @@ Generated by [AVA](https://avajs.dev). "umd:main": "umd:main",␊ "unpkg": "unpkg",␊ "version": "version",␊ + "volta": "volta",␊ "workspaces": "workspaces",␊ "xo": "xo"␊ }`, @@ -201,6 +202,7 @@ Generated by [AVA](https://avajs.dev). "packageManager": "packageManager",␊ "engines": "engines",␊ "engineStrict": "engineStrict",␊ + "volta": "volta",␊ "languageName": "languageName",␊ "os": "os",␊ "cpu": "cpu",␊ diff --git a/tests/snapshots/main.js.snap b/tests/snapshots/main.js.snap index 3d12f19ac4cafca58c8305a8c8dc4ad59d971dcf..e16a541b37026ea19ca9bdf9c3bf3f9f93a3f6ee 100644 GIT binary patch literal 1362 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 KC30#B7XSd`0j!k(