{"version":3,"sources":["jsdelivr-header.js","/npm/sort-package-json2@0.0.3/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ACLA,IAAI,eAAiB,QAAQ,oBACzB,aAAe,QAAQ,iBAC3B,SAAS,gBAAgB,GACvB,IAAI,GAAY,EACZ,EAAgB,GAChB,EAAc,EASlB,SAAS,EAAW,EAAK,EAAU,GACjC,GAAI,MAAM,QAAQ,EAAY,IAK5B,OAJA,EAAY,GAAO,EAAY,GAAK,YAChC,IACF,EAAY,GAAoB,EAAY,GA4BnC,QAAO,SAAU,EAAI,EAAO,GACvC,OAAO,GAAS,EAAI,QAAQ,EAC9B,MA1BgC,iBAArB,EAAY,KACrB,EAAY,GAAO,eAAe,EAAY,GAAM,GAExD,CA6GA,MAhI2B,iBAAhB,IACT,GAAY,EACZ,EAAc,aAAa,GAAa,OACT,OAA3B,EAAY,QAAQ,KACtB,EAAgB,MAElB,EAAc,KAAK,MAAM,IAsC3B,EAAW,WAAY,MAAM,GAC7B,EAAW,YACX,EAAW,OAAQ,CAAE,MAAO,UAC5B,EAAW,UAAW,CAAE,OAAQ,QAChC,EAAW,SAAU,CAAE,OAAQ,QAAS,QACxC,EAAW,OACX,EAAW,OACX,EAAW,cAAe,CAAE,MAAO,MAAO,MAAO,MAAO,YACxD,EAAW,aAAc,CAAE,OAAQ,QACnC,EAAW,WA3BX,SAA2B,EAAG,GAC5B,GAAI,IAAM,EAAG,OAAO,EACpB,IAAI,EAAU,EAAE,QAAQ,iBAAkB,MACtC,EAAU,EAAE,QAAQ,iBAAkB,MAC1C,OAAI,IAAY,EAGW,IAArB,EAAE,QAAQ,QAAsC,IAAtB,EAAE,QAAQ,SAAuB,EAExD,EAEF,EAAU,GAAW,EAAI,CAClC,IAgBA,EAAW,UACX,EAAW,WACX,EAAW,cACX,EAAW,SACX,EAAW,gBACX,EAAW,QACX,EAAW,MACX,EAAW,YACX,EAAW,gBACX,EAAW,mBACX,EAAW,oBACX,EAAW,uBACX,EAAW,sBACX,EAAW,wBACX,EAAW,eACX,EAAW,WACX,EAAW,gBACX,EAAW,MACX,EAAW,OACX,EAAW,gBACX,EAAW,WACX,EAAW,iBACX,EAAc,eAAe,EAAa,CACxC,OACA,UACA,UACA,cACA,WACA,WACA,OACA,aACA,UACA,SACA,eACA,QACA,OACA,SACA,cACA,QACA,UACA,QACA,UACA,eACA,SACA,MACA,MACA,cACA,aACA,UACA,SACA,aACA,UACA,aACA,QACA,KACA,WACA,eACA,eACA,YACA,OACA,eACA,kBACA,mBACA,sBACA,qBACA,uBACA,cACA,UACA,eACA,KACA,MACA,eACA,kBAEK,EAAY,KAAK,UAAU,EAAa,KAAM,GAAe,EAAgB,CACtF,CAIA,GAHA,OAAO,QAAU,gBACjB,OAAO,QAAQ,gBAAkB,gBAE7B,QAAQ,OAAS,OAAQ,CAC3B,IAAI,GAAK,QAAQ,MAEb,eAAiB,QAAQ,KAAK,GAAK,QAAQ,KAAK,MAAM,GAAK,CAAC,QAAQ,MAAQ,iBAEhF,eAAe,SAAQ,SAAU,GAC/B,IAAI,EAAc,GAAG,aAAa,EAAU,QACxC,EAAS,gBAAgB,GACzB,IAAW,IACX,GAAG,cAAc,EAAU,EAAQ,QACnC,QAAQ,IAAI,EAAW,eAE7B,GACF","file":"/npm/sort-package-json2@0.0.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/sort-package-json2@0.0.3/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\nvar sortObjectKeys = require('sort-object-keys');\nvar detectIndent = require('detect-indent');\nfunction sortPackageJson(packageJson) {\n  var wasString = false;\n  var endCharacters = '';\n  var indentLevel = 2;\n  if (typeof packageJson === 'string') {\n    wasString = true;\n    indentLevel = detectIndent(packageJson).indent;\n    if (packageJson.substr(-1) === '\\n') {\n      endCharacters = '\\n';\n    }\n    packageJson = JSON.parse(packageJson);\n  }\n  function sortSubKey(key, sortList, unique) {\n    if (Array.isArray(packageJson[key])) {\n      packageJson[key] = packageJson[key].sort();\n      if (unique) {\n        packageJson[key] = array_unique(packageJson[key]);\n      }\n      return;\n    }\n    if (typeof packageJson[key] === 'object') {\n      packageJson[key] = sortObjectKeys(packageJson[key], sortList);\n    }\n  }\n  /*             b\n   *       pre | * | post\n   *   pre  0  | - |  -\n   * a  *   +  | 0 |  -\n   *   post +  | + |  0\n   */\n  function compareScriptKeys(a, b) {\n    if (a === b) return 0;\n    var aScript = a.replace(/^(pre|post)(.)/, '$2');\n    var bScript = b.replace(/^(pre|post)(.)/, '$2');\n    if (aScript === bScript) {\n      // pre* is always smaller; post* is always bigger\n      // Covers: pre* vs. *; pre* vs. post*; * vs. post*\n      if (a.indexOf('pre') === 0 || b.indexOf('post') === 0) return -1;\n      // The rest is bigger: * vs. *pre; *post vs. *pre; *post vs. *\n      return 1;\n    }\n    return aScript < bScript ? -1 : 1;\n  }\n  function array_unique(array) {\n    return array.filter(function (el, index, arr) {\n      return index == arr.indexOf(el);\n    });\n  }\n  sortSubKey('keywords', null, true);\n  sortSubKey('homepage');\n  sortSubKey('bugs', [ 'url', 'email' ]);\n  sortSubKey('license', [ 'type', 'url' ]);\n  sortSubKey('author', [ 'name', 'email', 'url' ]);\n  sortSubKey('bin');\n  sortSubKey('man');\n  sortSubKey('directories', [ 'lib', 'bin', 'man', 'doc', 'example' ]);\n  sortSubKey('repository', [ 'type', 'url' ]);\n  sortSubKey('scripts', compareScriptKeys);\n  sortSubKey('config');\n  sortSubKey('browser');\n  sortSubKey('browserify');\n  sortSubKey('babel');\n  sortSubKey('eslintConfig');\n  sortSubKey('jest');\n  sortSubKey('xo');\n  sortSubKey('prettier');\n  sortSubKey('dependencies');\n  sortSubKey('devDependencies');\n  sortSubKey('peerDependencies');\n  sortSubKey('bundledDependencies');\n  sortSubKey('bundleDependencies');\n  sortSubKey('optionalDependencies');\n  sortSubKey('resolutions');\n  sortSubKey('engines');\n  sortSubKey('engineStrict');\n  sortSubKey('os');\n  sortSubKey('cpu');\n  sortSubKey('preferGlobal');\n  sortSubKey('private');\n  sortSubKey('publishConfig');\n  packageJson = sortObjectKeys(packageJson, [\n    'name',\n    'version',\n    'private',\n    'description',\n    'keywords',\n    'homepage',\n    'bugs',\n    'repository',\n    'license',\n    'author',\n    'contributors',\n    'files',\n    'main',\n    'module',\n    'jsnext:main',\n    'types',\n    'typings',\n    'style',\n    'example',\n    'examplestyle',\n    'assets',\n    'bin',\n    'man',\n    'directories',\n    'workspaces',\n    'scripts',\n    'config',\n    'pre-commit',\n    'browser',\n    'browserify',\n    'babel',\n    'xo',\n    'prettier',\n    'eslintConfig',\n    'eslintIgnore',\n    'stylelint',\n    'jest',\n    'dependencies',\n    'devDependencies',\n    'peerDependencies',\n    'bundledDependencies',\n    'bundleDependencies',\n    'optionalDependencies',\n    'resolutions',\n    'engines',\n    'engineStrict',\n    'os',\n    'cpu',\n    'preferGlobal',\n    'publishConfig',\n  ]);\n  return wasString ? JSON.stringify(packageJson, null, indentLevel) + endCharacters : packageJson;\n}\nmodule.exports = sortPackageJson;\nmodule.exports.sortPackageJson = sortPackageJson;\n\nif (require.main === module) {\n  var fs = require('fs');\n\n  var filesToProcess = process.argv[2] ? process.argv.slice(2) : [process.cwd() + '/package.json'];\n\n  filesToProcess.forEach(function (filePath) {\n    var packageJson = fs.readFileSync(filePath, 'utf8');\n    var sorted = sortPackageJson(packageJson);\n    if (sorted !== packageJson) {\n        fs.writeFileSync(filePath, sorted, 'utf8');\n        console.log(filePath + ' is sorted!');\n    }\n  });\n}\n"]}