diff --git a/.prettierignore b/.prettierignore
index 17e96a77..b2c92926 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -16,6 +16,7 @@ coverage
*.svg
*.jpeg
*.jpg
+.now
# !*.*js*
# !*.*ts*
diff --git a/@tunnckocore/package-json/.verb.md b/@tunnckocore/package-json/.verb.md
new file mode 100644
index 00000000..96d6dfde
--- /dev/null
+++ b/@tunnckocore/package-json/.verb.md
@@ -0,0 +1,5 @@
+
+
+{%= include(process.cwd() + "/docs/src/index.md") %}
+
+
diff --git a/@tunnckocore/package-json/README.md b/@tunnckocore/package-json/README.md
new file mode 100644
index 00000000..310309ea
--- /dev/null
+++ b/@tunnckocore/package-json/README.md
@@ -0,0 +1,282 @@
+# @tunnckocore/package-json [![npm version][npmv-img]][npmv-url] [![License][license-img]][license-url] [![Libera Manifesto][libera-manifesto-img]][libera-manifesto-url]
+
+> Get package.json metadata for npm module from JSDelivr or fallback to Unpkg,
+> because the npm registry is slow and ugly
+
+Please consider following this project's author,
+[Charlike Mike Reagent](https://github.com/tunnckoCore), and :star: the project
+to show your :heart: and support.
+
+
+
+[![Code style][codestyle-img]][codestyle-url]
+[![CircleCI linux build][linuxbuild-img]][linuxbuild-url]
+[![CodeCov coverage status][codecoverage-img]][codecoverage-url]
+[![Renovate App Status][renovateapp-img]][renovateapp-url]
+[![Make A Pull Request][prs-welcome-img]][prs-welcome-url]
+[![Time Since Last Commit][last-commit-img]][last-commit-url]
+
+
+
+If you have any _how-to_ kind of questions, please read the [Contributing
+Guide][contributing-url] and [Code of Conduct][code_of_conduct-url] documents.
+For bugs reports and feature requests, [please create an issue][open-issue-url]
+or ping [@tunnckoCore](https://twitter.com/tunnckoCore) at Twitter.
+
+[![Conventional Commits][ccommits-img]][ccommits-url]
+[![Minimum Required Nodejs][nodejs-img]][npmv-url]
+[![NPM Downloads Monthly][downloads-monthly-img]][npmv-url]
+[![NPM Downloads Total][downloads-total-img]][npmv-url]
+[![Share Love Tweet][twitter-share-img]][twitter-share-url]
+[![Twitter][twitter-img]][twitter-url]
+
+Project is [semantically](https://semver.org) versioned & automatically released
+from [GitHub Actions](https://github.com/features/actions) with
+[Lerna](https://github.com/lerna/lerna).
+
+[![Become a Patron][patreon-img]][patreon-url]
+[![Buy me a Kofi][kofi-img]][kofi-url]
+[![PayPal Donation][paypal-img]][paypal-url]
+[![Bitcoin Coinbase][bitcoin-img]][bitcoin-url]
+[![Keybase PGP][keybase-img]][keybase-url]
+
+| Topic | Contact |
+| :--------------------------------------------------------------- | ------------------------------------------------: |
+| Any legal or licensing questions, like private or commerical use | ![tunnckocore_legal][tunnckocore_legal] |
+| For any critical problems and security reports | ![tunnckocore_security][tunnckocore_security] |
+| Consulting, professional support, personal or team training | ![tunnckocore_consulting][tunnckocore_consulting] |
+| For any questions about Open Source, partnerships and sponsoring | ![tunnckocore_opensource][tunnckocore_opensource] |
+
+
+
+## Table of Contents
+
+- [Install](#install)
+ - [packageJson](#packagejson)
+- [Contributing](#contributing)
+ - [Guides and Community](#guides-and-community)
+ - [Support the project](#support-the-project)
+- [Contributors](#contributors)
+- [License](#license)
+
+_(TOC generated by [verb](https://github.com/verbose/verb) using
+[markdown-toc](https://github.com/jonschlinkert/markdown-toc))_
+
+## Install
+
+This project requires [**Node.js**](https://nodejs.org) **>=10.13** _(see
+[Support & Release Policy](https://github.com/tunnckoCoreLabs/support-release-policy))_.
+Install it using [**yarn**](https://yarnpkg.com) or
+[**npm**](https://npmjs.com).
_We highly recommend to use Yarn when you
+think to contribute to this project._
+
+```bash
+$ yarn add @tunnckocore/package-json
+```
+
+
+
+_Generated using [jest-runner-docs](https://ghub.now.sh/jest-runner-docs)._
+
+### [packageJson](./src/index.js#L36)
+
+Get package metadata from the Unpkg instead of NPM registry. Optionally you can
+pass `endpoint` function and return the build the registry url.
+
+
+
+#### Signature
+
+```ts
+function(packageName, endpoint)
+```
+
+
+
+#### Params
+
+- `packageName` **{string}** - the package name, supports `pkg-name@1.2.2`
+ (version) and `pkg-name@next` (dist-tag)
+- `endpoint` **{function}** - like `(name, tag) => url`
+- `returns` **{object}** - package metadata object
+
+
+
+#### Examples
+
+```js
+import packageJson from '@tunnckocore/package-json';
+
+async function main() {
+ console.log(await packageJson('eslint'));
+ console.log(await packageJson('package-json@4.0.0'));
+ console.log(await packageJson('ava@next'));
+ console.log(await packageJson('@babel/core'));
+ console.log(await packageJson('@tunnckocore/package-json'));
+}
+
+main().catch(console.error);
+```
+
+
+
+**[back to top](#readme)**
+
+## Contributing
+
+### Guides and Community
+
+Please read the [Contributing Guide][contributing-url] and [Code of
+Conduct][code_of_conduct-url] documents for advices.
+
+For bug reports and feature requests, please join our [community][community-url]
+forum and open a thread there with prefixing the title of the thread with the
+name of the project if there's no separate channel for it.
+
+Consider reading the
+[Support and Release Policy](https://github.com/tunnckoCoreLabs/support-release-policy)
+guide if you are interested in what are the supported Node.js versions and how
+we proceed. In short, we support latest two even-numbered Node.js release lines.
+
+### Support the project
+
+[Become a Partner or Sponsor?][kofi-url] :dollar: Check the **OpenSource**
+Commision (tier). :tada: You can get your company logo, link & name on this
+file. It's also rendered on package's page in [npmjs.com][npmv-url] and
+[yarnpkg.com](https://yarnpkg.com/en/package/@tunnckocore/package-json) sites
+too! :rocket:
+
+Not financial support? Okey!
+[Pull requests](https://github.com/tunnckoCoreLabs/contributing#opening-a-pull-request),
+stars and all kind of
+[contributions](https://opensource.guide/how-to-contribute/#what-it-means-to-contribute)
+are always welcome. :sparkles:
+
+## Contributors
+
+This project follows the
+[all-contributors](https://github.com/all-contributors/all-contributors)
+specification. Contributions of any kind are welcome!
+
+Thanks goes to these wonderful people
+([emoji key](https://allcontributors.org/docs/en/emoji-key)), consider showing
+your [support](#support-the-project) to them:
+
+
+
+
+
+
+
+
+
+
+
+**[back to top](#readme)**
+
+## License
+
+Copyright (c) 2018-present, [Charlike Mike Reagent](https://tunnckocore.com)
+`` & [contributors](#wonderful-contributors).
+Released under the [MPL-2.0 License][license-url].
+
+
+
+
+
+[contributing-url]: https://github.com/tunnckoCore/opensource/blob/master/CONTRIBUTING.md
+[code_of_conduct-url]: https://github.com/tunnckoCore/opensource/blob/master/CODE_OF_CONDUCT.md
+
+
+
+[npmv-url]: https://www.npmjs.com/package/@tunnckocore/package-json
+[npmv-img]: https://badgen.net/npm/v/@tunnckocore/package-json?icon=npm&cache=300
+
+[license-url]: https://github.com/tunnckoCore/opensource/blob/master/@tunnckocore/package-json/LICENSE
+[license-img]: https://badgen.net/npm/license/@tunnckocore/package-json?cache=300
+
+[libera-manifesto-url]: https://liberamanifesto.com
+[libera-manifesto-img]: https://badgen.net/badge/libera/manifesto/grey
+
+
+
+[codecoverage-img]: https://badgen.net/badge/coverage/76.73%25/EEAA22?icon=codecov&cache=300
+
+[codecoverage-url]: https://codecov.io/gh/tunnckoCore/opensource
+
+[codestyle-url]: https://github.com/airbnb/javascript
+[codestyle-img]: https://badgen.net/badge/code%20style/airbnb/ff5a5f?icon=airbnb&cache=300
+
+[linuxbuild-url]: https://github.com/tunnckocore/opensource/actions
+[linuxbuild-img]: https://badgen.net/github/checks/tunnckoCore/opensource/master?cache=300&label=build&icon=github
+
+[ccommits-url]: https://conventionalcommits.org/
+[ccommits-img]: https://badgen.net/badge/conventional%20commits/v1.0.0/green?cache=300
+
+[standard-release-url]: https://github.com/standard-release/standard-release
+[standard-release-img]: https://badgen.net/badge/semantically/released/05c5ff?cache=300
+
+[community-img]: https://badgen.net/badge/join/community/7b16ff?cache=300
+[community-url]: https://github.com/tunnckocorehq/community
+
+[last-commit-img]: https://badgen.net/github/last-commit/tunnckoCore/opensource/master?cache=300
+[last-commit-url]: https://github.com/tunnckoCore/opensource/commits/master
+
+[nodejs-img]: https://badgen.net/badge/node/>=10.13/green?cache=300
+
+[downloads-weekly-img]: https://badgen.net/npm/dw/@tunnckocore/package-json?icon=npm&cache=300
+[downloads-monthly-img]: https://badgen.net/npm/dm/@tunnckocore/package-json?icon=npm&cache=300
+[downloads-total-img]: https://badgen.net/npm/dt/@tunnckocore/package-json?icon=npm&cache=300
+
+[renovateapp-url]: https://renovatebot.com
+[renovateapp-img]: https://badgen.net/badge/renovate/enabled/green?cache=300
+
+[prs-welcome-img]: https://badgen.net/badge/PRs/welcome/green?cache=300
+[prs-welcome-url]: http://makeapullrequest.com
+
+
+
+[paypal-url]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HYJJEZNSGAPGC&source=url
+[paypal-img]: https://badgen.net/badge/PayPal/donate/003087?cache=300&icon=https://simpleicons.now.sh/paypal/fff
+
+
+
+[kofi-url]: https://ko-fi.com/tunnckoCore
+[kofi-img]: https://badgen.net/badge/Buy%20me/a%20coffee/29abe0c2?cache=300&icon=https://rawcdn.githack.com/tunnckoCore/badgen-icons/f8264c6414e0bec449dd86f2241d50a9b89a1203/icons/kofi.svg
+
+
+
+[bitcoin-url]: https://www.blockchain.com/btc/payment_request?address=3QNHKun1K1SUui1b4Z3KEGPPsWC1TgtnqA&message=Open+Source+Software&amount_local=10¤cy=USD
+[bitcoin-img]: https://badgen.net/badge/Bitcoin%20tip/3QNHKun...b4Z3KEGPPsWC1TgtnqA/yellow?cache=300&icon=https://simpleicons.now.sh/bitcoin/fff
+[keybase-url]: https://keybase.io/tunnckoCore
+[keybase-img]: https://badgen.net/keybase/pgp/tunnckoCore?cache=300
+[twitter-url]: https://twitter.com/tunnckoCore
+[twitter-img]: https://badgen.net/twitter/follow/tunnckoCore?icon=twitter&color=1da1f2&cache=300
+[patreon-url]: https://www.patreon.com/bePatron?u=5579781
+[patreon-img]: https://badgen.net/badge/Become/a%20patron/F96854?icon=patreon
+
+
+
+[patreon-sponsor-img]: https://badgen.net/badge/become/a%20sponsor/F96854?icon=patreon
+[twitter-share-url]: https://twitter.com/intent/tweet?text=https://github.com/tunnckoCore/opensource/tree/master&via=tunnckoCore
+[twitter-share-img]: https://badgen.net/badge/twitter/share/1da1f2?icon=twitter
+[open-issue-url]: https://github.com/tunnckoCore/opensource/issues/new
+[tunnckocore_legal]: https://badgen.net/https/liam-badge-daknys6gadky.runkit.sh/com/legal/tunnckocore?label&color=A56016&icon=https://svgshare.com/i/Dt6.svg
+[tunnckocore_consulting]: https://badgen.net/https/liam-badge-daknys6gadky.runkit.sh/com/consulting/tunnckocore?label&color=07ba96&icon=https://svgshare.com/i/Dt6.svg
+[tunnckocore_security]: https://badgen.net/https/liam-badge-daknys6gadky.runkit.sh/com/security/tunnckocore?label&color=ed1848&icon=https://svgshare.com/i/Dt6.svg
+[tunnckocore_opensource]: https://badgen.net/https/liam-badge-daknys6gadky.runkit.sh/com/opensource/tunnckocore?label&color=ff7a2f&icon=https://svgshare.com/i/Dt6.svg
+[tunnckocore_newsletter]: https://badgen.net/https/liam-badge-daknys6gadky.runkit.sh/com/newsletter/tunnckocore?label&color=5199FF&icon=https://svgshare.com/i/Dt6.svg
+
+
diff --git a/@tunnckocore/package-json/docs/src/index.md b/@tunnckocore/package-json/docs/src/index.md
new file mode 100644
index 00000000..d1e91e5b
--- /dev/null
+++ b/@tunnckocore/package-json/docs/src/index.md
@@ -0,0 +1,41 @@
+_Generated using [jest-runner-docs](https://ghub.now.sh/jest-runner-docs)._
+
+### [packageJson](./src/index.js#L36)
+
+Get package metadata from the Unpkg instead of NPM registry. Optionally you can
+pass `endpoint` function and return the build the registry url.
+
+
+
+#### Signature
+
+```ts
+function(packageName, endpoint)
+```
+
+
+
+#### Params
+
+- `packageName` **{string}** - the package name, supports `pkg-name@1.2.2`
+ (version) and `pkg-name@next` (dist-tag)
+- `endpoint` **{function}** - like `(name, tag) => url`
+- `returns` **{object}** - package metadata object
+
+
+
+#### Examples
+
+```js
+import packageJson from '@tunnckocore/package-json';
+
+async function main() {
+ console.log(await packageJson('eslint'));
+ console.log(await packageJson('package-json@4.0.0'));
+ console.log(await packageJson('ava@next'));
+ console.log(await packageJson('@babel/core'));
+ console.log(await packageJson('@tunnckocore/package-json'));
+}
+
+main().catch(console.error);
+```
diff --git a/@tunnckocore/package-json/package.json b/@tunnckocore/package-json/package.json
new file mode 100644
index 00000000..0883db71
--- /dev/null
+++ b/@tunnckocore/package-json/package.json
@@ -0,0 +1,89 @@
+{
+ "name": "@tunnckocore/package-json",
+ "version": "1.0.3",
+ "licenseStart": 2018,
+ "license": "MPL-2.0",
+ "description": "Get package.json metadata for npm module from JSDelivr or fallback to Unpkg, because the npm registry is slow and ugly",
+ "author": "Charlike Mike Reagent (https://tunnckocore.com)",
+ "homepage": "https://tunnckocore.com/opensource",
+ "funding": [
+ "https://ko-fi.com/tunnckoCore/commissions",
+ "https://github.com/sponsors/tunnckoCore",
+ "https://patreon.com/tunnckoCore"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/tunnckoCore/opensource.git",
+ "directory": "@tunnckocore/package-json"
+ },
+ "main": "dist/cjs/index.js",
+ "module": "dist/esm/index.js",
+ "files": [
+ "dist"
+ ],
+ "engines": {
+ "node": ">=10.13"
+ },
+ "publishConfig": {
+ "access": "public",
+ "tag": "latest"
+ },
+ "scripts": {},
+ "dependencies": {
+ "ky": "^0.18.0",
+ "ky-universal": "^0.5.0",
+ "parse-package-name": "^0.1.0"
+ },
+ "jest": {
+ "coverageThreshold": {
+ "src/**/*.js": {
+ "statements": 72,
+ "branches": 87,
+ "functions": 75,
+ "lines": 72
+ }
+ }
+ },
+ "cov": {
+ "value": 76.73,
+ "color": "EEAA22"
+ },
+ "keywords": [
+ "tunnckocorehq",
+ "tunnckocore-oss",
+ "hela",
+ "development",
+ "developer-experience",
+ "dx",
+ "package-json",
+ "pkg-json",
+ "package",
+ "json",
+ "get-package-json",
+ "get-pkg",
+ "metadata",
+ "pkg metadata",
+ "get package",
+ "package.json"
+ ],
+ "verb": {
+ "readme": "../../readme-template.md",
+ "run": true,
+ "toc": {
+ "render": true,
+ "method": "preWrite",
+ "maxdepth": 3
+ },
+ "layout": "empty",
+ "tasks": [
+ "readme"
+ ],
+ "lint": {
+ "reflinks": true
+ },
+ "reflinks": [],
+ "related": {
+ "list": []
+ }
+ }
+}
diff --git a/@tunnckocore/package-json/src/index.js b/@tunnckocore/package-json/src/index.js
new file mode 100644
index 00000000..5f99dbe3
--- /dev/null
+++ b/@tunnckocore/package-json/src/index.js
@@ -0,0 +1,74 @@
+import parsePkgName from 'parse-package-name';
+import ky from 'ky-universal';
+
+export class PackageJsonError extends Error {
+ constructor(message, err) {
+ super(message);
+ this.name = 'PackageJsonError';
+ this.originalError = err;
+ }
+}
+
+/**
+ * Get package metadata from the Unpkg instead of NPM registry.
+ * Optionally you can pass `endpoint` function and return the build
+ * the registry url.
+ *
+ * @example
+ * import packageJson from '@tunnckocore/package-json';
+ *
+ * async function main() {
+ * console.log(await packageJson('eslint'));
+ * console.log(await packageJson('package-json@4.0.0'));
+ * console.log(await packageJson('ava@next'));
+ * console.log(await packageJson('@babel/core'));
+ * console.log(await packageJson('@tunnckocore/package-json'));
+ * }
+ *
+ * main().catch(console.error);
+ *
+ * @name packageJson
+ * @param {string} packageName the package name, supports `pkg-name@1.2.2` (version) and `pkg-name@next` (dist-tag)
+ * @param {function} endpoint like `(name, tag) => url`
+ * @returns {object} package metadata object
+ * @public
+ */
+export default async function packageJson(packageName, endpoint) {
+ const { name, version } = parsePkgName(packageName);
+ const tag = version === '' ? 'latest' : version;
+ const uri =
+ typeof endpoint === 'function'
+ ? endpoint(name, tag)
+ : `https://cdn.jsdelivr.net/npm/${name}@${tag}/package.json`;
+
+ let pkg = null;
+ try {
+ pkg = await ky
+ .get(uri)
+ .then((resp) => resp.text())
+ .then(JSON.parse);
+ } catch (err) {
+ // NOTE: jsDelivr can response with 403 Forbidden, if over 50MB
+ if (err.response && err.response.status === 403) {
+ try {
+ // ! so, try through UNPKG.com
+ pkg = await packageJson(
+ packageName,
+ (x, t) => `https://unpkg.com/${x}@${t}/package.json`,
+ );
+ } catch (error) {
+ throw new PackageJsonError(
+ `Package "${name}" not found, even through UNPKG.com!`,
+ error,
+ );
+ }
+ return pkg;
+ }
+
+ throw new PackageJsonError(
+ `Package "${name}" not found or loading error!`,
+ err,
+ );
+ }
+ return pkg;
+}
diff --git a/@tunnckocore/package-json/test/index.js b/@tunnckocore/package-json/test/index.js
new file mode 100644
index 00000000..08349f06
--- /dev/null
+++ b/@tunnckocore/package-json/test/index.js
@@ -0,0 +1,30 @@
+import packageJson, { PackageJsonError } from '../src/index';
+
+test('return package metadata', async () => {
+ const pkg = await packageJson('babel-preset-optimise');
+ expect(pkg.name).toStrictEqual('babel-preset-optimise');
+});
+
+test('for specific version + scoped', async () => {
+ const pkg = await packageJson('@tunnckocore/package-json@1.0.3');
+ expect(pkg.version).toStrictEqual('1.0.3');
+ expect(pkg.repository).toStrictEqual('tunnckoCoreLabs/package-json');
+});
+
+test('throw for not existing package', async () => {
+ await expect(packageJson('ksjdf4jdhfkjsd')).rejects.toThrow(Error);
+ await expect(packageJson('ksjdf4jdhfkjsd')).rejects.toThrow(PackageJsonError);
+ await expect(packageJson('ksjdf4jdhfkjsd')).rejects.toThrow(
+ /Package "ksjdf4jdhfkjsd" not found/,
+ );
+});
+
+test('get package.json using custom `endpoint` option', async () => {
+ const pkg = await packageJson(
+ 'package-json@4.0.0',
+ (name, tag) => `https://registry.npmjs.org/${name}/${tag}`,
+ );
+
+ expect(pkg.name).toStrictEqual('package-json');
+ expect(pkg.version).toStrictEqual('4.0.0');
+});
diff --git a/README.md b/README.md
index 1b90ad61..eee3059e 100644
--- a/README.md
+++ b/README.md
@@ -39,6 +39,7 @@ Jest and Babel.
| [`@tunnckocore/execa`](https://ghub.now.sh/@tunnckocore/execa) | [![npm][npm-0ee88d61eb-img]][npm-0ee88d61eb-url] [![cov][cov-0ee88d61eb-img]][cov-0ee88d61eb-url] |
| [`@tunnckocore/jest-runner-babel`](https://ghub.now.sh/@tunnckocore/jest-runner-babel) | [![npm][npm-66996266fb-img]][npm-66996266fb-url] [![cov][cov-66996266fb-img]][cov-66996266fb-url] |
| [`@tunnckocore/jest-runner-eslint`](https://ghub.now.sh/@tunnckocore/jest-runner-eslint) | [![npm][npm-c7106a6fc9-img]][npm-c7106a6fc9-url] [![cov][cov-c7106a6fc9-img]][cov-c7106a6fc9-url] |
+| [`@tunnckocore/package-json`](https://ghub.now.sh/@tunnckocore/package-json) | [![npm][npm-1e25d483ed-img]][npm-1e25d483ed-url] [![cov][cov-1e25d483ed-img]][cov-1e25d483ed-url] |
| [`@tunnckocore/pretty-config`](https://ghub.now.sh/@tunnckocore/pretty-config) | [![npm][npm-9c57de05d6-img]][npm-9c57de05d6-url] [![cov][cov-9c57de05d6-img]][cov-9c57de05d6-url] |
| [`@tunnckocore/utils`](https://ghub.now.sh/@tunnckocore/utils) | [![npm][npm-2ee61b0213-img]][npm-2ee61b0213-url] [![cov][cov-2ee61b0213-img]][cov-2ee61b0213-url] |
@@ -69,7 +70,7 @@ Jest and Babel.
[npm-bfbf73f3e5-url]: https://www.npmjs.com/package/jest-runner-docs
[npm-bfbf73f3e5-img]: https://badgen.net/npm/v/jest-runner-docs?icon=npm
[cov-bfbf73f3e5-url]: https://www.npmjs.com/package/jest-runner-docs
-[cov-bfbf73f3e5-img]: https://badgen.net/badge/coverage/5.99%25/red?icon=codecov
+[cov-bfbf73f3e5-img]: https://badgen.net/badge/coverage/6.11%25/red?icon=codecov
[npm-13c18163b7-url]: https://www.npmjs.com/package/jest-runner-node
[npm-13c18163b7-img]: https://badgen.net/npm/v/jest-runner-node?icon=npm
[cov-13c18163b7-url]: https://www.npmjs.com/package/jest-runner-node
@@ -101,7 +102,7 @@ Jest and Babel.
[npm-76c512834b-url]: https://www.npmjs.com/package/@tunnckocore/create-jest-runner
[npm-76c512834b-img]: https://badgen.net/npm/v/@tunnckocore/create-jest-runner?icon=npm
[cov-76c512834b-url]: https://www.npmjs.com/package/@tunnckocore/create-jest-runner
-[cov-76c512834b-img]: https://badgen.net/badge/coverage/20.38%25/red?icon=codecov
+[cov-76c512834b-img]: https://badgen.net/badge/coverage/19.91%25/red?icon=codecov
[npm-0ee88d61eb-url]: https://www.npmjs.com/package/@tunnckocore/execa
[npm-0ee88d61eb-img]: https://badgen.net/npm/v/@tunnckocore/execa?icon=npm
[cov-0ee88d61eb-url]: https://www.npmjs.com/package/@tunnckocore/execa
@@ -114,6 +115,10 @@ Jest and Babel.
[npm-c7106a6fc9-img]: https://badgen.net/npm/v/@tunnckocore/jest-runner-eslint?icon=npm
[cov-c7106a6fc9-url]: https://www.npmjs.com/package/@tunnckocore/jest-runner-eslint
[cov-c7106a6fc9-img]: https://badgen.net/badge/coverage/7.79%25/red?icon=codecov
+[npm-1e25d483ed-url]: https://www.npmjs.com/package/@tunnckocore/package-json
+[npm-1e25d483ed-img]: https://badgen.net/npm/v/@tunnckocore/package-json?icon=npm
+[cov-1e25d483ed-url]: https://www.npmjs.com/package/@tunnckocore/package-json
+[cov-1e25d483ed-img]: https://badgen.net/badge/coverage/unknown/grey?icon=codecov
[npm-9c57de05d6-url]: https://www.npmjs.com/package/@tunnckocore/pretty-config
[npm-9c57de05d6-img]: https://badgen.net/npm/v/@tunnckocore/pretty-config?icon=npm
[cov-9c57de05d6-url]: https://www.npmjs.com/package/@tunnckocore/pretty-config
diff --git a/package.json b/package.json
index e34643c6..9b455612 100644
--- a/package.json
+++ b/package.json
@@ -89,6 +89,7 @@
"@tunnckocore/pretty-config"
],
"bundle": [
+ "@tunnckocore/package-json",
"arr-includes",
"gitclone-defaults",
"stringify-github-short-url",
@@ -178,6 +179,10 @@
"value": 7.79,
"color": "red"
},
+ "@tunnckocore/package-json": {
+ "value": 76.73,
+ "color": "EEAA22"
+ },
"@tunnckocore/pretty-config": {
"value": 6.25,
"color": "red"
diff --git a/yarn.lock b/yarn.lock
index b9ad66a9..a0228977 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10238,11 +10238,24 @@ ky-universal@^0.3.0:
abort-controller "^3.0.0"
node-fetch "^2.6.0"
+ky-universal@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/ky-universal/-/ky-universal-0.5.0.tgz#16d5fe881fb98e54732a4f0b7d531d44cbf701cb"
+ integrity sha512-O+0wjCua5i45lYBZrBy8TyRDRVodtsmzVC/MlE5FN7ZMFu/Icz7ekbZ85sdFw0F/JwGhXZTaKjXq9IgUGwGedQ==
+ dependencies:
+ abort-controller "^3.0.0"
+ node-fetch "^2.6.0"
+
ky@^0.16.2:
version "0.16.2"
resolved "https://registry.yarnpkg.com/ky/-/ky-0.16.2.tgz#e3652262ab659b27780dd025d1524e40572034a8"
integrity sha512-4/Xcb0hqeueNX9sa+G2jREiam9yb+I2Y3p3J42lIeitAenHXUZwpyejEgeQcQsaGl+hbuA0s7c3u+nlcIYFtog==
+ky@^0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/ky/-/ky-0.18.0.tgz#23b46f14c76b646da434b2a34a934b69e8317144"
+ integrity sha512-B/Gjri1BAQa1+P7jjj2FYTWIbiYwDDozNvQOv8HUq24cD+a3D3tANxLjnISrrKeiG3B2N3aVE6z9hV+o1n5JGg==
+
latest-version@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"