{"_id":"@aaronmaturen/monofun-anchor","_rev":"11-5a9e78f9a05215cccc448f7eabc492fc","name":"@aaronmaturen/monofun-anchor","dist-tags":{"next":"0.5.5-alpha.0","latest":"0.5.5"},"versions":{"0.5.0-alpha.0":{"version":"0.5.0-alpha.0","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"ee5cf13a160b2d68e48cf28f06c3541804da7ed3","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.0-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-VoxTJ4/Ndxzh9zRXn3tHNDvXNykUIgGFcDAgpjgzLMjydVkOVFR/9dviXFXC52sb9UlA0rG00J6NkORV0TW1bw==","shasum":"285b21181195c3a56ca7646522990bd53f696cea","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.0-alpha.0.tgz","fileCount":5,"unpackedSize":11142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf23hhCRA9TVsSAnZWagAACzgP/22gn1gV8UJzbsRhYOMT\nVc9VKeUGeuud2td5uq95hEfs0dHm4x0C5ZnBHyPSm8vTeOEXKiY90VmsK4vz\nnBxLv8kE3bSJKMI9S/FDfidUoRSy7Vr7qB0Mww4c4A610WoeUzdB+aq0UzCq\n3RSuwL4QoUL3+pOLpI3aHoUKuanusrVzYkNdMiiGfsdBnUMlL2uFKLXrXIwA\nIo2zlf5cAarX0TMhkLF2TET8zDWkDEZO4djJEfLmggTWmigqMH8YIZKLqYOA\nt6A9HNvYEwukKIm8aU6/ilDL2Bw7zxZgXn9tSfDrOSgll5Yt5asMWj6ddyWJ\nJ5I0m12MTjlHKc2l+EQVoI5PoCuaj0oR4DRxfDBn3fgamJF4hk4oL+qVB3ic\nEhPvomQU8Eq+Rn9NVzakO057YEQr0ehnuNGeKPxwW0UcFSJlQ9Pfx9wlpyqc\nbwgjFMKg6bhhG0hcj2U8SuAR2WcNGE+KftfTw0ZdUG/JciyMMLFVMBEUvnn/\nZI7Z1mkjoNBElnAwf8G0KB483k6Auh7azoRO3nX6KWGrm4iSNXWgg7HmpJtk\ntuoqFPASVem8MZhfzMnYj534KGA8Qci8RMKrXoaqog6diHtb3s9H4hRkxDCM\nqvXouKyeXsF4Ljk/jqAe94vYSjfjpmTQBE5Ze3d8nIUPaXNuVAOOI+kQt51i\nT7A3\r\n=hgMb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdWZA9xDQprlVTgeSByh/s0ZavaA5nPTzX0kceo1/RjAIhAKF2Gin9HPNk8arYfhV7uDWB2A6icmTy4nyCFCWrV+bb"}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.0-alpha.0_1608218721179_0.8054521061186299"},"_hasShrinkwrap":false},"0.5.0-alpha.1":{"version":"0.5.0-alpha.1","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"ca4dab3d737be7f0db79ad502b5312fd1eeed7d3","readme":"# TSDX React User Guide\n\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.\n\n> This TSDX setup is meant for developing React component libraries (not apps!) that can be published to NPM. If you’re looking to build a React-based app, you should use `create-react-app`, `razzle`, `nextjs`, `gatsby`, or `react-static`.\n\n> If you’re new to TypeScript and React, checkout [this handy cheatsheet](https://github.com/sw-yx/react-typescript-cheatsheet/)\n\n## Commands\n\nTSDX scaffolds your new library inside `/src`, and also sets up a [Parcel-based](https://parceljs.org) playground for it inside `/example`.\n\nThe recommended workflow is to run TSDX in one terminal:\n\n```bash\nnpm start # or yarn start\n```\n\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\n\nThen run the example inside another:\n\n```bash\ncd example\nnpm i # or yarn to install dependencies\nnpm start # or yarn start\n```\n\nThe default example imports and live reloads whatever is in `/dist`, so if you are seeing an out of date component, make sure TSDX is running in watch mode like we recommend above. **No symlinking required**, we use [Parcel's aliasing](https://parceljs.org/module_resolution.html#aliases).\n\nTo do a one-off build, use `npm run build` or `yarn build`.\n\nTo run tests, use `npm test` or `yarn test`.\n\n## Configuration\n\nCode quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.\n\n### Jest\n\nJest tests are set up to run with `npm test` or `yarn test`.\n\n### Bundle analysis\n\nCalculates the real cost of your library using [size-limit](https://github.com/ai/size-limit) with `npm run size` and visulize it with `npm run analyze`.\n\n#### Setup Files\n\nThis is the folder structure we set up for you:\n\n```txt\n/example\n  index.html\n  index.tsx       # test your component here in a demo app\n  package.json\n  tsconfig.json\n/src\n  index.tsx       # EDIT THIS\n/test\n  blah.test.tsx   # EDIT THIS\n.gitignore\npackage.json\nREADME.md         # EDIT THIS\ntsconfig.json\n```\n\n#### React Testing Library\n\nWe do not set up `react-testing-library` for you yet, we welcome contributions and documentation on this.\n\n### Rollup\n\nTSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.\n\n### TypeScript\n\n`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.\n\n## Continuous Integration\n\n### GitHub Actions\n\nTwo actions are added by default:\n\n- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix\n- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)\n\n## Optimizations\n\nPlease see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:\n\n```js\n// ./types/index.d.ts\ndeclare var __DEV__: boolean;\n\n// inside your code...\nif (__DEV__) {\n  console.log('foo');\n}\n```\n\nYou can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.\n\n## Module Formats\n\nCJS, ESModules, and UMD module formats are supported.\n\nThe appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.\n\n## Deploying the Example Playground\n\nThe Playground is just a simple [Parcel](https://parceljs.org) app, you can deploy it anywhere you would normally deploy that. Here are some guidelines for **manually** deploying with the Netlify CLI (`npm i -g netlify-cli`):\n\n```bash\ncd example # if not already in the example folder\nnpm run build # builds to dist\nnetlify deploy # deploy the dist folder\n```\n\nAlternatively, if you already have a git repo connected, you can set up continuous deployment with Netlify:\n\n```bash\nnetlify init\n# build command: yarn build && cd example && yarn && yarn build\n# directory to deploy: example/dist\n# pick yes for netlify.toml\n```\n\n## Named Exports\n\nPer Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.\n\n## Including Styles\n\nThere are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.\n\nFor vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.\n\n## Publishing to NPM\n\nWe recommend using [np](https://github.com/sindresorhus/np).\n\n## Usage with Lerna\n\nWhen creating a new package with TSDX within a project set up with Lerna, you might encounter a `Cannot resolve dependency` error when trying to run the `example` project. To fix that you will need to make changes to the `package.json` file _inside the `example` directory_.\n\nThe problem is that due to the nature of how dependencies are installed in Lerna projects, the aliases in the example project's `package.json` might not point to the right place, as those dependencies might have been installed in the root of your Lerna project.\n\nChange the `alias` to point to where those packages are actually installed. This depends on the directory structure of your Lerna project, so the actual path might be different from the diff below.\n\n```diff\n   \"alias\": {\n-    \"react\": \"../node_modules/react\",\n-    \"react-dom\": \"../node_modules/react-dom\"\n+    \"react\": \"../../../node_modules/react\",\n+    \"react-dom\": \"../../../node_modules/react-dom\"\n   },\n```\n\nAn alternative to fixing this problem would be to remove aliases altogether and define the dependencies referenced as aliases as dev dependencies instead. [However, that might cause other problems.](https://github.com/palmerhq/tsdx/issues/64)\n","readmeFilename":"README.md","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.0-alpha.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-TB6vQqWNpdcipCnVS329jm74XDgicXoCGZMuVlVxTwhdh8+biDCox6y7PoIxYn23iMrL3Bz8pE1NmL6nZPQFKA==","shasum":"77fe8e3dd9d5b66db383a1b66b4eb844f0d93cde","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.0-alpha.1.tgz","fileCount":5,"unpackedSize":11362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24TCCRA9TVsSAnZWagAAexkP/i1dYTWDVn/Zqp3eZoxH\njFpsHMRJeLJrSF1wdXKHg1jY5BP1UHyXQGsF5jgCWoZJmAZHoOrH2Ou30Q8/\ndqZjPxgrFAEwY7cVVcusqMcBqkM30+gxbeTJafZEepTVnwRxKd8EWT0WFSWw\nn/Wqwg2iDq8n3aeAFQ/0h/IZ8pLkoLfzRE4MP0H0zJb9tQWOJVSDviPKGYpv\nara0MBK46lfbjgyBPTvtO3w5cMeVda98dhzHowl+mIDOdwFTtYDc+BZiXIF+\nxvLRudwvygM11spuwFp70UBOWEt+n/vgr9JjCYnB8jgGbHqMuxOWI/3vQJ3h\nYSjXVmvUgIRrqt/D1A5LnN/4amqyCTYoxpG9BCWENr6yZzk3rHTRTuA2tP95\nSf9OT0x5bAGxppK1gwbz7+Zbo1DDpnN1Xnv9bpMd0wPLJ5/5u/iRkJfWA1eh\n0xBJRQVaz7afkYkIlceJuHYJZk8GWIUmaIOMzgFcDRUImNI3K4W61GdnkcgM\neI5f8Ml3qSw2GV662/mvUNJRgmghB7zLOyBC1/ILbHZAXMblszmZWx700/yJ\n6wYOd14Aa8082dzT1hBLAdfsMFnOB2P0gFkgWy6XGm89NesQrtfjUd5cWF0s\nllDd4zsvEnTB0viZfQXrJ0505d21aZbDmKB/77EhMytXMK4g3vVJO01LMEbB\nAyAJ\r\n=XIhJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF32kopQEt9skIiS+NpaIvZ78yyDAjVxmLKelqu1bvRtAiAMqlyqvcTpURH7AvnMCctiF899YZ+pQe2CFDT6ZW5atA=="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.0-alpha.1_1608221862893_0.9604512646530226"},"_hasShrinkwrap":false},"0.5.0":{"version":"0.5.0","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"17dc00da9da37184d41cd2f5c853afe3c03a350d","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-IZlbGMI9YyuICNj4kJkbuLzbWvs7l+jzQCXp27ujVLLBXrKbeVq+ueFfac5ThnX7BbMybKLi4zK1uxEj13frLg==","shasum":"38f3f9ea883f6d7ae5fd556804b9a1de3fa6d1fe","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.0.tgz","fileCount":5,"unpackedSize":11451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24lDCRA9TVsSAnZWagAACKUQAKH/UlPE5JMJg+9EtZYc\nnUpsGQdSA2sjzB2yLUWa0xZBAgSP62YS6sVUGp9REdgteJwCMi+3Q8m80hjK\nqjF4H48Fj3Ge6g8bcOiqGiTErxm2CrP9mlNAzH+OKErnsg3ndLxLKo64xhj0\nR+DwRkFr9McOvcSVRrdNaXz/EKqJfarS3uG/V55F3+EcKieiaB7auOTWd9ID\nOO4WPNdO+d2dxZ2fz1cyVo36wjA+n4Z7GtGkqmdYalglm8x4eKrTyO9MEtR2\nZIxMXPOd636d8A6Kpjm0kxAXY2rwS62QLroR6CqJMYp3mDOl8xDEKSCTAx+c\nTsPgVLaYIUYu3/OjX/bVUOuDe4jwCuoFEujl/zoj9N8b4vBQupeQZHn+yk2a\nhUJ7mIuQDe4Q+4jtXiGKO1k82lC8P0ZTgs05WmI0zyXlslnvZZzdB8+vwGHI\na2/VR2vbQtlxRIPLxbm8plpRRC1cMk6iLtuPxrUWZax1yqOGNPLeQNE5+xJY\n+uWx1v9FNp0B2ydJ7S3fZxjOUZWmhnifdOtRYsqzSEbnWeYn0oSDWNqHjf+6\ntVqtfM2gDgNy1YtBqPy0U3pTSqBXersNVVHg8PHGQDxQP+fDmDA3UTnxxOx2\nheaOUADftSxDM3SlFAD4OeVpYmP4xbPz9pmesKDpAmtzih9i1eeW+VQ4o+gK\nDDYj\r\n=zIbr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDr3VEptcpk6T7kuF5ziQPR2v0pDBctv4IxF1Ebf+wcxAiBdNB7bFxQDkBDuLKxtQHDaUwUZvxZYXX6mQt9wsD770g=="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.0_1608223043343_0.9806194652975202"},"_hasShrinkwrap":false},"0.5.1-alpha.0":{"version":"0.5.1-alpha.0","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"70bf6dde6aa0832b31035c13257ad049f071ad19","readme":"# TSDX React User Guide\n\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.\n\n> This TSDX setup is meant for developing React component libraries (not apps!) that can be published to NPM. If you’re looking to build a React-based app, you should use `create-react-app`, `razzle`, `nextjs`, `gatsby`, or `react-static`.\n\n> If you’re new to TypeScript and React, checkout [this handy cheatsheet](https://github.com/sw-yx/react-typescript-cheatsheet/)\n\n## Commands\n\nTSDX scaffolds your new library inside `/src`, and also sets up a [Parcel-based](https://parceljs.org) playground for it inside `/example`.\n\nThe recommended workflow is to run TSDX in one terminal:\n\n```bash\nnpm start # or yarn start\n```\n\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\n\nThen run the example inside another:\n\n```bash\ncd example\nnpm i # or yarn to install dependencies\nnpm start # or yarn start\n```\n\nThe default example imports and live reloads whatever is in `/dist`, so if you are seeing an out of date component, make sure TSDX is running in watch mode like we recommend above. **No symlinking required**, we use [Parcel's aliasing](https://parceljs.org/module_resolution.html#aliases).\n\nTo do a one-off build, use `npm run build` or `yarn build`.\n\nTo run tests, use `npm test` or `yarn test`.\n\n## Configuration\n\nCode quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.\n\n### Jest\n\nJest tests are set up to run with `npm test` or `yarn test`.\n\n### Bundle analysis\n\nCalculates the real cost of your library using [size-limit](https://github.com/ai/size-limit) with `npm run size` and visulize it with `npm run analyze`.\n\n#### Setup Files\n\nThis is the folder structure we set up for you:\n\n```txt\n/example\n  index.html\n  index.tsx       # test your component here in a demo app\n  package.json\n  tsconfig.json\n/src\n  index.tsx       # EDIT THIS\n/test\n  blah.test.tsx   # EDIT THIS\n.gitignore\npackage.json\nREADME.md         # EDIT THIS\ntsconfig.json\n```\n\n#### React Testing Library\n\nWe do not set up `react-testing-library` for you yet, we welcome contributions and documentation on this.\n\n### Rollup\n\nTSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.\n\n### TypeScript\n\n`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.\n\n## Continuous Integration\n\n### GitHub Actions\n\nTwo actions are added by default:\n\n- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix\n- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)\n\n## Optimizations\n\nPlease see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:\n\n```js\n// ./types/index.d.ts\ndeclare var __DEV__: boolean;\n\n// inside your code...\nif (__DEV__) {\n  console.log('foo');\n}\n```\n\nYou can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.\n\n## Module Formats\n\nCJS, ESModules, and UMD module formats are supported.\n\nThe appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.\n\n## Deploying the Example Playground\n\nThe Playground is just a simple [Parcel](https://parceljs.org) app, you can deploy it anywhere you would normally deploy that. Here are some guidelines for **manually** deploying with the Netlify CLI (`npm i -g netlify-cli`):\n\n```bash\ncd example # if not already in the example folder\nnpm run build # builds to dist\nnetlify deploy # deploy the dist folder\n```\n\nAlternatively, if you already have a git repo connected, you can set up continuous deployment with Netlify:\n\n```bash\nnetlify init\n# build command: yarn build && cd example && yarn && yarn build\n# directory to deploy: example/dist\n# pick yes for netlify.toml\n```\n\n## Named Exports\n\nPer Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.\n\n## Including Styles\n\nThere are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.\n\nFor vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.\n\n## Publishing to NPM\n\nWe recommend using [np](https://github.com/sindresorhus/np).\n\n## Usage with Lerna\n\nWhen creating a new package with TSDX within a project set up with Lerna, you might encounter a `Cannot resolve dependency` error when trying to run the `example` project. To fix that you will need to make changes to the `package.json` file _inside the `example` directory_.\n\nThe problem is that due to the nature of how dependencies are installed in Lerna projects, the aliases in the example project's `package.json` might not point to the right place, as those dependencies might have been installed in the root of your Lerna project.\n\nChange the `alias` to point to where those packages are actually installed. This depends on the directory structure of your Lerna project, so the actual path might be different from the diff below.\n\n```diff\n   \"alias\": {\n-    \"react\": \"../node_modules/react\",\n-    \"react-dom\": \"../node_modules/react-dom\"\n+    \"react\": \"../../../node_modules/react\",\n+    \"react-dom\": \"../../../node_modules/react-dom\"\n   },\n```\n\nAn alternative to fixing this problem would be to remove aliases altogether and define the dependencies referenced as aliases as dev dependencies instead. [However, that might cause other problems.](https://github.com/palmerhq/tsdx/issues/64)\n","readmeFilename":"README.md","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.1-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-Nvvr5mukoKHh9fIkuNUSQUOUNrg8TO1pg8f6hMsapmqb6rJvFs6ob51inu6tMYTiNDZ4io9NSycnpONgWWJJPA==","shasum":"b7cbf41708595cd305f3dea09fa6c3dab0436300","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.1-alpha.0.tgz","fileCount":5,"unpackedSize":11565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25BXCRA9TVsSAnZWagAAwNYP/A6+641UXuJ4yO+wt6F8\nWm3Pw5P3OfS7/0ePzX9scu8gpfqvkeNfhYV+hRC7HD+Qd8JTJjlfWHk1vHCC\nPXDm8Mx8aSXggTkGpsPZsnQ2ROYn+H0DM0UGF2hG9Cm6kP3ZpmWTyKsydmcZ\nVekSQjLbZhDKs8UMV7RVTJhEOt91erTvGQqRSb82n8L9U+9OATbGyefvFQWw\nC5OZIyjwlVKhLEGmQYi2ZO3s+t+6PplwMVGCVHfBPcGeSG5wrVs/HXIaBj47\nx4fPgYDC+E5pQpryZsg+C2Hc+spNS3J4M3L+Ap43ECFM4XUweHgpetojrzRW\nOrj6aWDNPHbHcdzvek35sXO9ypVMcIX84jA6TI/EjWP0aBMJZafoJKIqckiw\n//k5HtCkFcnts0mGXAlhY5gBMnG3t7rGvAqKF79VgygxMm1Kq6hO2dGwK/wP\nWbfyONnIq/P8a1SRt2GT9g0qBBYO56wt1ANmPrcTOSt66mGiTkoqmmMZrPy7\ngryd3aaqheJjbDrjpXWL0rxCmF2c4DOvCsPqdS0bTNE9TYbYoIvqJ2ZgbZuy\n5CKac0K4ffVlmjlGT6YDgR+j419SF3/8CCZf8FmyuTXpt5ClWinp78IhdOHy\nk/XaCSrbheLflN5qLbXkI9/cXpaH/3ibkggE4pTgBYSids6HrVs7l4q2/Shb\nfadq\r\n=uXWO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDk9Xk2DETI/Iz+hHlPUf+VtNzdZo7doEZCbgSL6tHfMAiEAm0g1sdibff660A8mSkbqyOHdP5M544RdcHr2YxxPnBo="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.1-alpha.0_1608224855424_0.6351386166082063"},"_hasShrinkwrap":false},"0.5.1":{"version":"0.5.1","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"4e3d7cb72e9fb0c6994cb31ceaa8190d4dbe9f65","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-KpK9Kze5Rq+YO+E27FAg8ek11d4s9XbAknfv9oOC8rLf2Q4w8RHZ0k1tbiXoyR3NpSCRxWrold1vQL6u89BLxA==","shasum":"e3288459f65869fcb79e34ae178ac907f8116280","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.1.tgz","fileCount":5,"unpackedSize":11655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25HBCRA9TVsSAnZWagAA+7IP/AgnH7K2+uHCqwv5Jw+f\nOEKPeHksxjTSwjYHFs3qz0y1yfnzMv5m112JrxDrp+B1g0uIKFkWXk+QLkZn\nXprOmGbs1q9gG2L8Sm6d41F/XNbHPBWNPdLOKXVvqEnZEluLWMzK6qKO/1yH\nz2YfpIa8exozW2MoNTJ28NfdLqhYYWXNhaNECD1YgB2sQfeSUMs9VkiAW8Nh\n5beIqkNnooULVKMoAfUycADkq8wNIF51RrYITVdJmTWYLJfDHs3vxKjd4B/j\nPut0U3GKZP1ACeFm9cBOIB4ttswSbTsQjIAb/Vrr+QehDa+kNi7TL+F9AO4V\nKwIlY5tnsZNbU0D8jRh8Llc1TeC8J2gM87J3m/bGvoQnQa85quQynwSesJhs\n1w6mfS5PsZD7A5xRfQCPJ64pMzToPydXpnF6kk32SPA+wLnzke804uWc4LFV\n07vuT3GtTzEh+3nHlr2VnH81rd8eYWld+n0cFZAporLLYEWkQctlXHbmdqRU\n6MgzD3Quz8rQaH9pk7LbzOx2OyIm0RLA/F8Tak3qWhRoxMn/ACF7LdWZGtBi\n7U0LxdNAc7cSvf4wzpNKochaw3Xe1i6QCqjHVDBD8cGvO/WPskrnE4SwYooC\nmFVu6JMD+qVa5uspZQmQIx/qTjq/hhhQuc4rhDfs3aIln1S/zV5H4Z8pLHdb\nNQjF\r\n=gh9f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFEm3XeyeWHBfUQRONKU+5GkhXcgHNx/TdMDoRX6q9c5AiAXT1YNyPUOxwcdNHM+LUGPkC3MvxKsYy3deRniGE5r9g=="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.1_1608225217598_0.828555600472233"},"_hasShrinkwrap":false},"0.5.2-alpha.0":{"version":"0.5.2-alpha.0","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"3e173eec9649eae7b87ece8bc983acf66dca4e90","readme":"# TSDX React User Guide\n\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.\n\n> This TSDX setup is meant for developing React component libraries (not apps!) that can be published to NPM. If you’re looking to build a React-based app, you should use `create-react-app`, `razzle`, `nextjs`, `gatsby`, or `react-static`.\n\n> If you’re new to TypeScript and React, checkout [this handy cheatsheet](https://github.com/sw-yx/react-typescript-cheatsheet/)\n\n## Commands\n\nTSDX scaffolds your new library inside `/src`, and also sets up a [Parcel-based](https://parceljs.org) playground for it inside `/example`.\n\nThe recommended workflow is to run TSDX in one terminal:\n\n```bash\nnpm start # or yarn start\n```\n\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\n\nThen run the example inside another:\n\n```bash\ncd example\nnpm i # or yarn to install dependencies\nnpm start # or yarn start\n```\n\nThe default example imports and live reloads whatever is in `/dist`, so if you are seeing an out of date component, make sure TSDX is running in watch mode like we recommend above. **No symlinking required**, we use [Parcel's aliasing](https://parceljs.org/module_resolution.html#aliases).\n\nTo do a one-off build, use `npm run build` or `yarn build`.\n\nTo run tests, use `npm test` or `yarn test`.\n\n## Configuration\n\nCode quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.\n\n### Jest\n\nJest tests are set up to run with `npm test` or `yarn test`.\n\n### Bundle analysis\n\nCalculates the real cost of your library using [size-limit](https://github.com/ai/size-limit) with `npm run size` and visulize it with `npm run analyze`.\n\n#### Setup Files\n\nThis is the folder structure we set up for you:\n\n```txt\n/example\n  index.html\n  index.tsx       # test your component here in a demo app\n  package.json\n  tsconfig.json\n/src\n  index.tsx       # EDIT THIS\n/test\n  blah.test.tsx   # EDIT THIS\n.gitignore\npackage.json\nREADME.md         # EDIT THIS\ntsconfig.json\n```\n\n#### React Testing Library\n\nWe do not set up `react-testing-library` for you yet, we welcome contributions and documentation on this.\n\n### Rollup\n\nTSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.\n\n### TypeScript\n\n`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.\n\n## Continuous Integration\n\n### GitHub Actions\n\nTwo actions are added by default:\n\n- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix\n- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)\n\n## Optimizations\n\nPlease see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:\n\n```js\n// ./types/index.d.ts\ndeclare var __DEV__: boolean;\n\n// inside your code...\nif (__DEV__) {\n  console.log('foo');\n}\n```\n\nYou can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.\n\n## Module Formats\n\nCJS, ESModules, and UMD module formats are supported.\n\nThe appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.\n\n## Deploying the Example Playground\n\nThe Playground is just a simple [Parcel](https://parceljs.org) app, you can deploy it anywhere you would normally deploy that. Here are some guidelines for **manually** deploying with the Netlify CLI (`npm i -g netlify-cli`):\n\n```bash\ncd example # if not already in the example folder\nnpm run build # builds to dist\nnetlify deploy # deploy the dist folder\n```\n\nAlternatively, if you already have a git repo connected, you can set up continuous deployment with Netlify:\n\n```bash\nnetlify init\n# build command: yarn build && cd example && yarn && yarn build\n# directory to deploy: example/dist\n# pick yes for netlify.toml\n```\n\n## Named Exports\n\nPer Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.\n\n## Including Styles\n\nThere are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.\n\nFor vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.\n\n## Publishing to NPM\n\nWe recommend using [np](https://github.com/sindresorhus/np).\n\n## Usage with Lerna\n\nWhen creating a new package with TSDX within a project set up with Lerna, you might encounter a `Cannot resolve dependency` error when trying to run the `example` project. To fix that you will need to make changes to the `package.json` file _inside the `example` directory_.\n\nThe problem is that due to the nature of how dependencies are installed in Lerna projects, the aliases in the example project's `package.json` might not point to the right place, as those dependencies might have been installed in the root of your Lerna project.\n\nChange the `alias` to point to where those packages are actually installed. This depends on the directory structure of your Lerna project, so the actual path might be different from the diff below.\n\n```diff\n   \"alias\": {\n-    \"react\": \"../node_modules/react\",\n-    \"react-dom\": \"../node_modules/react-dom\"\n+    \"react\": \"../../../node_modules/react\",\n+    \"react-dom\": \"../../../node_modules/react-dom\"\n   },\n```\n\nAn alternative to fixing this problem would be to remove aliases altogether and define the dependencies referenced as aliases as dev dependencies instead. [However, that might cause other problems.](https://github.com/palmerhq/tsdx/issues/64)\n","readmeFilename":"README.md","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.2-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-AOdW9vf9NIhpj4VPW43Qd/tFYEdyGLkHCFxt7ryvJDtznoyFoBwKET7NqCs1HSqGWVqE5Y+5Y03X6wKxBJzoZw==","shasum":"55494c180f6e4d187dc65a246a870b567e4c7919","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.2-alpha.0.tgz","fileCount":5,"unpackedSize":11769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25amCRA9TVsSAnZWagAAhGIP+QAT9qldUY+dcKcxtYwy\nIbW8piSLCOW82FOxKB7ZRMBwaY+q7ZNk0YOV7ZZUjth3d3qoccY3Yn8QTBmh\nn4sACi55tI3Eq73Y41rmlE4T0L3F+A5maobwwR0t3IFEpAJGgmXyQlip+OmE\nuwt4MiQdOk5ys6YGANzvumuYwTrY92723tTHtf8at+rndHyJ+X8QEw+fPtYN\neb1OJZzgN9w0Odssk4IPpgeKP85GmKwUYg16pImZDBpAFb2g7TX1MZwe4+5b\n/kbuGbCOdx/PircsbZMai9SnvzI1gJZY6tI1xVJGeNfM9FQTVwqFhNraQAX9\nCLopCt/LFWDM1q8X/EP/NUVN8WS4nIA+4DHOULOAQA0H8IsZlIWCcvkkIxAp\nTfJU3ziQv5YKlF/xb+stTKq2IqmvPnLwfsXiaP/Jqp4txcGQ1Bry8jiTYLBk\nDVOtvC9W6HxP+JzBF0k3tn+yrbrXcAdePrG77sAD2xjUpe1DcwGvD8SVZ8Jy\nsMo4vwh2nNr4dbZ5Kvq8pViXcIhkN0u+X2oDC/LKDNDlOwwPVxPdGuMFjofc\nv7RY6f8a4Y6A8LCRIvYTPien0SUEy6IpWKBR+Lz4gIj8iPMU8ONhGD/Rd9Ay\nwlqxyhP3ksht4fYfH8Bgr46VAToOJfntFCwp7sKpFQ3Kp/qjz0V1Fo1ljUzz\n2vG/\r\n=K5v8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWB0JgF4xiQ721RdBi9WIb7/Hniv5l3Dl9SXKFjbgnSAiEAlnrj4XS2nDRYkaq4LrN4/TdP+YZDI6g5DKN+DXsNO6A="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.2-alpha.0_1608226469939_0.35501778588429067"},"_hasShrinkwrap":false},"0.5.2":{"version":"0.5.2","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"47b67fa1f024915bb8702d4153761d78d024a23f","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.2","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-bShjlVIjI1sT+honHwJphstTCcYL8bTvs37j6bOj3JFkcScW6vhCl5Z0QLpucxwvYCFR0ciaRn2n0GLD5Aj1LQ==","shasum":"91b6139b9dde192bffb06bd90fb8b2bb07301218","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.2.tgz","fileCount":5,"unpackedSize":11859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25eICRA9TVsSAnZWagAAhvMP/0pFp4RM260uDPK0WYoF\n0gLef9kus6H3mFCtY0HGcqEnJNJCBtkB2UeytSAeHMH0tqxlkRLCXttjCx8d\nwZQyGmxuhpgH8UhnfglBxQIcl9dIRObFHl5ELEDCaXQKIhpdnguTwqcOJpvY\nqAdvGGuWdq+t2Y9AmKqXJ/N6JOZpxCPENcyeUZ6Idcv+DwKTra/1aOgde/yu\n113ux0v0BZzGPEPh/7hwcDPaPUXYLhDJmESjjrvT1zymbgInihvzI3kNcF0x\ncBjRgF9xDPcr4V8tRp5pAGJUY1SstYcEPosgjcCKy4Ofe5nL4vKqwSWDXnkp\nNkrNEjc7WGCca9JCELFHsUf/qGRnYvhPGHTmce2ZXWGSyP+sxbCBGSJ0s/P/\n1UlHRv2j7qZ/ac1rzOysxjBnOEkxSTCtIFQzZOF9kZ6avVHdVJjsKB2aVrv6\nO1JzDw48pn0yu34Jkyt4QYRl54PV2Uuh4kHNf58sixh/L0WS0LYQaS4n/fci\n/BD6fxnc4YeYBvJq7+7417zosDnUKFpuSedJMrx5u7dgSn9xOGDAVP1OFgnk\n512+0c1ym+AWr6yIa4X2vsUdolUxun1P6nAMxLg18IeSomIPLRRS7HTJ1EVN\nOZ62HAaZmf24G5hvud1hjkiR2063f67jyaTHQ9Plp2/qpl7VwEPdg8C2qoLs\nOYE3\r\n=UFjS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID/tAXMWxU2VJBeqhWAjShUGynzEmrifQoJAh5srxysoAiAnu25Pwq0BHAQINyMobkmt2I0hBLqpN7L6U9Btka0xRA=="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.2_1608226696374_0.49544471775946564"},"_hasShrinkwrap":false},"0.5.3":{"version":"0.5.3","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"494987dba952bc722975d51fc58fa4a1898fd2db","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.3","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-HbAhq1PE1T4k2yhpRQrbvaBK8sgAnO4+8FhJDeMTx+vxhm/PQFrONpyGSAeJBSuDLLTHFoFk0xtv0aVHSdUgxA==","shasum":"d09d91100a9fe87c0ab948eb0a54f1b491b2d892","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.3.tgz","fileCount":15,"unpackedSize":14747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iSHCRA9TVsSAnZWagAAeJIP/1M4pyWJeVEYWifttBI9\n5tBCrculQxstit1qJ0DyInXzksplJ/50WurYdq06zxKRS28HYh91EQ600DQM\nIx7MWTLQ25N8LGIw8pAUDJcn9wms9ULoAf6eUcPBzHANbFgAqdc0KnAhSh76\nrAIg5CIw040YCHwZdv466yPlHBmlM1xzYThlEumMJIgTJL8qTRDrC956DE8k\nGQkaKM5RIZehswGfmdsPNZ8K9QZIExMgfGyPV156D0ffS9AnMsvnz6X+AXSe\ngncevN4I2jndf9aO/64DHm8de/IkNeF5fgjeBSjXDeiglAy8iyOttypkkjVj\nh1cMCw+el7cnFhswVVedwRVyojLYAO8OBH7P8T12cqrY31F6HPrUphhecG2t\nctgBOoG+di614mci+HHZDtTErB6eykUUF2fbDt5+Hjw9qjUMeriqc76qOsxk\n2XiobnZ2tqO9KlrkzQi4U9ryk75fCePhajqFEkkIlU7+XwogdrM+HkIFQ9y8\n/FrmMojTfMciQZV8H+339ayxJ4MTPa0mFyKueLJ3DFH8p///AGBhN4pUKyhb\ncbDSDH4P58EXBefRoiJZG9TDPQCem6f8wDvdqPK3SmRgfA93zwVDouAa1Wt+\nsQBakKUSt1PHohV+Ob7cSUU0+R/u2nmeG+h/SLukxX0WHPBcFNc5vSxR5+dK\n4xla\r\n=0DM1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtcqy9DE5TNdVjM17yL6kQ4xphjfmLJtRSzTI0PrkiWgIgBUsr8bVXICn1yJBFvgd/V4/Mw0pLW79XYsF3kkPscSc="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.3_1609180294984_0.8769772471378603"},"_hasShrinkwrap":false},"0.5.4":{"version":"0.5.4","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"52a1e6e4b7883c5dd24059bf99e9104874a3e88c","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.4","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-Q2aUySBsAIxRGPn3MtHwjBvMzEuYpcNQiNn8ctyltAHk/3XjMw1Z4o2pGVrAgMYqSXxbhfdYc9e7M8KGECrvfw==","shasum":"76335c2996cdbb60afe1676dc1f6fdfa97b02078","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.4.tgz","fileCount":15,"unpackedSize":14968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iURCRA9TVsSAnZWagAAZK4P/1WB0FZHqlELkqnPVtEk\nF5gzx9/T4myoDUkcobo99J6sylQMYDuvETvWynh8GfM7f2POVnfDku0ODKBn\nrRCsBSV2e439pjkhrSbBuSWtO/o1+FtJMicRHt0T5vorMtVfn9huAHhN8pk7\n12xD+eEfqsMLgtvpSTkWPdST7VdyhwnbbEoJX5m+TA033iYc+/q64vp/ugUy\njlpSMPthhVmwf4eOagm8jPH0ApbiFlcIz1UR9yDqHVoz4XQt+RFgD1jJZ6r9\nhqGRMddsdlRwwqvuTpKavYB9AQ1ydkL2TTNQjdWncWUq8zupyWLgXcxSJImR\nd1e0BIYRHg4votvqV8TLTEd2Z/TLZvY+WPR+qG2MDn62HalsBnsNmMSDWS0u\nmIl0dEA2/ysisqhtoxElr30vczdxnZlYXmPMmkEaN2gkACpH89lnXmcc+U89\nXGRSob5/OW1Le2ioEcJpWP2ODjEwYn7aGuprHplNNSlMUrNhgbHat0b9Pl0W\nIXbWvbirBzz4h6ytkH8N/IDr/pL7971Jt+t3+i9UI5Y7JrCZrEOZKwTagcbc\n6P4w6JnCPqtW6oc3ZZFEH9SZtPQZALMZh5IQ+nB4vR8j5hfcfUXiI7YePtK1\n8nBc79U3zlWolHSsoruZIGY6OttD3Ef/IEUk1KefeFG9Ke7MtQp31FRAMfkK\nYp2E\r\n=P1Gf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuazGTUodH1QXYDBPzRGpl1jKCG3Y2HnzG6BYoBFIJ5AIgFjOh/R9O0fXBUWI3ca3fkU+LEJ6IVMegaOUu8mtIG1U="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.4_1609180432887_0.23656496732330967"},"_hasShrinkwrap":false},"0.5.5-alpha.0":{"version":"0.5.5-alpha.0","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"2392e0cf11680de9b73499886c54bfc6df97cba6","readme":"# TSDX React User Guide\n\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.\n\n> This TSDX setup is meant for developing React component libraries (not apps!) that can be published to NPM. If you’re looking to build a React-based app, you should use `create-react-app`, `razzle`, `nextjs`, `gatsby`, or `react-static`.\n\n> If you’re new to TypeScript and React, checkout [this handy cheatsheet](https://github.com/sw-yx/react-typescript-cheatsheet/)\n\n## Commands\n\nTSDX scaffolds your new library inside `/src`, and also sets up a [Parcel-based](https://parceljs.org) playground for it inside `/example`.\n\nThe recommended workflow is to run TSDX in one terminal:\n\n```bash\nnpm start # or yarn start\n```\n\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\n\nThen run the example inside another:\n\n```bash\ncd example\nnpm i # or yarn to install dependencies\nnpm start # or yarn start\n```\n\nThe default example imports and live reloads whatever is in `/dist`, so if you are seeing an out of date component, make sure TSDX is running in watch mode like we recommend above. **No symlinking required**, we use [Parcel's aliasing](https://parceljs.org/module_resolution.html#aliases).\n\nTo do a one-off build, use `npm run build` or `yarn build`.\n\nTo run tests, use `npm test` or `yarn test`.\n\n## Configuration\n\nCode quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.\n\n### Jest\n\nJest tests are set up to run with `npm test` or `yarn test`.\n\n### Bundle analysis\n\nCalculates the real cost of your library using [size-limit](https://github.com/ai/size-limit) with `npm run size` and visulize it with `npm run analyze`.\n\n#### Setup Files\n\nThis is the folder structure we set up for you:\n\n```txt\n/example\n  index.html\n  index.tsx       # test your component here in a demo app\n  package.json\n  tsconfig.json\n/src\n  index.tsx       # EDIT THIS\n/test\n  blah.test.tsx   # EDIT THIS\n.gitignore\npackage.json\nREADME.md         # EDIT THIS\ntsconfig.json\n```\n\n#### React Testing Library\n\nWe do not set up `react-testing-library` for you yet, we welcome contributions and documentation on this.\n\n### Rollup\n\nTSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.\n\n### TypeScript\n\n`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.\n\n## Continuous Integration\n\n### GitHub Actions\n\nTwo actions are added by default:\n\n- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix\n- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)\n\n## Optimizations\n\nPlease see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:\n\n```js\n// ./types/index.d.ts\ndeclare var __DEV__: boolean;\n\n// inside your code...\nif (__DEV__) {\n  console.log('foo');\n}\n```\n\nYou can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.\n\n## Module Formats\n\nCJS, ESModules, and UMD module formats are supported.\n\nThe appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.\n\n## Deploying the Example Playground\n\nThe Playground is just a simple [Parcel](https://parceljs.org) app, you can deploy it anywhere you would normally deploy that. Here are some guidelines for **manually** deploying with the Netlify CLI (`npm i -g netlify-cli`):\n\n```bash\ncd example # if not already in the example folder\nnpm run build # builds to dist\nnetlify deploy # deploy the dist folder\n```\n\nAlternatively, if you already have a git repo connected, you can set up continuous deployment with Netlify:\n\n```bash\nnetlify init\n# build command: yarn build && cd example && yarn && yarn build\n# directory to deploy: example/dist\n# pick yes for netlify.toml\n```\n\n## Named Exports\n\nPer Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.\n\n## Including Styles\n\nThere are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.\n\nFor vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.\n\n## Publishing to NPM\n\nWe recommend using [np](https://github.com/sindresorhus/np).\n\n## Usage with Lerna\n\nWhen creating a new package with TSDX within a project set up with Lerna, you might encounter a `Cannot resolve dependency` error when trying to run the `example` project. To fix that you will need to make changes to the `package.json` file _inside the `example` directory_.\n\nThe problem is that due to the nature of how dependencies are installed in Lerna projects, the aliases in the example project's `package.json` might not point to the right place, as those dependencies might have been installed in the root of your Lerna project.\n\nChange the `alias` to point to where those packages are actually installed. This depends on the directory structure of your Lerna project, so the actual path might be different from the diff below.\n\n```diff\n   \"alias\": {\n-    \"react\": \"../node_modules/react\",\n-    \"react-dom\": \"../node_modules/react-dom\"\n+    \"react\": \"../../../node_modules/react\",\n+    \"react-dom\": \"../../../node_modules/react-dom\"\n   },\n```\n\nAn alternative to fixing this problem would be to remove aliases altogether and define the dependencies referenced as aliases as dev dependencies instead. [However, that might cause other problems.](https://github.com/palmerhq/tsdx/issues/64)\n","readmeFilename":"README.md","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.5-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-mQ7nfdB9KGotyn7h9suYEtHqdE+dhtC2FDCK+klPDFMJ0osoGfMzFSROqPsStyEmzBms2FVcxyK9SYv5luSWpQ==","shasum":"de33e68b5ab22608fe0934df9ce8d276a19a3854","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.5-alpha.0.tgz","fileCount":15,"unpackedSize":15173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iyeCRA9TVsSAnZWagAAVEUQAJIZ7k+d6vTPhQ7gAMD6\nZHwhTBCFqROKnxERCMgIKV62/WVX4yhmdpVuOZV9pEjqvX6O8/TeketByw5j\nt3Veiyabz8lRw4aBgcOCCSKC2/twBklXvUUlZpGWDH3YibSU12zBW/76/qHS\nsF7KXvUPduiFmMBQCF9lNbmsbpCPq6gi1ex2IXYPeodXmjNx5+bS+QwiZTjf\nZETPFiUOrjMvFkWNRWwtyKwhjsk7ykPG3NyYOUsDl6Smi6EmgY/pZETtT0eZ\nwjqFidtKbkALncZ1xnDHfjyCd3IyXF2C9E6Swlpkjh167fVFeJyPEtWtgAza\nB8+EiqW8HtJulN188mzpM81ks3qOXWSy1DRTiRCPfE2bla3rcaAmv3wRXRqo\nty6m1RtKXFmY45dFJjKQBGrACumNXqWXqJAygunxE/hTWptDw9423u+7juIj\n7dZE62hlrrRCWmOCoGNVKvA+wa06jczG7O8SBMNMNl+O+pqBl1lDo9GpfYbc\nydn/6BzlylDp0SQ/IOAD1H+Ssn42Ilf8VTnI+/UH8wgl6S8G5gFQXrAo910E\njITHHrNga4cikOHKdtEzkBMbApDznpDJ+gXGvaVYu9Bpe+1Q6Ba/nxIJmbXE\nlzDNvMxW76u9o1MLO2OFd5gUd9GGM+mipKwX2GuzgZQSzLH+0E3ICJB0/dgD\ncnKv\r\n=VJKp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwT9tAcWJhBCKBvkkjzodsyykto2RGULlgZfQQwjcI5QIga9xpZNiDaYQIB+TUE1OzPU11tM+WUdcjUt0bh4qW7SY="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.5-alpha.0_1609182366038_0.7054547903444066"},"_hasShrinkwrap":false},"0.5.5":{"version":"0.5.5","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"publishConfig":{"access":"public"},"scripts":{"start":"tsdx watch","build":"tsdx build","test":"tsdx test --passWithNoTests","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"peerDependencies":{"react":">=16"},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"es5"},"name":"@aaronmaturen/monofun-anchor","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-anchor.esm.js","size-limit":[{"path":"dist/monofun-anchor.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-anchor.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^4.9.0","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","husky":"^4.3.0","react":"^17.0.1","react-dom":"^17.0.1","size-limit":"^4.9.0","tsdx":"^0.14.1","tslib":"^2.0.3","typescript":"^4.1.2"},"gitHead":"6bbd03a17b62f6a1d9067883a87fc36fdc2eca1b","description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","_id":"@aaronmaturen/monofun-anchor@0.5.5","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-X+26M0woIl1O7ySqNsdULxGEiXxb1C3jb7swjXuFemnvf8SJoXXgmghkSlLP9cpYoyQtu6nADAk6CwTFgggUug==","shasum":"115e6b1a8b7049bde15beece36341b23e634b092","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-anchor/-/monofun-anchor-0.5.5.tgz","fileCount":15,"unpackedSize":15263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6i2zCRA9TVsSAnZWagAAEcIQAJYZCwjs0YqO242d8qYg\nkrLJ9iyFefKESNaKt1ZPXVBulmd9uyFkF6hk7SrCvU1egcaiFdlyjj47avpA\nyzq6tdsSSgDrzNCo4bh9+IVU2xiTB7LfJaT2d9bwYks481zH46K6fVJKFIkG\nNPqaLawwpNT2UnPxVQWkfywiIRiASc+YWSJ+OlNddRkbxLCjkbP6JJXDq5G4\naPpXUMRTivmXCKY8sgw4FL2zfYdFQfQZ3NaaCTac1U5B91FgkAIXGsBrARcA\n90YfO2AZmXvYdNcjf+nSM03wqrKwKLFVb9/5BbJKK9dKlOuwsYU8AJx1uFck\nsjh4qlZTxMb4ITVGUP9+sG2h+/E4XtPg9sfLOKjkebeFFfJI9HiPp0qh5bXJ\nIeblTcb9mctTfeU7AJHgngScBd8auOGN2bRdjM7Yx9SnOZx1xMm3Drxmo+R8\nn2BMBxyLWfzSs+6O9gYnXNJkJxOi+5bDph5v4kL5HUpxcQaDZUZ7FPZt6ICq\n6zRAS4VC3fC5WXQM157AMT/zE4iteWp7otuzg4o88JZjReW9wFQL0uw9m4LP\nSA0KpeaDBXVcsSa5OT8W/MXNzj/hebIZfZZ0trzNNEdc91yrBPaHUpvyifiE\nAwCmA01vnJp6JCsaRcUpXFbtviej9/Oirqii8dT3RxGXKHx5sbUDjzhJwBFV\nzRxK\r\n=3+Po\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCs+lyBFJwwXrkqM3iD8TMfJO/lzqq697d0FrhTD5cOfAIgKpVYYqZ/z1q+Vzn28XaNn6TcAw4uKyaS2BkA4zkOvsw="}]},"_npmUser":{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"},"directories":{},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/monofun-anchor_0.5.5_1609182642711_0.1720472905660042"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-17T15:25:21.117Z","0.5.0-alpha.0":"2020-12-17T15:25:21.311Z","modified":"2022-04-04T10:55:43.107Z","0.5.0-alpha.1":"2020-12-17T16:17:50.453Z","0.5.0":"2020-12-17T16:37:23.489Z","0.5.1-alpha.0":"2020-12-17T17:07:35.579Z","0.5.1":"2020-12-17T17:13:37.698Z","0.5.2-alpha.0":"2020-12-17T17:34:30.050Z","0.5.2":"2020-12-17T17:38:16.491Z","0.5.3":"2020-12-28T18:31:35.138Z","0.5.4":"2020-12-28T18:33:53.110Z","0.5.5-alpha.0":"2020-12-28T19:06:06.213Z","0.5.5":"2020-12-28T19:10:43.039Z"},"maintainers":[{"name":"aaronmaturen","email":"aaron.maturen@gmail.com"}],"description":"Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.","author":{"name":"Maturen, Aaron T."},"license":"MIT","readme":"# TSDX React User Guide\n\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.\n\n> This TSDX setup is meant for developing React component libraries (not apps!) that can be published to NPM. If you’re looking to build a React-based app, you should use `create-react-app`, `razzle`, `nextjs`, `gatsby`, or `react-static`.\n\n> If you’re new to TypeScript and React, checkout [this handy cheatsheet](https://github.com/sw-yx/react-typescript-cheatsheet/)\n\n## Commands\n\nTSDX scaffolds your new library inside `/src`, and also sets up a [Parcel-based](https://parceljs.org) playground for it inside `/example`.\n\nThe recommended workflow is to run TSDX in one terminal:\n\n```bash\nnpm start # or yarn start\n```\n\nThis builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.\n\nThen run the example inside another:\n\n```bash\ncd example\nnpm i # or yarn to install dependencies\nnpm start # or yarn start\n```\n\nThe default example imports and live reloads whatever is in `/dist`, so if you are seeing an out of date component, make sure TSDX is running in watch mode like we recommend above. **No symlinking required**, we use [Parcel's aliasing](https://parceljs.org/module_resolution.html#aliases).\n\nTo do a one-off build, use `npm run build` or `yarn build`.\n\nTo run tests, use `npm test` or `yarn test`.\n\n## Configuration\n\nCode quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.\n\n### Jest\n\nJest tests are set up to run with `npm test` or `yarn test`.\n\n### Bundle analysis\n\nCalculates the real cost of your library using [size-limit](https://github.com/ai/size-limit) with `npm run size` and visulize it with `npm run analyze`.\n\n#### Setup Files\n\nThis is the folder structure we set up for you:\n\n```txt\n/example\n  index.html\n  index.tsx       # test your component here in a demo app\n  package.json\n  tsconfig.json\n/src\n  index.tsx       # EDIT THIS\n/test\n  blah.test.tsx   # EDIT THIS\n.gitignore\npackage.json\nREADME.md         # EDIT THIS\ntsconfig.json\n```\n\n#### React Testing Library\n\nWe do not set up `react-testing-library` for you yet, we welcome contributions and documentation on this.\n\n### Rollup\n\nTSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.\n\n### TypeScript\n\n`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.\n\n## Continuous Integration\n\n### GitHub Actions\n\nTwo actions are added by default:\n\n- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix\n- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)\n\n## Optimizations\n\nPlease see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:\n\n```js\n// ./types/index.d.ts\ndeclare var __DEV__: boolean;\n\n// inside your code...\nif (__DEV__) {\n  console.log('foo');\n}\n```\n\nYou can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.\n\n## Module Formats\n\nCJS, ESModules, and UMD module formats are supported.\n\nThe appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.\n\n## Deploying the Example Playground\n\nThe Playground is just a simple [Parcel](https://parceljs.org) app, you can deploy it anywhere you would normally deploy that. Here are some guidelines for **manually** deploying with the Netlify CLI (`npm i -g netlify-cli`):\n\n```bash\ncd example # if not already in the example folder\nnpm run build # builds to dist\nnetlify deploy # deploy the dist folder\n```\n\nAlternatively, if you already have a git repo connected, you can set up continuous deployment with Netlify:\n\n```bash\nnetlify init\n# build command: yarn build && cd example && yarn && yarn build\n# directory to deploy: example/dist\n# pick yes for netlify.toml\n```\n\n## Named Exports\n\nPer Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.\n\n## Including Styles\n\nThere are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.\n\nFor vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.\n\n## Publishing to NPM\n\nWe recommend using [np](https://github.com/sindresorhus/np).\n\n## Usage with Lerna\n\nWhen creating a new package with TSDX within a project set up with Lerna, you might encounter a `Cannot resolve dependency` error when trying to run the `example` project. To fix that you will need to make changes to the `package.json` file _inside the `example` directory_.\n\nThe problem is that due to the nature of how dependencies are installed in Lerna projects, the aliases in the example project's `package.json` might not point to the right place, as those dependencies might have been installed in the root of your Lerna project.\n\nChange the `alias` to point to where those packages are actually installed. This depends on the directory structure of your Lerna project, so the actual path might be different from the diff below.\n\n```diff\n   \"alias\": {\n-    \"react\": \"../node_modules/react\",\n-    \"react-dom\": \"../node_modules/react-dom\"\n+    \"react\": \"../../../node_modules/react\",\n+    \"react-dom\": \"../../../node_modules/react-dom\"\n   },\n```\n\nAn alternative to fixing this problem would be to remove aliases altogether and define the dependencies referenced as aliases as dev dependencies instead. [However, that might cause other problems.](https://github.com/palmerhq/tsdx/issues/64)\n","readmeFilename":"README.md"}