{"_id":"@aaronmaturen/monofun-textarea","_rev":"13-a4e3e53f664615bea50b1a4e4b3a58cf","name":"@aaronmaturen/monofun-textarea","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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.4.1-alpha.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-O+Tym7BP15f+Q8O73pANi6nU980JYGdamZVXyNKUzhpLPOd1XGHyQjmCAMUmRZ//Fqrl+cfgoM/iA8PhOTk24Q==","shasum":"ea45ac8d5d32a7c973859035195c28a9e5e771c6","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.4.1-alpha.1.tgz","fileCount":13,"unpackedSize":14152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2qh/CRA9TVsSAnZWagAAXesQAJrXh3G/OA7+ht+hQkd7\nhem1lmCsWFU9D8P25Rpi/hLhKQnaelvi+hi+gDkGACXuuzOzB2dCWjzl+Tm9\n9u1o7nMY6YFPXAZvwLxlejqz7qaSstiwXG4JZf+4NGvbv8gMzp4wrL206Nja\nn5ibSZg1eXVafaiPhDP/1/KQqZabOPI0wmoyU80DvRldsUSxgMX0z+TmHkoy\nm5rUxxl9qebBSWKBwvJHttHWs+7O9r/XAPZ46axbtdn8GYeM2r2SUBVTZT5E\nmhWbwfalUHHxzrkY5D4YaDVC807cSaF63EuMTsPiqqKBxrHaP/OW5itmT/Km\nrFqjcEinIHEKlDmC1Ow5ihNp3Fa2b+VhDWq7vilVZCgwZeqBorN9vP5q4ZwU\nkXOMRfsLrn2VUWIu67Bck9GzZKf8yTo8UDsyxyUqJVp9mv+rGRQZIQd1Vjt6\nMriaoEHcYWlAh58Np4H/Tym7MRzTpogHenqvi+cI93KmTjGCOrUzKywyOEmY\nDR6L0sv/iFMp+R6h5KDfRc7/8k2aaCclbxgnyU6I+dqoEyCuuQ24c3EJhHM5\nFTqwQBmgxdgjE2i3YfATOoGc771TUUcRXNLpOib9KX3RHEOgoNCyNKxc8Bhy\nEZJdo8a7mzSp0qmLHUsjjH0WLHRwtC1kAHF3cVan2BVIu6aQ0AEEWXRXNPrL\nzp7H\r\n=GHuj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQt1sTv1hu91uX8vM1KGkP2reowUW90ZtKHSqEvE/MlAiEAmtr3w+KGqef/MJV7SIom2oUWS08jadKqb+M5VXronec="}]},"_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-textarea_0.4.1-alpha.1_1608165503183_0.7767782460512647"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.4.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-6eeCYsAc7u2YUfhSMDsMZ2HcxZUcv5u+Z344JzJBriJTzvHqWgQcJ9KhzTyHmWSY+5QAVkKi5TxAOEnSR521qg==","shasum":"a873d2a02ffd9f568219fb68b3a5e10c0b168ab6","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.4.1.tgz","fileCount":13,"unpackedSize":14244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2qoDCRA9TVsSAnZWagAAL2kQAIHJ4PMEn4TO6DHAE9GT\nqvcgIf/5Q22IPsNIX5QRrEGn8Ihigs4JJ0Lbum3MKpaLCo6jwytSrdgYq8Zv\nM2R36vgEzAuMPJSucWR302ZPG1+o3TZ0TDn3ziFye3gDnQutxomD7BZF71g9\nQrfJKzRqitHvvSJpccrIIqn3ltEdq0fXiW/rhrUxKn4g8y+5ZAWG2Qg47dRd\nCvIPQ81yHLzKI1WGUmKuGYyil0yeO8YUmBJetE7X2vcXnvpZ2Hg1/f6n8MlP\nCq7zfTUD/nAetHpUO0+VjDlUm2dnL3E35qH99hmuRkTad44IkO56lgp4U5K2\nxv9zcHgG+dtQX9dHTQ2nMJYEjCmpZO3+qeQONwGeBR06T0hdKbQIgBUp254G\npNiuQv3QmPW4G46JYPLwfhTl9j7FY4Liez3/cg5+hKf5q7/Ik0wXZ1hvy9F/\nZo6k6NsUMdTiYK/DlH3MNMbJu+7lCzsuCUCX+tk6wzjLXzkKwb2LR/fzRW6a\nSPpZTjnR0I3eYaIcQMkuV2PnLIKl+296ZQ9hUg7zqhybxDSxo7axd77ZPffi\ncPwoZBlPRXkAQu6EKWnEESiRPCasGOfDeaEBOptYm2xg4WbElj0LvCZcLRid\nkg5wlMo1MK9EaNSZO/rer+PIO7tCBzgSpGZ5EzAe6IDSx3kSoDmVehwOMBRg\nHLZ4\r\n=9YJB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCewUzxzeRloeETSLIqvf0mLBZVuSWBByW2z1A8od7KzgIhALnE2CM+rmOz3FWhQMU/kMBoeMuspGQw6OxQLdumle5t"}]},"_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-textarea_0.4.1_1608165890932_0.5683685025994285"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.0-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-Oxc/IUVANw65x9sm3QIlDeaR3R+YIdU/7VcBfWyKrVhIviuWaK3SVa80iOT5IFtyG0F/mPbNOOR3orEHbAKMzg==","shasum":"2ed068afdba3f4c8fa6517f202d1ce2c1ca8a0a3","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.0-alpha.0.tgz","fileCount":5,"unpackedSize":11283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf23hsCRA9TVsSAnZWagAA2XIP/iBdj1lNO8zLry13sJB5\n5GqQV7BOx9+DnpwHhPjSqyj8gIX2Svvd5/jtYmi56Wdl5bKgIriy5OYSmE4R\nSUK+pLrBnAevz+QvFNwGIi6Db/UCmOuS4A3UQ4Xefb08swg9VATnzxL/oV9M\n4BBq9B8yK9bdJcPo89THrKiDBGoxtZBZwLj9EI1N9oJndLTtJg7qcL4hNc8j\nQb5Vbve8Y3wPyJQSPzVVoSubvWwevoW2VzJP/ZGhMeWZvTxo/UiuyvF0So7B\nbR00fxlLtAOHsyV/7vWYQ4leDjm70vDItW7IHFcSv6KBVoDCHp+w1W2+HLm8\nHtnlbR5PPSlSm6lFlJI8SVgoZv5FBGI8c/mNToM0BpQWdAxzC8VC7EfA4yrO\nVx0vBZuu9tHIZD7lX1vDmGHGI5i+D/GeSiEgnivTop8GPg8e1x00k9gzA09X\nfuXnPxG2Bk0ZDASbSRqNegrnYDtc9cMoQKEQvJJ1c7AAXkwxgXNwhyoGWLlE\nDQBLxE4+t93dpnOyhqdGbF3CQRSisFWj7jBhu77r1W8De+n5Opd3NIrgQy1E\nth/JlSvYB8XymHN8pzjOgdyWwnPPVtvQGvBvGcCG9Vs989jW7TCgYHJTFqGl\nKHD4a8mtzPY6G68fooklHM6zj7LOGNeL/ew/JLpsmu9jVehTxigwuTljGN/u\nZk0D\r\n=bEpU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpYHPCPsWkPaacaaLjottVjgk+uLRk0TT+B9Y3knnR/wIhAOlQeeCjWNoR7W6Rl0PWR53ZAk3uZkIfuBLpzuXRjtWO"}]},"_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-textarea_0.5.0-alpha.0_1608218732198_0.31263802053787937"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.0-alpha.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-7pkFf+0etwaFhw0E2ktSCGX807fuhbtVZxFFeQxQjTWwMTMGpR6fyKBdiu4gSeg40Nd6Ph+adYkoT/6akdYj3A==","shasum":"147fb8dcc99f28887215e27988819ddad4741bba","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.0-alpha.1.tgz","fileCount":5,"unpackedSize":11503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24TZCRA9TVsSAnZWagAAsucQAId086NPR5YPyCRsOBt/\nFzRqNU1MUi4iqFLu2K+5fA6c+hbyzb289K4Ur2KiNKrHhWKymW7Rd/xEZEHC\nlWfbYGzxVf47o3cI7UH98dQS3VGFHlpyZ9lRt0sDa+cqzHmVGIz4GHz0OFeT\ne8i5CjSfSxF/SRyWMCEyW7BM0fK+GOnt6JMymaPHsd9lMvSHB8W5wqnJziFj\nklBsOiL08cntxtUdzREvGveuRb/BG6kvZ8FQeeh377uT0DlppMrb/NCqLmQ6\nEiCm+sVIckKMqMjOsh64d5aDMwJWuGt+WpdRCZbTg79bkDUySVyw+rVBbCjp\n6PIio2guvMw5FudDOe6HrzENBkzf28lDN+XWAJbCUzMA1t0ai3tWWqkhqNQs\nN4I23NKT+SKb+dEzspwFa08yahRL6Hy4OC8lKY8e76HD88h8e9ad8QcXt+Rk\nUONgiqm2yZRytxDWkvjlg2jFi8SrWrsl/xh/xWqmmOfDXHVtNNX0TaXRJ3C3\ngDfIz/dUbvb7dSt9lBD5XFGVxHu7qqmvbT1SulwsJrU+Jm4W6ix9YrbjtwFH\nVZu8Xebz0c7i7BlmDITMt7dyfbP5N4yJGoPp7uzShWM1FY//vdmQhzzM8WXe\n+5Ks8WCNRusITwRa/xtdKBdJTkklzF1l4ThEMI7OjbGbhBGoIfXtr0Ym7+aJ\nmr9y\r\n=o2M8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAxm8y5+Y0sp2IwOMlBZF7kM7srY0qVrsCGE4vC9n57AIhAP8CdTEehRrBEhYSxCSB5WCxwPm4noR+quBDZTx0WBNC"}]},"_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-textarea_0.5.0-alpha.1_1608221912180_0.8223627429794274"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-SWFJc9K4kOHUdv96FueQOxKwm23ZQS1N5DQckky8Ww7N4gqPqvvsIQ/xJmrVCtcBABRABjIJ/cQK8+WjDdKdLQ==","shasum":"f2bd18da442b671e4778459e89c4cacdb04a9983","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.0.tgz","fileCount":5,"unpackedSize":11594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf24lMCRA9TVsSAnZWagAArkIQAIjjaoFgc/uCir1/t9nD\n3sKYlg3sC39ccnnZ6Fxl7zffNjihyxymons1DKBPPt3bAIkVm+qDV57QfWb2\nealdHexUiN6OG3DxFO++PJGKedoQuq2syMO4G+AJ+0AGPa+YO/2NYeHsVtp2\nVMbOLT0uVyt/15qIxv6BgfBjADevMUt5F0T7RTvRiU8sK8XdjgFrFn1OM6nD\nkOyVBgtWeWEZdpMjrkChjMCt149YDkvTpt2Ecbn3gnWkEXCEZeqS7SxNTlvS\n/S1lRC4TIUqj7pHKeGulcpjw2MoWRtLZ3Sm9yBSh6OPoySF8UbsF0G2PBcU4\nnvpaHmMA/oWMNk+++h547uTznOGNjepNLRKcdNk/NpcI6YnmVqlKGE2cmIpe\nRvAfWKCCnayOwiDqgigKj6Kz9MGHmg8bNT3I1l9NQmLBGMGkdoDBbPlzCVyt\nQ9u049scYXQ2zDkIuY+g4r/T/z/Iil/zCuoHPHqTCLT//tIRl7I1k16xNy9y\nvnbwfTZMaCS4NcqSBCU2ex/svIY4lIHFU/wvlA66qoZG8e2qEGNb/mlHo/9H\noofPOegZhzTGGpg9J7u9ZwAfS5aMB+W0bETbVDK4F7jh8Jrqda4S8Fy8pdcI\nw68pNuFLi/JDb4O1+1xpCkgrh1fR4gbkeEvPIh8JP8U8WpktKcbQvoU+Lk68\nBzGx\r\n=TLXR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC81hd1ipMDkmPRaSuICvgLFRXX9gpSHz4qtaYHT0wlvgIhAKnBXAp7avbfc6tCCr+JxkXhGJtXyoB/knysQS/xYWeG"}]},"_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-textarea_0.5.0_1608223052346_0.6091148494714194"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.1-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-RZSNeo6xxD/XYOFuZtqjaDvE+9xjZAwrpKYQ2HMnKn8TzVmE5PEwKz13j+hIekPADXbXUOA/G3fW8aQW/RnxhQ==","shasum":"2d078283bbea4847581906afecc4c40d578b661d","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.1-alpha.0.tgz","fileCount":5,"unpackedSize":11710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25BiCRA9TVsSAnZWagAA+ToP/ihc/w6ugSyMAyKXpP4T\nif2ZHBrAfokdgrnX968vVggEI5iQIyEwCecWAJiNAQ2mwDqvP0C/9OjB7kWb\ncNHqMMu0u20IeCYz2T/j9/5/JTyXRgQiUdMAkY8KhIstRcTXgEYVwBwRHAqV\n/o/DQDOHXwgF/adwVNzJueNzIhc2Oix3hlFJvyHRC+E1Q7SrAo0Pb6CazakZ\n06Az9IMR3ZtTm57ZtDCXLvW1swWNyczuchj4XGgokvlJNYJPKcUfCvkRePq3\nxZLVysgnjULX/Pt77qqgvFaGzExTvIzRDEek+Mt+QHZO7BeAO12/3KTa7JVv\npn9vnz+I7JH4aSorhU06PMJBLXWG08MkHmF5YGV8FicqzAS/KtjXQo9qdY+u\njccQW180U9MVS585oSsg3p1c7BgYTsr8eC3vgC7YXUYGgbGQkmWHB1S3gOTl\nMoPbJQGaw94NAZ6WFJ7DHHrNDVa3rzQcXI57m25HtEAXrV+ay0TVHEtDt6hv\nkUgEWwmkGayvWR+EmsRjHuG3BcgQ49qbKHGfAvDYjmUatQ45VLqRsw7CyuD6\nDXItz3xEhpbu+PLiHcZwyfU4JZc3czlqTXkQfQQb/KgFHwxgI4DcO0ufv35Z\n+ECAivJq4Ubu3bvKtJvM9ozVzjmKMiLH/WO2t8zSLlkzTragMiXBtINka8nU\nAjc3\r\n=+xIg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwvueQojGHwr6fGP0/VMyKHYIEHaQIp80owm77MdFFJwIgNkhHBjL45+f1YeRuXVFY7YXRCakEJyext7PnzdudMCU="}]},"_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-textarea_0.5.1-alpha.0_1608224866221_0.4257245499124185"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.1","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-5sx1nZI3NHPJLYLwQridz8uRmhQNg928DIW/3Aq7KhHcYrS2aULG9JZJUz6TXkJlN71J/iaeI08DVQ1E/gHU3A==","shasum":"3da144d61afe662cf68e303901c70d4807b7ebb3","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.1.tgz","fileCount":5,"unpackedSize":11802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25HMCRA9TVsSAnZWagAAczAP/1uepmZ24IFE4QB3kPPO\nDvGcI9dZK3inQuW9v8ydeZSPCM4aDoiQ2pKTvhhlL2Jist03dW10Gpr7N1fb\nf/Lb0PzhG2QTjh3gXkF59JCX5O8r7IbEW37HiuzfBJh1wSj5WfVic/wAAzLo\n+BVVZpsAKFQ6qIs5/ira2sJCbcZKWDJau28zYi3akKj8J6eI6eiCpglMs1F8\n/UcaZKVrjy7bNl2TKD6HP9jy1gcMyuyR0TZa2iLqcIxen1wuu9zkAXbrxCCW\nwUNQ6DNrK/m0FhArxUcAKozj3NnDX0lGjOahR8efYgtihO+uw1RBTMkz7xoV\nLWHAktdwAcq3Nv+ZELT48m9cCPScWa/5XefUEoKF4fLFONIa1GYylvwmU3GW\nFwwXv3k+Y3nf9KF23Q+CS5wL+z86wpKZVZmQZ35+USVxuHyztnxql5zc2QLA\nYwZ+9F6kIloFmcpilfy0CiJ3MqYjnRXHwP8km8Z1eSeQyrlzRM8/l5RNhDgf\nzW+Af6EM93TNveIy59TJbeIAwYGboLDsOWp/vOepPoG9rX8dNopNwC9uqmld\nLkIGVz9V4oJo2Dw2NZuL3yl7LllPMrS+Hb54W/8mRQ/Mz6L1dk1hD4P7DNHC\nMvY9a5IlI/EdvwRASS7H+MolzpLzt1OTx/uQ9a+xJQGOS6Nto4A/GSOshIAr\ntYHq\r\n=bN2a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICfr4Wh2jpT5/Jrxpo6Yvlh7/9HQI0X7DJF/PRnqPBZOAiBnEL8aFVHqcaUw721DCU9lI2iPffBnjkeYQb0auolyqQ=="}]},"_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-textarea_0.5.1_1608225227823_0.9476947438339838"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.2-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-0pkSM4QK1k/OOE+ooIsqnO+3N4QNu+Z6e3KpBxN0xY2FdNDMlrQK7pTG3f6t8Y+jtTorUnG3/oFoBSUJpxy3Nw==","shasum":"2b1cb51be0d741c6d1a1a2956681266adbbf689c","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.2-alpha.0.tgz","fileCount":5,"unpackedSize":11918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25a1CRA9TVsSAnZWagAA888P/R51naJYaqCEJZgPcXl0\nqlINNo5a6plQWsciu4L+HAOzLiuYLPbXQJht4BmalFPnP4KgjkodWQJCXO4G\nv6GMNozxImYSfi+5K5DYmBQAxBVwAmX4JPnbfmW7pCmHk9pNGvi1iPYKNjRO\ntBGhIPZPzudGuED6Fvi2QOptqeLwDgC4YVfLlLL58bGuY3pPdnAWcctzBKDE\nTuLAwn5Lhom2xLkIDuzKlGzmt3k2Vco0T4IxDKuKr2NrnQ7HDsGOk4tL0Zs1\nE9RVw9PIkwemsW1SmaYN0URTRhpbEKKdojqjHWlumOgRwN+UXCgn+PB/LHSS\nlHPcfijiL5fytlVyjj/2FanbjSVuRAWwh0e3qn+YcjnGZgyEaa2QkVC23jhu\ngDcZR3M6Z0bKvJ9jq+jEYjJo6MVwFt9ogysFYSxc5I83daBF9XR34t3ABpFK\nuww9Zs5NrF/4u5IvuEnF3Bdy7zhplU/aNMN42ziDBeW1evN4VGM6yQGGSVlS\nY6PPdanzc9Fc4DuW8sjKR4fkP7ywUj8WT9BcJm8FThNUtsgtjhP6bA4pBn6n\n4k/9VH+HOT3yAxcLU11t3bcW3DR2t6nr+sVKFpV3n8IQKkD2uwJ5Lz1FAX1b\nLl5AFwiREcGWRzjYERNbsuIxq3KUDUz7xQttHp8Mf5qjYwiKn0hjMeAtegN8\nqKtj\r\n=X3Jg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIExkPHGhqUN1CPYyBjmh/VBfvF6Er4RldpfVHCcon+aBAiAUMKx/rDPXOAjQzKxMS53GO6hKii1V8ML4LKh7QxZTOQ=="}]},"_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-textarea_0.5.2-alpha.0_1608226484896_0.24356683138507007"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.2","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-cpvVzkgrHOj2VaqRgwwy5egfenG2NNQ/G8PGvRvCcfjGdshy6IGeN5DNUDLp++DcyalpKI72Slnm8nYUZDikzw==","shasum":"d5d018895806da09af988d940e997a0f23b7971e","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.2.tgz","fileCount":5,"unpackedSize":12010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf25eUCRA9TVsSAnZWagAADHMP/RGb6lgWzT6o4u0lnd+c\nQ4uV2tk1r7reE0AQObh6IEq2GP98gTyiEaZQ+sCwC/EAfyMDWG30Tx6fHmfg\nH5WgPLBCRNma3iqs3QAzk6AzEnQg3LE7XZvgGQWTqQRx/putYONcM3NW3U1o\nhdc0JKm9ch4CBgFIiOu447yuVuG8krFQszBP0BL/FxPjNHFs2aEFQU3J8v5E\nepetVG9WosmJdiqh1C6YPCTIv9tOQbHE51J8EhKX0TG41kD/4PmcLF1igjpl\nG/jc2Tzeg5sMEU5Wti9HkcHe1C3Ru46QRnforKaelKCfQYbNHpWoKV5T6AQV\nrtIklM3iRZTfsI4mqGeQ6Kq2mMI5xKQgvIAyTvgrJFYDT4q1v/S6gOO6wIYb\n6ldVZghE3HGdu1lL/ApstOpCYnpH2erOlq2DogmVK/og2cgImVJvv7bgtYJ8\nbksz9GOD8Kl3jCQ2qf/kv4lV1FFMs2rhPq9AgXAbkO0/3FDmiMOYeM7rg1SW\nxDX7WTBQbOlwIIPrpLATBjIYz2/nImxL71eBa19Ht8SBBU4KTpT89Ly0SaxF\n3MxafUEy+zCeioIr14L7dxPSCWfSOn18viE77vAa98VeWE/TmnnmkH1rHHUZ\ngHsW5CvimXT4/EI6sB/2EEb26ZAKJt2jAJxIrms5TW5JlK7/EUzqb/k4mjhW\nW3Tr\r\n=apQo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC9SMCSNnCWIbAvLml5QWUFnq+ascnUOtpfE3HOoTd5rAiA/ckeArgFulX39nycPH8DlNfGQcjh6gNDf/XnCeCD5lg=="}]},"_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-textarea_0.5.2_1608226708446_0.6418044843885637"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.3","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-WDuMcs8LWdfrME+g0Frbcb0rT1zPmVEKGfjlBiloAlXP5td/1a8TgLFgW7bWHg1KoRbS8kKPyGf3OuWW0rKHig==","shasum":"a859e6d2bf5600e6c5ff2e1e4ab2d5961cf6e001","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.3.tgz","fileCount":15,"unpackedSize":14913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iSHCRA9TVsSAnZWagAAU6YP/jhlJi95QtsQOfp7dG9c\nk/g1axEOZdqpHvH7aUWNaZ9hcQCRRFNMygUqOHvpkub0LnJhjawk/wDtHLSP\niYN1ipvwS0vcivTOLyi8xverrhs2/ha1fmqBOf0UpJ+GrTex+3h8KxyCzs4F\n+6sH3roD8RJwHJHh9MMMd3hZsWfR7uh004mbxTFD9rDqICiuMK5vDQDXNrt9\nDxuGmYOi2NZ1J0Nq0yloRnZEUfp4XcsJnZukWWnseuAQWLBrl7lp6LwiuQYX\nmJ0VaORfNcxF2GzMfsVPfuB80sMeJKTZ1ruyu3/fDCyMfd6Vg10llSI9oXwe\nxYciJZFgaaNOdNHpECXFsj0xHBJ/Pk7B78s7OS+Sa3BoIs3DU3Dn8uo3YU1h\nssrBCIzzl1miRJszH4IQvBVbsDEH7WBMWq0WwiJEU1w2A59Ceilc35JDVcOe\n2RABOaTIZEVVPJLPbdy2dOQr1bD3tGfMR+Hc4afDF0fpC41jTxT8du4cC+ou\nyWZRgiatKjrnOV1wyeyFXuTyZ+csnpSSsYCdfhWSFaZ+MVlIZGKEudYrcTbV\nxhEpolArNlMaLVEPswAfqYClBBR6TsZGK3WJroFClb7hPG6PWuzrK/aS3lPk\nihzPes32a/C3EF/Y4Qf75hoZg2Ize8ZgHQ+er7NhDCKwjR4TURT5bn/bqLeX\nDoJy\r\n=gnXJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqjFcMbSI+mjR8da3rQ9+vbg+BMcqHLGaEar0njApNjQIgC18epYLttULpzeJBTjdPERIkxNp7Vt2LPr/U+PWSlmc="}]},"_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-textarea_0.5.3_1609180295154_0.23901561905352042"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.4","_nodeVersion":"12.18.3","_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (darwin)","dist":{"integrity":"sha512-qB0wBsdJ4XHSGBdWZQY53buBNpgIRVDKwxLa4/LiwS+4MgzAjFaTs8AISdijEE8Wlech/wjgMtuv4euUdAquKA==","shasum":"db68dbd24430e9360ea2d3755f55382985bda0aa","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.4.tgz","fileCount":15,"unpackedSize":15140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iURCRA9TVsSAnZWagAAMssP/RmA8yJ3nyOXmsrxMfnm\n6AApIE+JQlc/9bWX3b930/niLG1dwcCMHiCDFwNmkMDE+Qo+drb0Q8fWKfY9\npF0vj/3WOKBpHp/EEME9dMagqiXliHEvQhURMcsLsNQaWzMVq1Uei7MCXsqQ\nuowuWO/OkwztdgV+BPesX74pNCB/OU0+MA09JaVrKWx0WNnx8dXyMRGeKwDi\nQkNuFHtoY0ny82cmq+XmwbYW6PFZ3pdQk8AQwn5gtjBJppeSUSu5Xd0TIToz\n/nxEznxsXOIIItDM4cP7J4HX+myjT0DnSsXyeXq9vwaUF4aEvqC6zuP5q7nH\ntgihZr7fHwfhqDsdYUJCEL4IPmPOxnZw4SN6kUgAeyTfZaEcdbRxWil5wHPJ\nil6xDUriVQ2kpDXt19AIkKWnACIKXkHvHY1nT1JtCLoZ2DsEQ2Hhlo+a+LdF\nLZzrMAsM6lzNwFowpY1mGeBfoHAmVBDxNvrCRGExp3b8Tri8qxKfqzaMEF08\nQ4ZuUNxPJRHBMF9295z/y03Y6Vn2X0ezHJGeznfqgcC6ie6Yv2MA4XavBxbY\nNsFqsmRpnM9KLWGf8oBFUrNtuPFdpfKkI15Qa5gsfQnUEL7dTylAQnXxbcLY\ngaFJYZ2qGGabmhnCUb6lhOdffVqxUVuYVF6Dvn7cCHglCKaCKvi4aL2Gwwg2\nD2pf\r\n=mtbO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvSjx1izaBM/0FaVrMcJ5Bn0psPUT65LgrJtoaRNbL9QIgMCJvAvMC4YGyRT0SHFe0h0uCzMB84B0OoReVhdKM60Q="}]},"_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-textarea_0.5.4_1609180432799_0.25039833725193583"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.5-alpha.0","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-MqLhnh4pgm83lV+ZzjfH6Bpn7ool6btNI93RA/0+VR5IQn4H7M+cGCh/QGhdOfOcqHDtVX1ZngwXllVSnqS/TA==","shasum":"3e27c6cee6a2151a8d8deb859fbc9bed9ee575f3","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.5-alpha.0.tgz","fileCount":15,"unpackedSize":15345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6iymCRA9TVsSAnZWagAA8hAP/3UVkJfQVukYy93s5llG\nxm37xt+hvWV2cX5nYz+WFxNkDOoFlA7J9sfzvgvj469qRy8Idrgnz+21Zf7A\n+DI4RbMbV1hKNoKNFh2IKcmAi+zorL4ujyt0QOS/6ZST6T7Ly0C/Q16PSdFS\nh8ejYjtHYJnB7HLwmttK7A6UD02gM6BitgctMiZz5Moc0ycIvLKlItielmd6\nkDrIR7tb9FmbF86GtEPfqy4dxz35BhYtW2daDNQnK4JmHnry+2sUAjUKR+zX\nO4Nrvcy8mLXKd+fe6J0fONxCih5pkIx/+L/eIkJm1OlRLyg3IYGCIbzoXUy0\nReYUtPysABOe1f3iuQiroXnP6IN23BITwAM9b9B+1GlFmPkZTLXHJiV/omz+\nIrw5U4/v2W5zUpHKWa052bwr0T1KqCioEiOiSYaLm6jXMKeF0WIdOy54aW9Y\nM7oBXzmzajmJKz5bRvv7zjxITjfCqV9zd2N1kWIasasv91pLr+/CduC52xqu\nt2TdijC4LGO4Eowu5rnglJhXjEj8eGkOqj9jNgaF0Udi5oWFvdElcntmF2kK\ni4ZpGn5o9dwcUErIlHLolHmoyUqla6QPRjfZiAGRHhVJQs21JYRLJ5s+kdFy\naVl1tQyCmDmSOIs5fulWwV1Etvdzc7sQq4QpRuR8HLzY7KGRAmh0WdHra1QP\ngooG\r\n=DDHX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCP6y/AH/394qzXACfCs5DoHyCccuMwO3/QUG4O3FWxegIhAMd2Ym+PciZgM1Az48oGFt+2cNpi9RPQoUKiEXoWhG3f"}]},"_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-textarea_0.5.5-alpha.0_1609182374199_0.040762271251185034"},"_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-textarea","author":{"name":"Maturen, Aaron T."},"module":"dist/monofun-textarea.esm.js","size-limit":[{"path":"dist/monofun-textarea.cjs.production.min.js","limit":"10 KB"},{"path":"dist/monofun-textarea.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-textarea@0.5.5","_nodeVersion":"12.20.0","_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","dist":{"integrity":"sha512-IkMZD2R24NsA+pBiE5+VFUfI1ZzLTNlZlEpK7TSAVz/NoOthcn5qNxkPmeVuwG1caRhyC/7RlDasoD5fNkY31A==","shasum":"b46d9dcfbd0bd3cdc744455ea4a7dd30c7e05e1e","tarball":"https://registry.npmjs.org/@aaronmaturen/monofun-textarea/-/monofun-textarea-0.5.5.tgz","fileCount":15,"unpackedSize":15437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6i28CRA9TVsSAnZWagAA4QMQAJ5RdqGlTKcaevfA4KyV\nbv3KDmOvIrqfUevoB6OK4wct8KPAYMCYrRd/663L4+7y4DVdBTj/otKQlw0L\nNPb+vCiI5E9jX/TUMHYw9DIfXiBXzskUgMalj1l+Wcmz8LICmkh49JHTmzEv\nceoMCvygaxDd+ucaqyQqrJ/d/whirKpHzqhpR7uPGuJRKibio8uUEPfg4nC1\nv1qpOQvAC2lnd2TudLtcVVlAjtKlkgRXs71SnANRfL/NvfpGsXVPSZ6oNB5b\nroViTz9CtEVYd7VL9PNBk4jwHj8EHQwYvjDBePbvy8ZR2vvfPd6JrPHJ9OnJ\nMYt0oWpn6o/4GZUMCFeOnqNFgyP50IUv63dpj+8ZChxS0KhwpMXUDKcsSNxi\nxPq7QujWeS1/REFlno0cBjf/ZDJbEMfA6cfJGejAOu4/6tWFJI1mA1uzHhg1\n7R6Yq4WvO5uC/pGoYlSQqZ+t3uozmYIMdaU11Cp9iFq5dQk2X1PmXMIWwIEw\n3U8S7qb58b+xfFdAeAR1I65CDAYeNGvLXnwKVd/OsfVormVHmqtadl1eEiL0\nGeODRRIKIAl6UDHR0/3j5b4BqNYDQSeDZ9eTYDDvecFUKyovBKZkvbhImKTq\nTS76iJaj2j9UxIvfutvAr0/EAskIxmlxGVH1AGpK0PUIufbUlfgtIuZl/I50\nxbG0\r\n=sbJH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRDLhDvA7bB6R7m7MKOnA0Io3n5xJcBW2jUbYexuIqRQIgao1jALDzBouZ7JOhG++HbmOzC8cVTqyyiAy2ARxmGLk="}]},"_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-textarea_0.5.5_1609182651946_0.29343824139762753"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-17T00:38:23.128Z","0.4.1-alpha.1":"2020-12-17T00:38:23.297Z","modified":"2022-04-04T10:55:44.024Z","0.4.1":"2020-12-17T00:44:51.155Z","0.5.0-alpha.0":"2020-12-17T15:25:32.302Z","0.5.0-alpha.1":"2020-12-17T16:18:32.761Z","0.5.0":"2020-12-17T16:37:32.478Z","0.5.1-alpha.0":"2020-12-17T17:07:46.426Z","0.5.1":"2020-12-17T17:13:47.997Z","0.5.2-alpha.0":"2020-12-17T17:34:45.042Z","0.5.2":"2020-12-17T17:38:28.552Z","0.5.3":"2020-12-28T18:31:35.292Z","0.5.4":"2020-12-28T18:33:52.937Z","0.5.5-alpha.0":"2020-12-28T19:06:14.343Z","0.5.5":"2020-12-28T19:10:52.095Z"},"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"}