{"_id":"@bycedric/snack-babel-standalone","_rev":"1-3ac98891fcb7387de960fa5976d9c734","name":"@bycedric/snack-babel-standalone","dist-tags":{"latest":"3.0.0-rc.1"},"versions":{"3.0.0-rc.0":{"name":"@bycedric/snack-babel-standalone","version":"3.0.0-rc.0","description":"Babel for Snack Runtime and Website","main":"./build/runtime.js","types":"./types/runtime.d.ts","typesVersions":{"*":{"eslint":["./types/eslint.d.ts"]}},"exports":{".":"./build/runtime.js","./eslint":"./types/eslint.js","./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/expo/snack.git","directory":"packages/snack-babel-standalone"},"bugs":{"url":"https://github.com/expo/snack/issues"},"author":{"name":"Expo","email":"support@expo.dev"},"license":"MIT","volta":{"node":"16.14.2"},"scripts":{"test":"echo 'No tests yet'","lint":"tsc --noEmit && echo 'Only typecheck'","clean":"git clean -xdf ./build","dev":"webpack","build":"WEBPACK_PRODUCTION=true webpack","analyze":"WEBPACK_ANALYZE=true webpack","prepublishOnly":"yarn clean && yarn build"},"devDependencies":{"@babel/core":"^7.21.0","@babel/plugin-proposal-decorators":"^7.21.0","@babel/plugin-proposal-dynamic-import":"^7.18.6","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-arrow-functions":"^7.20.7","@babel/plugin-transform-async-to-generator":"^7.20.7","@babel/plugin-transform-react-jsx":"^7.21.0","@babel/plugin-transform-shorthand-properties":"^7.18.6","@babel/plugin-transform-template-literals":"^7.18.9","@babel/preset-typescript":"^7.21.0","@tsconfig/node16":"^1.0.3","babel-loader":"^9.1.2","metro-react-native-babel-preset":"0.73.7","node-polyfill-webpack-plugin":"^2.0.1","typescript":"^4.9.5","webpack":"^5.75.0","webpack-bundle-analyzer":"^4.8.0","webpack-cli":"^5.0.1"},"gitHead":"96fbcf769a4e4d4710d592268eddad18def530be","homepage":"https://github.com/expo/snack#readme","_id":"@bycedric/snack-babel-standalone@3.0.0-rc.0","_nodeVersion":"18.14.0","_npmVersion":"9.4.2","dist":{"integrity":"sha512-FtS7DBqumopSxHoLUipcRsOLwCzmJH0ufoxeDlHfBxoEbu5GEHCZVi0BChPYGiqui2U3GWTvswOMzs4U3yWrjA==","shasum":"d0d918e1b9d43cc5b1e0127ecf45f213a6ad5a26","tarball":"https://registry.npmjs.org/@bycedric/snack-babel-standalone/-/snack-babel-standalone-3.0.0-rc.0.tgz","fileCount":9,"unpackedSize":13550174,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEgqElcg3THxvMx+n+3kieWWkolMtc2JEjAfaZi6G331AiABe3mK7BcvOr0tbMVSzzAs3UyXqzfNbxIZtf6m97pR4g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj93gAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaRw/9GUWPvaZE+IS1KTm1l7W/M7nZZUbWevsGB6QLaZa5+/fI9bSz\r\nbxFbrRtloxu/JP1JZg+dVDb5qFU9VbBvpMHi6j+LfKXioznpEW5hMSTnEoZM\r\nuEtQl1AoeJ01Ir4ehiQIAAVGWpAIVcxe3qDM3RVYVwxIKl0xasgE0fQ9G7yk\r\nqvHp7YPmHS3Q1+cSbs87rBJqZ4sxmM+Rr+/9hiVbxwoaJYNceQX/hV9+j0+p\r\nVgQSI7K7W19gGhh3Kv0nT7lT6wrNhmxMEhkm4M+KkBQhOdPV6a6hxP9pN6fo\r\nY1lg7kZnnYzbHtcAxuzL8c9IHYlHaeblmmayiYFIxO+8qLp94vz4VbAV1a0p\r\nm7eHHgIduK8ATzfC+yeKCpz87p8yC9Ny2zSRrrBIllHktQyJ4SJEErDMfnlt\r\nITggHlNL4P16vy+QnPISSGs93vIoqEgLtt4/cy5bBoa+j8a0JhKpX2v52fNR\r\n3v0X13RDEehFiISM+2JqvAe7LMUvX2SHWlDc8Z925bmPGFnQrUSXcsjKApif\r\na9wRSZKi9cydxRvhTrvZTKnkj1xhfnWm5RoiUKQz4LSWosdzpIpMmtQKows7\r\ntCMwt4UkoK+YNvL97QL0oyMHWKmsrkB2jRaO1diZ3RuWLIiZows+gDOzlmeB\r\n4hLUW+cglRx92j+cXvicuc/XSvz7rFplQgA=\r\n=4Rb7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bycedric","email":"me@bycedric.com"},"directories":{},"maintainers":[{"name":"bycedric","email":"me@bycedric.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snack-babel-standalone_3.0.0-rc.0_1677162495967_0.8414964804199192"},"_hasShrinkwrap":false},"3.0.0-rc.1":{"name":"@bycedric/snack-babel-standalone","version":"3.0.0-rc.1","description":"Babel for Snack Runtime and Website","main":"./build/runtime.js","types":"./types/runtime.d.ts","typesVersions":{"*":{"eslint":["./types/eslint.d.ts"]}},"exports":{".":"./build/runtime.js","./eslint":"./types/eslint.js","./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/expo/snack.git","directory":"packages/snack-babel-standalone"},"bugs":{"url":"https://github.com/expo/snack/issues"},"author":{"name":"Expo","email":"support@expo.dev"},"license":"MIT","volta":{"node":"16.14.2"},"scripts":{"test":"echo 'No tests yet'","lint":"tsc --noEmit && echo 'Only typecheck'","clean":"git clean -xdf ./build","dev":"webpack","build":"WEBPACK_PRODUCTION=true webpack","analyze":"WEBPACK_ANALYZE=true webpack","prepublishOnly":"yarn clean && yarn build"},"devDependencies":{"@babel/core":"^7.18.9","@babel/plugin-proposal-decorators":"^7.18.9","@babel/plugin-proposal-dynamic-import":"^7.18.6","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6","@babel/plugin-proposal-optional-chaining":"^7.18.9","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-arrow-functions":"^7.18.6","@babel/plugin-transform-async-to-generator":"^7.18.6","@babel/plugin-transform-react-jsx":"^7.18.6","@babel/plugin-transform-shorthand-properties":"^7.18.6","@babel/plugin-transform-template-literals":"^7.18.9","@babel/preset-typescript":"^7.18.6","@tsconfig/node16":"^1.0.3","babel-loader":"^8.2.5","metro-react-native-babel-preset":"0.73.7","node-polyfill-webpack-plugin":"^2.0.0","typescript":"^4.7.4","webpack":"^5.74.0","webpack-bundle-analyzer":"^4.5.0","webpack-cli":"^4.10.0"},"gitHead":"96fbcf769a4e4d4710d592268eddad18def530be","homepage":"https://github.com/expo/snack#readme","_id":"@bycedric/snack-babel-standalone@3.0.0-rc.1","_nodeVersion":"18.14.0","_npmVersion":"9.4.2","dist":{"integrity":"sha512-V1YsqbBj9HaGvV7O7ldUbiiYw+3kAHAIS9heb58Rv9+g/zez62MGMphUxxV0Z+b6oVfCB0tkIbbHWjNyJb6EAQ==","shasum":"c14bf7e110d9af2f693e8eb9111209b35b50473a","tarball":"https://registry.npmjs.org/@bycedric/snack-babel-standalone/-/snack-babel-standalone-3.0.0-rc.1.tgz","fileCount":9,"unpackedSize":13550175,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICpPasQi0U7JHuACalZzgY5ybQfI4xvAf3SMshN04EOxAiBaqSOO4Cv7bq7W8+5lZrIM3xA7Q2XuuCoJF2kQZlLlxA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj94xGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpm3A//Yflt1ffw1//HYqnP2fkfchlG/rLGJNoDpsI1QxBxL8V/2AdB\r\nIiJ1x8fSIgvOztgBowKvipf4qF05LKL6pLSZZTKvPTBaHtYBlNf1KnagTfMs\r\nLwK8RmjSa0BREW09oolKLxFswoncuON4ZbiP47nkKZmWkBn0syRPFrLLJNVs\r\nPieOsdX4xDNq5SC9CxDOoxtd1fUZmAOM47QDVGSbiUOjNelI964dfDHEA0xs\r\ni+6CkQ78YQvf9b9gyY3kqdhIxSjOFGrlWsZjn7EjluEdTwZJU8eihj7/C6uD\r\nfJg5BlmJbvWRFdu2Qrderyg6EsGI6QEVidj6fuDQA7T0Dk4X5fMMRejj6G1S\r\npaCPQAlPWPkhSzguPNDdm/1ew/+uk9VWjnS9oKJpdNwl37twoReiiRPxkKGu\r\nT6gjuuYzBQhW1vLi8FjB25uCXWMTp8Kve67OFUgjkjPExmARX6wiiUQIt5qi\r\nqfQM2Gqqqp6okoPC4QLqDIOyO0J6SGf31umY/GE3DejeuuNqMvEKvOZ9aMRB\r\nWyCK8uByGJTFMw//oBfAPTajV+a0Zf6KXWbGEpofUzSMCw/dTYV7tZUYB2c7\r\nTjR/92tBH/jodMwN+AeZewbGaLJZa8EJAI2rUJ1g45bxPXkPrVwgzm+uRCoa\r\nZ2Tkih4qI0pFZCyAnbhtX2iJXqvPZeORMu4=\r\n=H2lj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bycedric","email":"me@bycedric.com"},"directories":{},"maintainers":[{"name":"bycedric","email":"me@bycedric.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snack-babel-standalone_3.0.0-rc.1_1677167686018_0.7403893759546336"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-23T14:28:15.843Z","3.0.0-rc.0":"2023-02-23T14:28:16.281Z","modified":"2023-02-23T15:54:46.444Z","3.0.0-rc.1":"2023-02-23T15:54:46.243Z"},"maintainers":[{"name":"bycedric","email":"me@bycedric.com"}],"description":"Babel for Snack Runtime and Website","homepage":"https://github.com/expo/snack#readme","repository":{"type":"git","url":"git+https://github.com/expo/snack.git","directory":"packages/snack-babel-standalone"},"author":{"name":"Expo","email":"support@expo.dev"},"bugs":{"url":"https://github.com/expo/snack/issues"},"license":"MIT","readme":"# snack-babel-standalone\n\nStandalone version of Babel used in Snack Runtime and Snack Website. This version of Babel is bundled with various presets and plugins for React Native. It's optimized to parse or transform code at runtime.\n\n> Note, this package is decoupled from the yarn workspaces to prevent possible mutliple babel versions being bundled.\n\n## Bundled plugins\n\n- `@babel/core`\n- `@babel/plugin-proposal-decorators`\n- `@babel/plugin-proposal-dynamic-import`\n- `@babel/plugin-proposal-nullish-coalescing-operator`\n- `@babel/plugin-proposal-optional-chaining`\n- `@babel/plugin-syntax-dynamic-import`\n- `@babel/plugin-transform-arrow-functions`\n- `@babel/plugin-transform-async-to-generator`\n- `@babel/plugin-transform-shorthand-properties`\n- `@babel/plugin-transform-template-literals`\n- `@babel/preset-typescript`\n- `metro-react-native-babel-preset`\n\n## Installation\n\n```bash\n$ yarn add snack-babel-standalone\n```\n\n## Usage\n\n```js\nimport * as babel from 'snack-babel-standalone';\n\nconst filename = 'test.js';\nconst code = `...`;\n\nconst result = babel.transform(code, {\n  presets: ['module:metro-react-native-babel-preset'],\n  plugins: [\n    ['@babel/plugin-transform-async-to-generator'],\n    ['@babel/plugin-proposal-decorators', { legacy: true }],\n    // Other plugins\n  ],\n  moduleIds: false,\n  sourceMaps: true,\n  compact: false,\n  filename,\n  sourceFileName: filename,\n});\n```\n\n## Caveats\n\nBecause this package is used in both the Snack Runtime, and as drop-in replacement for `@babel/core` in `snack-eslint-standalone`, we are using two separate entrypoints.\n\n- `snack-babel-standalone` → Default entrypoint and loads `./src/runtime.ts`.\n- `snack-babel-standalone/eslint` → `@babel/core` replacement for `@babel/eslint-parser` in [`snack-eslint-standalone`](../snack-eslint-standalone/README.md).\n\n> Keep these two entrypoints separated as much as possible, doing so will keep unnecessary code out of both bundles.\n\n## Contributing\n\nThis package has a few commands, mainly to build, analyze and build for publishing.\n\n- `yarn dev` → Builds an unoptimized development build.\n- `yarn build` → Builds an optimized production build.\n- `yarn analyze` → Builds an optimized production build, and opens the Webpack bundle analyzer.\n\n> When adding new packages, or upgrading old ones, make sure no Node dependencies are added with `yarn analyze`. Also make sure only the minimum required code is being bundled, create patches if necessary.\n","readmeFilename":"README.md"}