{"_id":"@aaronmaturen/monofun-paragraph","_rev":"13-07a8f6ac74fb4ab7c53d83c0e921f1df","name":"@aaronmaturen/monofun-paragraph","dist-tags":{"next":"0.5.5-alpha.0","latest":"0.5.5"},"versions":{"0.4.1-alpha.1":{"version":"0.4.1-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","prepare":"tsdx build","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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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":"e060e85933fe2e510d3507fa86b3496fea104544","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-paragraph@0.4.1-alpha.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-Oulmr1DiAB02VEMSakosQEt2vuK9SkcPlzQo6FFqmExSMgQZ2Ds7vgKvLkF6AJfYZnCGJfiaV7k6g6jFEqsDFQ==","shasum":"76bb5f8c50d93b2c4f8528a001d4075a8b7f7d6c","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.4.1-alpha.1.tgz","fileCount":13,"unpackedSize":14149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2qh8CRA9TVsSAnZWagAAnR0P/ipYIfpme/xhyESEPdQm\nKuzJ15mo5U/OakEmWucbWD8p9enPtpoNBFsA018O0qBJno3QEvGRcHRhGRJN\nwwp/AZ7ItbYfpVG85mfIS1B4mHzmQV8PfjlHO+c145qhP9fs4KeYFQR+Amfi\nmHDEP4r2IZOzMamy48cUTkOOy0O0koCO3NBq7L9rm9ajsS7tAQKaJnG9sRMd\noGGVqh/F8MpJ6oMn38DKPikhcfZvbujcOGfS0eML6KrpXbjq/zugFpj3THOi\nMf+6kSk9R4HbiuWiL8bVvZkb4KqposDWYMmKksjQwTsuqC3JF/QOiuv/16ie\n/P6FSKE54dFXwasoO/t3PKN92nW61fMu61xQNtUFSALppcgsUuk2lDbIzK4G\nzWip/5rHETTG7Ewg1Ieb+n8vuk4JceI3A7uAlAMUoSWzLj5Fl2LJCo3UV3Yj\n+HsU72mVTROlrr2oQnfzd9yvQ2i2SGcuc34A701+gxgyuVjhR8pczCCDmYsC\nFNKmpeT6OIwDi75bvgri4cREUVgrm9V0/sCSKhfjMWCPUa9U+Zp5ulKJTNHq\nIUTuSrbXjbNCfG3TZqn+S9dufL02SFdABtbQiwq8IVcMXKjBWyRuKTMj3QjL\n6yqQhSPtJj4cIpRiHn3R2gT2+7ClgS9NOSpWyghJ6fDrofVtQBvDgkoDPVYd\nNgUd\r\n=hf9+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFvP0hR9qy9+T1aV1YxNYMcOLCbm503IFU5tsK0Tq6acAiB7HUEwUH5w9VlvEuA7zm1mwOUkI7Waz6dBcDMTEoRxiA=="}]},"_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-paragraph_0.4.1-alpha.1_1608165500275_0.3371837939878437"},"_hasShrinkwrap":false},"0.4.1":{"version":"0.4.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","prepare":"tsdx build","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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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":"31a14d8c9b3de1a75147f31b9a5fcdec467e5498","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-paragraph@0.4.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-RNSClDiIpss0dbJq1TVFIoy2+gAtv7VMi1FJOknk4MRUQqFaUMmg/MyqYc4bf0qnJIj7CTHKJ39Ng8s49C+8JQ==","shasum":"4df13f9e16d5c383da397955a43fe037760bb239","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.4.1.tgz","fileCount":13,"unpackedSize":14242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2qoBCRA9TVsSAnZWagAA8zEQAJQeeH8FZ2c8tEACVn9e\n673fz2cGYaxj7AH0st+q3KUiGvtIqAhTEuJp1zeJBhqNrP+0l7R3SBxc9/Ls\nxE1yoIKAtn3ubiPNkAcsiTPjT/1TuDmHAxIRWMW0FiDwSVQlsf7ZERQ7R4EL\nbmPhgpvjtjABwzdEuzrUz0zALqbu4cI6Koot/3g+Yk9iYAhah7mgftESGQ3z\nBMi8NMqGu9TPkEgZWeo5FWKQD7R2Jgc2+Bew3nb8XJuDPEN7GBBXHSWBk1fs\ncvtkS+urxgVPQOMwBmPV8z68Um8xrrxM27+tPIQWtD2ZqkLSu7jWfoFcI4pn\nJppb7IuGjI12EIOiDXYRZe/Tl0pfZ5v1wQpbHeMYvbMuvbKSOxKoyACPOhwK\n0kGX1gpZbOPapqwNlU9sBPg9W7eUaxIUS1y+jaDG/PLX9DQhb4Vktl5JlgpB\nc8zBmylinwfa8RaTh9S8PHFyBzduEvpc0a3tcqLFd3AADw0OVOCEIfRlshk4\nqql+NzS2oGOoOp6lllVCCR6TZNOB1uYlCTPta4LWelhCrTuSkVIu6JUoD88d\ncqph5nvmI9Cr1+Y2Vse264VebGjKHdQrEV8BkDladiuBzsds7zdU5Ls0dwbH\nIkIYQFS0M/KIoKjEwfI/020i64niqcz76g3uOYjFmYlbfUCI0+3TG7DGbSVf\npUXo\r\n=CMtZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBogf+Fc7dmyWq9v6mh4kIQNhYT7O2bClEh4cmCUGHSgIhANi2yo50kkMZ/t/I2fuIBnN2H+UYjK42OhmxEgIeMd4a"}]},"_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-paragraph_0.4.1_1608165888855_0.477166724471066"},"_hasShrinkwrap":false},"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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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","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-paragraph@0.5.0-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-SXYK6CbLXyDzYp02wVAw/yEo1h8gE7E0Q7L788u9L2kcwvAAq1pQ62gX65HrS+rnUh/jrtrri1+hoRgqTR3yXg==","shasum":"286a486369476a864ce3fd395c1cea9c9ba7e359","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.0-alpha.0.tgz","fileCount":5,"unpackedSize":11278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf23hnCRA9TVsSAnZWagAAAu8P/RAl2Y1bwculbnlCyDaE\nEAtutAEDqr8POcUT++iP8f2bpopwNSuyVEaj9GK3M2J/ZAF20Q8QAFYcBdYs\n1XuwHFrpxIeImoqZjTkt78Vy4rjiwbpJI42ZY+ErlgS/kcOL8eZtNkKHQOIT\nbaCtylRGfOQLEx+JrsXLb5DBJFC7AYSRtZNdWOIzaqbJ7A4S+qIZWPbysBmK\nUgxzyhZpwNS8sO5/cw+BdgDdF+Bj+GamEvJrt8JJlqRwKzBu0xRy5zB3aT41\nIsJDknkTNapNUwVmN5u5dEfF00NwH5ZgKy/Tdfs8VBfjJqyVHtoeH2YSIhBl\n3arXYuiYpDgj0uDvaci5V7J5GLHV8lP0XrLv1rVxpRFLPFIMdiyWbGUx05+k\nz7/BN3xqAjrEuSWd+inOCT8n17YmJXvmy2IiASceQhN+v9Sbq4CBfTjKkrtn\nZWfXQR26l/UxFoSePx75Zq48/ZcCH7jKY4YXsXJf4rmpztGb57m0xqklJDJ0\n6BzTCoCukMYRTZa7Ar4opdOFnJoA/RrZesuYl92Wr78T9/FTcN4w2FLgSnDc\n3HSiwJrFza3aaXDtz32TXF9lnQniExcO3YgNf7ZiNDSWNzUcOjFucgnlt4AE\n+2XFg3Ygth1PMxnb4K/w4mXSyDx3bJ6j96N5d3nIL4FesEYMI5ITGB7fI7QT\neNDl\r\n=n7f/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAYofDuDTm333oPIA1wFl8r2RWv95R1XTjO/HneAKGBAiEAzDrVIvICaYnXjPwaqlGntSM0WMBQha0KwnDMOVJFQT8="}]},"_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-paragraph_0.5.0-alpha.0_1608218727303_0.23799108207346964"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.0-alpha.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-U2/wqPg/IcKqqbPK2svIoIlZjsraGPph0pq1fh3wH+gLrkY1lU9ZnOfnJ+zxAA8IqwFLm/UkBfcwRV2QjnLBYA==","shasum":"1f0d81546c96c1461fe6bc342d962ee8f7f76bdc","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.0-alpha.1.tgz","fileCount":5,"unpackedSize":11494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24TRCRA9TVsSAnZWagAA8UAP/iKDvr5/f1iMmp/sYtI8\nGPEkZsz4+7CJYh5mcisJlMvvjlKl5NOTTRa+OqAnK/YDTQew7pW8IfHJ30/B\nu3XkZVdgw1jc+lyUbwr5pKgeWSVkJ24pkaDD0wD/fvVvn86ZSYSY7zj5q6vL\naKWIgzB3sX88vEufllJQTfqP2f6D9MtmvEI3JZ0UCnmwEjIei6pAewMG0++9\nJ3PW2TkGQaDYEGZQdS6RLtrBS4Q0m6q/UNI+t9FK/b9ngPL7fOORxDDKxxs3\nH4NtNB+0yenuyUtbKo4Gc4ggjoM06+jAM+6AvFnNMEmO/s62XoYbrY1B3LHq\nIGHJv/y9Fmm76DncMdYEoZ2yZ8A6IUNaruksn1oE799zI37LJ952dHpCLcbN\nT1eLwPZEjFtBoKwP0ENR8ybL9hF/rPPVuISkMlImqDcVXM86eWfRGYF0mZFk\nxXgoATJdZsz4zRjsqvE0QXpoXRF62cNhqzcA4niEzL2c/9ptOX40JCzEV3O8\nL4a2ZiDFS5HzgagfkgoornBwkl0m1hJWUsmUJSIb5UCurqLCfVV19bthLYkt\nD45YE+m2z8gfwaDRKjoN/qiTOTvP8q3OYDD3Ko/G7Gf8CctVct32RQZuPADy\nwE9VpvcQeRhgegACdvDDUwn1I5RCAhT9oB2Z3cm6FG7LPDp3Zj6JtbsafPYA\n5bgb\r\n=4eAP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOBfoSiR4bBz54SHfWhKOFhoMPk3C7LSHv25bVzKsY3gIhAKrxne3Sf2hcGQ5rd1Hk+/JFrbzuZ5b2Wrup1x6V+9M7"}]},"_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-paragraph_0.5.0-alpha.1_1608221905264_0.2620141514161507"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-pRwTNWEvNl/a4Ea3mlf3WKsJHvEZWIt+Q0KlwRQUH6bwB8b2vn9KuMN2HSGWNjhVU2CyY5ESVONNFG8tEFpg9w==","shasum":"a0b1585fb4bc2050ca2eeacb6a3058b540d2a222","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.0.tgz","fileCount":5,"unpackedSize":11586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24lLCRA9TVsSAnZWagAAuT8P/REkEIWbjZ8dH6crljUs\nBVN8l2qDQNEs1l8+P2AVn9roginIjZhFBo+HTdz/dFxxGqCLhIbiF4QbuR+3\nkRUbvEuvc6xY/cE1xlhwujh/2KRdSon1tGMBIh2PDI5yqxL16WXmLNozs3uQ\n8i7PrYtf+GaAX9kbsF+pcFZH3H1EAOww5vPHPa9exIThBGq7uF1ly2o134Ob\nWxXNMN/i9UJKe0by9UYuHsuqfwRvunmdyf+NFShyMvbqz2oYJoT7sCT1NkHu\nh+YpWXP84gbCMybpc+QophfhJmaOhBATdMUApRMUIoTiUpIbs/RtkV5Qu1CR\nseixoQFpWSyLsN3jncBc1tpJmb/hRKJQ6PrDkG+OlJ5pKZxzbVUmBXdj/1gK\naYU3O6idzinO8MYFHC6BN5BHDJ29S0We2//ZYZARQJ4SntKHYPlmn22ymnDZ\n97BHdN2dy9arqQNNd8QR9vB2t0P+58G7jp3SQxl0Iw/CyI9W9gy2bqkzX2Nn\nho9hhoR8l92T+skaVUjaKCssc+f6mCHIsLWDvJ9OuUO/A+yWEEnD4buwe01u\nOESKcqXKF9GQLQYLHHc3/06ShTWkuV59n67iyYuy0eainJDOtXvcPb03OJnc\nzPhfofGnUTcaX5OxBbjuzvHZbjEm2XgSHf/A0yk8uhJSoO/CDk2dqRUmBp0y\nZ1dn\r\n=DbpY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBMy/J4aCoTdTCPfh1iA+m6LrvM5m29NNdg+iY1awy1cAiAQlnlSSXX82u2EpqmMS/RizviCdX/SN6PMjEjeSVS0SA=="}]},"_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-paragraph_0.5.0_1608223051135_0.30125439521789366"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.1-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-yA3jeDqQdXi2LB2C8iSO2HuSF6Gzk7th1SvmnKv7WgOHXWm7i8wEFdQpLOWiO4ssRd4MQs3u+a2IGBvSJ93NAQ==","shasum":"480490f47d4be2bfe5c388f89bf887c077b8eec4","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.1-alpha.0.tgz","fileCount":5,"unpackedSize":11703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25BhCRA9TVsSAnZWagAAdWcP/Rny2sUX6vXgtu1wpJKF\nokYDnIhr/it7WcAZUaa0sX0v9Z12qkBCxr8s6Eokc+8DvYz23MRKGH8QZh/z\nNmwVdkqRmnT1uu0Gf2eeIygvD3Ge2XGwEnEbZmeD0b3b7gS2myTmBI6Im7zL\nk9JLmee4Ja6uH5U1zDpKr+jvf3tXjbQhTMOHwNVod3kS+ULivM2foitCWWeF\nin7BKV2cyx+F+fmN7s1xbc79v2qgl02IAazpbGk/lyVx6V6qmVHL9eI2PHxf\nDB384LKVq8vcc8cGgFCP9XLbfuFiKV+56dquQgtHed5vKwsEcx4fb17Ecg87\nwm2NNpNM9Ax8CoCyorAKXCKcxYdSMECl/CF8COx7wHgKZDEenm9k0p8hqNSQ\n4BumU3niGAqwiUW15wgr4ivGG5Tbn2opC94aeiN+fDA1Jwa+mkUYPx/DDi1V\nSNOTiQ6w+GoHPR57TUxHVMz3c8v5ooY/5jkoYsJdAP77y4+RSg6SSM8kP2vz\nKg4H8F2lI8h89AQZYgSbmdThDJpCz+2BLkY295VKtcx30IqVco2LISHjUvqf\nhZxVzs7lmq9aiKPIQhHjT+1L6FyZcPeqAwna/cOfQEDV+VVX9hGov4Ngxj07\ncT36OW4WKIOopp2sMbbnlXMrmLYLsQwvgv5FShW+2RB5pkNnnr8yH0c3Uzlx\nZK5K\r\n=7f2C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIClyQhZGZG7tx+BV51xuN92fix6BVw0OYv7V39JI5cT0AiAdoeyDDU1wnXgdmaYIkEbuFlk8ra7Hup5Ez6bjIhsWCg=="}]},"_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-paragraph_0.5.1-alpha.0_1608224865521_0.6546805173408659"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-pyU6+oIDuxH0Q2X9vrHm5gFKJB8M1kvqQuiKiXNvuBIFd7CHAg5FMN55jqXtV/Ihja8AesHGetHBcuc6hDEA2A==","shasum":"93b8d48e7c3f8fcc2fca1e31ba27f108da62ab6d","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.1.tgz","fileCount":5,"unpackedSize":11796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25HMCRA9TVsSAnZWagAAa34P/01aTRerJslGHTyTO29x\nfA/Vgvp9SHmkcsCkgc3Gs2XcISzIImSjDPaWiCuIKpm08sKHn3B9jGNO3UVv\nm0saXjtyYmIiwNfMYy4km9BHwqWJ9P6tYmcLxy8oRFPcg49G+gK36kI6duDS\nti7V/U5p6V5MV4hVSCPNB7umPVgNPt/YdeRaOw7yXGjZEVb/l7OwZMQxyewf\nfCfNE0d7Zvp1Yp1x5U4mnnONq+gPz2JKliIhsNxPp76ioy9gDvZ5NVLXYxdD\nPwiNjfVib6eucWx3NiHiJYpfeOjoLGEb3l37DhvvIEWWUTvnIrGHSlxueLt6\nazyZdNv8J+I9ypIEO7qu26CxVVfsSceycLq2O8nC10qfOcKNzUfhkF7hByyM\ngJavewYXGBixF33+r2jScIkdF7aeqkesWQBls3lUdnnatI5N7stmGoWRqU6z\nvlMswL4EFQopZ6eo00sjTPfW9mR40Nmsu93puXCcZXnb+OMRvGe0OswVsB0g\n49YfWcC0+r88SeeKLS4jV0RvpcxVoggwV1sleiHOMr/UyBodNspdnN+h7Fq5\n3yUWEtHfg5KQw2UftQzuihgUyWdrfakBfmcfWxSqK2mbNvqvJ451cHabvk2c\nbEEfX+OlcIfmsMZWsxs1AeyE3Md9rlKFmObZdNv6Ustzm3YdXjEmdbookpFx\nMmCh\r\n=8LdC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCIG+n71TZSQjsx0IEerH44FcWuc9ti6GB6Wm3T+Qyy30TAh9AJluS9suFqSnEdm3dDrfg6N58O42zRSN0AIyKigQ3"}]},"_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-paragraph_0.5.1_1608225227537_0.43508037380128695"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.2-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-ypjKgyZcwRiSjDvwkth+ntMSNNkzo3xfmvegMOn+BliAqQ/WQOjjJavF++0D3f+aYaA5vCuxNf8XjqeBqtwF+w==","shasum":"552de54a606637f7e19c0f2cd3e182abd8a59ddf","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.2-alpha.0.tgz","fileCount":5,"unpackedSize":11913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25axCRA9TVsSAnZWagAA8lUP/2r3dAuJdKRDb3+JZV1R\nNPdbDLeGqsUwDIbD7cMfJyhoB0lq+lm4IqpdwXQC4hvp5eGXo20CJyX5PoBL\nDyFYJUgmhhYsBQMaBSMf9FMV+ZXyKOCOr7N1rSvhfJ2G5cugQGf+8vKXC8vW\nsJZzaES1kfHRXcmrZkcMaO4bmItZb6FjCSi4kYPIiqVZ6iJrUjTKn0oB4fpd\ne8bHz0xdee0B6wCoWE530I0U0Sf8nP2VCv4Hw9NPgv2HC+dOGsshm9QaoXlH\nwDv6EO/wljxC9/UwSlGfUYA24+X49otk0J2+aMrlZA+gKQb+03znoLHJJeSh\nX1UeIEufMp918uvTqLyG2QsthjiHWMEDcmIudtoPfkp5QPJB6gl1Mb8O3C1q\n5RRREpQPwLnQJXq4+ZzDO5ZkIzlW85uRCaIIbiGwaukWf2TJT4vdLjd5CYRC\nAx8ziGFspUiO3t6nZY40cCOEUTPoLJ90mmIb4Elhk+6u6X4cL6RyVS9okNV+\n7NqGNyqFcQW2he66Db8qi1pcJDsYACJgE+qL9TFMlvGb2oB1uOIHcnSLjI86\nnnB21xJVUpjhEOMCXVfURfRcfI+u6uiiHUn/cMpKyVenhXUejs/8qddcqTez\nEz6RkGmgYrLGb4kwz9TbYbNka7c1+QmVOBECc9+fN+1USfvdHjQcjLuv5xcG\n4bGB\r\n=XvZX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZSPqyk1NWIr7l8zCI7I3gsavvZ5KcAdNwPbZKGIsd4AIhAMNl+kz6GxeTZOqw88AYxuZLRSK8nGEldo5YCdcOFqGw"}]},"_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-paragraph_0.5.2-alpha.0_1608226480710_0.2511893143577737"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.2","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-4hv7As2Bhsb+xgAsK/9RiNVsVG6+9lFSfj5adzXJgZJysEykMOYedYTY3kDHc8rhdwvwrMcsWTfULBrzs5hV4A==","shasum":"81462c8af05b157c857333adbb3d1c5c23889ad7","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.2.tgz","fileCount":5,"unpackedSize":12006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25eUCRA9TVsSAnZWagAAQbkP/00zNXUxA4z57Oxl5q2i\nHSdcW99WhpeznxHA9zEpOqnB08QuJlUPJT9S7/emwI8fcoDYkF7vH9njhYy7\nzWbRYTuNlRpZDEiFSxq7rDoHH+fhNJkq73EHsQE8z8h6oXj8xHIv2GH+Snt+\njzb6rYgY58vvYFZw8NmTtf2VzkRgVWqaNXrVgvkjpWO0bVWbVcPsdXOfHfZf\n/vnylBbwNH/yqz4Q48WVcSELs5dVjuzBHi729kB5/Pcy8eJEs1FvI+vrC8xq\nYiyEIo5O75S1nvU/qaU51jdSUuf0rdWt9LrRrlr46l55BNZpiPBkerSFqiI+\nE26RBgPEYREdWFm16qx7fW0DfozauShiGSdmcq2UsNTGr4atbuZf5FGZqgQS\nEDbvblykBrVckW15spLf2absZxxIhFFA0xUvDDeN2V5bw1HvjvgedYSRv0QZ\nOCYz/MtSYT9vbxUFYqhxkwEmSjeZixdLIezOS+iEp+GiZIFGnw7s467u+Op9\ndq4KYB7WPKucAV/bYCQIRgwMaNO2EPylS5pHA7xs9zPgGLNvo6161FZjBHd3\nGrtHYYaIGyBVwYTINC/hMjr+g4Uu36bY7XHpXsvtYyxRSPmCKxT/+I0GIqre\n7rdR4YEw4Dz3YjVxFq3lygzbrCbpOJR8F7yjpdpJhB1hTs/9SmQ15baC5KmF\nBDNT\r\n=CQEu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDykHdtq9IkhfQ//A4Ga5oVoHqBWja8EHLEvTJL/T00hwIgHycpfdFxJ+Cv5GHi0lXhGymezI+TabLvBrc7YFboGDw="}]},"_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-paragraph_0.5.2_1608226707829_0.5017748142017435"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.3","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-6DfuWp++QrKcL0ubEWY0dylB5l4ROAkMekPlzihTtbhCRHbC1bFHNO37212pFYV9htsP7YLi1f8yt3F7ilaVxQ==","shasum":"919ceffbdc9bc104fc398ff2177a8c8b72331759","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.3.tgz","fileCount":15,"unpackedSize":15033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iSHCRA9TVsSAnZWagAAMLQP/31w5sd/SHkw7ix1PNuR\nyOl1Pu7a+mIGn099obZKulZgjshYr69PGMHSkxv+80iTUEXBBTmYJtHGs1aS\nxlY0J+efkY4eGxHy3vROfwuWYzF3AGdfMS5W519qig0GFuUZdSwIjJB1WF3S\nA5rM6fy9wrVLBzHjzGCKfBH9cHD/cBsZQtFbRL+0Tr8rCx8pTLyre6WcxxTr\ni4u2B0NBqNxxsK4ADDPKaYWK6l9st0JcaV+WODZXB+Np9A8m8z4j/oBZVDjl\nhZ5Jl/thIVXQjRsNAmI+Eu4aPXRp6c4MafwXSaJsEIjNkgce9DRzDmI08JBR\nR6DVaxd8FQYX87lI+oOVlMtLz5SxSMYd82h3EU9zADS9JctoAu95AWaQpj2J\nE9GQqof5yv1w6cRIYEbkPRBXl2gmouEDL4ESxOdL6QY2OvOoRlKrRC6fvL5d\nfIl7y3mVHrzP0GK5JvtwGCDDfzhGETnv4/wdVRQc3qOFkgiSWNEsOagzjfiV\nvxPw1Mj1VSfUqj7bxD53Bbyv+IhgncM8hFRtN1nQmnxSh3xGTwplfpPd7TNd\nkED8DojxCoAqhpgl4mBMNGtoyK4+sJv4Qlz1p3lfJaQ1o95XG3tyeCp2FBbG\nkPbE+GN6oue6GlgmojUAJE6RB0Ae0hxZ0oX5dmgrAYIYtvgQOfGm0GsInCzl\n2sRY\r\n=i43V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICKsYowBH+wJAewsG09uBjausFoRrCqmAy7G1BCgg03oAiASS64zsWukz17Z+T1y7PDE63XsMKqUZC7qyy6udojfTw=="}]},"_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-paragraph_0.5.3_1609180295139_0.5811430102914898"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.4","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-6xW7e44vwsMtQkwm9CqeczSmf0mukLj0gk3UKFfuowfR7KYJOew3zfycpNRl28B1G+D40l0wc/5BN8p160T1MA==","shasum":"a1396ff71870f25a463206a38e0257f44cea95a5","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.4.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\nwsFcBAEBCAAQBQJf6iURCRA9TVsSAnZWagAAieUQAIj3psSFq+9uguqFRzxC\nPlymQXJMunYCJphWmO7i4MFG2C8QxYOOEKehsIWSD5aPK3v4uLkmYDYMqLsz\nfQ8v608jsj5V3p7uyhP7A1+CbxihEUToobp0xySPl9/A+8Zv6rHom0ItnEpP\n/oonNBOzUWmKHkye0x0W7ubgzOkCYwgRAx2egVs8+7/PGlBvxNv2+Af4MIm5\n/V4R+PrILNUPlgJQ6nmrSYMmrhLRXHCcDnS0LmtltXcv9wX0q8IYBdi5V5BM\n3B6OLRFl2xFYpGS6xz53wHqMYywedqfcEQiJfyNyIgy6RSyEJ2ovbFhWVdCF\njN2qZe9dsdAYoWYbfjbjyASntiea2s1jTQsdpkinZ3NgMCHbR7I7vXYfNOoM\nWVAWGprpVXV0Y8Rwa06idoQ9ogSvm1tHqWm1q/XLFGL94P3IcheEI2cQE2ll\n48X4tL2lrpznclUR3Y6xQugq/dSkHlTijljWD8Te+KWzt7NnxLu0e1F+swDo\nofpTGRfnfOTkFX10DmiaB/WZfpvsIBpNYhG8c6QBCXw20iateYccrlGUwik7\ne8MdArErWPcmH44APdD9Pgp3hOEW8BIHNUzvJ4EH6HTnUuqxaemvj+wrVDLg\n0JvUXzqtk0XAg/788TyclpJtD23UXZZ1SzlEX9ZS8jOMG20PPM1kJbIG78gw\n4O+E\r\n=p10D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2VeLbaHS+sXWUL46Mh7cKPKBAnRv94o0idkDmgZAeVwIgYKNFYSt2yEYhJEglIhwXX4AnyswqVAavyPwOc6naWJc="}]},"_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-paragraph_0.5.4_1609180433141_0.5061095621944716"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.5-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-97Abnwe5bymcgOSpVIRxeXyIdgIvgwGsA+7twXsXdKD2OjBXCF4n3YdZLGVJCfMtt3QNkcvR/eILJNn8WXR2wg==","shasum":"f42283cdaba6b224e72f56b4dbef7885f304cff2","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.5-alpha.0.tgz","fileCount":15,"unpackedSize":15468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iykCRA9TVsSAnZWagAAZHEQAJShNCxc8knpuTKESOlZ\nQdGa2uYV59LLH0x4NdqQ1M2y8b1ioPNAlFcDFlI9ZlaJruJD/4i1ZE0t8BmW\ne6s9LOt5/6zoNQBaRvZ9HXizTBINGwPTiJ6snVf1fs+1aNNoxNLaiHOh9zlp\nhHMUUKqIPos/QZiBQFyWJNJCSa7DCm8VqSWPl9EswF0He+EB0uEcs2ikQN1T\noFbsPQ7hN7kNo3xMRSsDwUtnF6gyiL86bXPB/kjlwxT9+9B7zRgZPzhM7u9x\nlsADF88S9uu3sWLBI/4eFhoZCrd8w4NI/Z94c2DQJrWIlE1gAoO1H4sC1fn4\nU0G61KQqQpeW5ivzzEgKZub0/QYyeQZVomcZgBFv9T+S0SftzWfOjsZ0a5L9\nXl61nj+q9mGBRQ51iDrkEuE4aT6qSW5eHuMXDpcHCYCL4zxM+PiJFIctReTa\nDkeyjowB+HMmHUgqNDbyB0w9noLD/eBrRLM0AGRG/sRF6dcsaN3c6YOT43P6\nP8lc/ylwHojk8qI5Ayy8xn2eHXzdYJApuBiQXunB5LiVtsgBqEYFspEMXWJd\n3FQuFcQL6/hVqeW6BxHF8r1cLELX04LaRXlsdhS+BF+008utuLTroWmkGFG1\nUEG98uc786SJm/b51ILEXYUj1aq5Q4Y3Xv1JZDKw98hj7gpP4e6heGR5kEid\n05DR\r\n=5rRx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRbXT6OhkcV/yrJ8qWPxXASxpYumILpVPh2uAf5/v3xgIgb3T1x8XG82H7MP/WPxTsigrFNnToWTI4nTO474DwOOQ="}]},"_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-paragraph_0.5.5-alpha.0_1609182372368_0.10646085628866708"},"_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-paragraph","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-paragraph.esm.js","size-limit":[{"path":"dist/monofun-paragraph.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-paragraph.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-paragraph@0.5.5","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-yuJ4e7CrigmsbShh7yuS+uHNd8Vy6ZiT0iGS87ZveJxxPbbVukZPpFgVNSCKUoiw3m1QnFbT/Fi76HKNsge6ew==","shasum":"277f101d5bf5fe7010e67262be7466bf856f34fb","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-paragraph/-/monofun-paragraph-0.5.5.tgz","fileCount":15,"unpackedSize":15561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6i28CRA9TVsSAnZWagAASWQP/iL251w22GsY5TFUNYpi\n2vP9qT/2QSzfcd7yeAuIElrCiWZtmGjvCmvq6OvdvtrATQyWd32uLpE+5oB0\naV2TrWxaAHAoy4Tamc84f+FBqA1bf1v3q2bDfWaDz0WWvosMTd831VWKUe4p\nEQabZI4W81htiCfI/NHhi4Kx8NL+p2qm8tq3ZqTg4JD8I/WsOnIEuJfdFlP4\nlNuUk6phuruVAJ9E+4DYdlZD30Ue6CTxiM8jWV4msWRdkcGoC+o+WtfEjaF8\nmqaTpl0qvtQL270h6cpRz0AOPjbhnozMxAsk1BZCmIx+FB1yUnEiYw1r966M\nyjKS9jLkHT1gcg8IurYFfXT/gXm5DLYCoTI7dTo42K2nq1GPniw54fufmeY6\nGuJFgxiwUSYyN1CucOwW0fQjLyZS3tngfz4JRfWdPiNxeMe5wPA/3JXmD3Br\npNemw40PA30VOTlsEbuvcG1G/0FAPNuvH46J9igCRtn4dMyQ6rOnnM1URqRI\nHLKZVZy9VLZ1W/dNwGyfE5vzs5e2M4kKW08aRuGTkuc9lf6By08DJIl/8z4J\nE8jS8Fp1LOHVdxzW3r6Ulu5ec/BU56XSIp7zIck7PBhLxNVGMI0icWOn8x4O\n0E3dKA4fxlGJCDYm69L4Nn12CrTWs6XBTwaeAum501m69wXEUv7U7m69lwUt\nppF5\r\n=KZ3M\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDifqMx3GZ1umIvLB4qhO1v0+/Tu8gyXqOuOY7yiQgU+AIgA6FwGrQayIlcR9jgwvbDxAvNbLuJJ/O9eYeFLu6BYus="}]},"_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-paragraph_0.5.5_1609182651703_0.9985868984104902"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-17T00:38:20.237Z","0.4.1-alpha.1":"2020-12-17T00:38:20.482Z","modified":"2022-04-04T10:55:43.759Z","0.4.1":"2020-12-17T00:44:48.998Z","0.5.0-alpha.0":"2020-12-17T15:25:27.399Z","0.5.0-alpha.1":"2020-12-17T16:18:25.384Z","0.5.0":"2020-12-17T16:37:31.325Z","0.5.1-alpha.0":"2020-12-17T17:07:45.640Z","0.5.1":"2020-12-17T17:13:47.716Z","0.5.2-alpha.0":"2020-12-17T17:34:41.052Z","0.5.2":"2020-12-17T17:38:27.954Z","0.5.3":"2020-12-28T18:31:35.274Z","0.5.4":"2020-12-28T18:33:53.229Z","0.5.5-alpha.0":"2020-12-28T19:06:12.513Z","0.5.5":"2020-12-28T19:10:51.820Z"},"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"}