{"dist":{"shasum":"5e4efc7f81fda40c5bc69655ea1182f19dbe3236","tarball":"https://registry.npmjs.org/@builder/swc/-/swc-0.1.4-beta.4.tgz","fileCount":6,"integrity":"sha512-52RaYD7kHZZaprLPKZnQF40kiY2jJADs8KmLpY4O+nWyLKhN6A1NAbC/d5rKx7OkAvlTrjcMbexmN5/+0GEx6w==","signatures":[{"sig":"MEUCIFSTU9qgwHie0t+v9ujJe5fV2lWSjti76EHj6ymf3wRFAiEAq9sFrks7wjxnSeSam+nxNQqJs7HUZvrsJZS9ae/FDZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31745,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOsLaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxpA//UA5FVkhSLVv5asIruV2a04V7NvC7a6dBe0pv/ZT6yhoJRKpH\r\ncrU56vAKwPV6zjz4gHyM1t+J7HzQM3PuqjU527KzTXXQlOEn4w/AdrhmX7IO\r\nc9uv6P2gIrDzO+H5ow0z0obT5D9ReODKmP1FZpWO7v/ykh+oMSLz/yxGZ6hF\r\nKyLmiK4yFjJ28Njrb+FS+NO2G5NrqZhO1FO1KkHFAgzuTnA4/YHx49OmBrzc\r\nvjME/xt6EBBWPiT939NlYdrDtOJIbJpOK/TDljlf2DJgftAba65l5Jl6TEXe\r\nb9Eogv2xTDQJ41PNi2ojpJyD0W5AuG1hm+cLu5j4jVr7r91JlllP/fU40mUJ\r\nQtq2ut/KjlQaZxp+gK7W3PVdkUTFuef0BRW9DKkGbrKSJ1+fYZO0DnwJ9CBK\r\n/yOA3RmzFLeVTtAP2teHl14qiN2FEHE2REs007luHc57oPzc/GeqbGAKMt7W\r\nVrCvMJ+habFRmvFMoQxl4VVQ+WMXo74RFjfRJWR2f/i/CSX6DBaxHniSXZs/\r\nhAxPDvlQ9LZVLcRPZVon3QU37ApizZArCKamhbO+ltDcL985d5xsHq7/ncsc\r\ns7rDh2oyAN70zk7d7qJsmSaGFAl6L2uJ1XiYwdhJsEAZIGdadOHzFV4u6WVm\r\ncKCZBVCc8R7FRTUvxcz63Bo7AfvEXc5Kc1s=\r\n=7/7N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","name":"@builder/swc","napi":{"name":"builder-swc","triples":{"defaults":true,"additional":["aarch64-apple-darwin","aarch64-unknown-linux-gnu"]}},"husky":{"hooks":{"pre-push":"npm run lint","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"types":"./lib/index.d.ts","readme":"## @builder/swc\n\n>swc version is 0.115.0\n\n<img src=\"https://img.shields.io/npm/v/@builder/swc.svg\" alt=\"npm package\" />\n<img src=\"https://img.shields.io/npm/dm/@builder/swc.svg\" alt=\"npm downloads\" />\n\nCustom swc for [ice.js](https://github.com/alibaba/ice) and [rax-app](https://github.com/raxjs/rax-app).\n\n<i>Customization is achieved through the pass hook of swc.</i>\n\n### Platform Support\n\n- Windows x64\n- macOS x64\n- macOS aarch64\n- Linux aarch64 gnu\n- Linux x64 gnu\n\n### API\n\n#### transformSync(code: string, options)\n\n> Return { code: string, map?: string }\n\nSynchronous transform code. You can pass [@swc/core options](https://swc.rs/docs/configuration/compilation) directly.\n\n```js\nimport { transformSync } from '@builder/swc';\n\nconst { code, map } = transformSync('var a = 1;', {\n  jsc: {\n    parser: {\n      syntax: \"ecmascript\",\n    },\n    transform: {},\n  },\n});\n```\n\n**options.keepPlatform**\n\nTransform the variables which exported by `universal-env` to bool. The output code will remove other platform code by compressor.\n\n```js\nimport { transformSync } from '@builder/swc';\n\n// Case 1: import specifier\n// Input\nvar input = `\nimport { isWeb, isWeex } from 'universal-env';\n\nif (isWeb) {\n  console.log('This is web code');\n} else {\n  console.log('This is weex code');\n}\n`;\n\nvar { code, map } = transformSync(input, {\n  jsc: {\n    parser: {\n      syntax: \"ecmascript\",\n    },\n    transform: {},\n  },\n  keepPlatform: 'web',\n});\n\nconsole.log(code);\n/* The output code is:\nvar isWeb = true;\nvar isWeex = false;\n\nif (isWeb) {\n  console.log('This is web code');\n} else {\n  console.log('This is weex code');\n}\n*/\n\n// Case 2: import namespace specifier\n// Input\nvar input = `\nimport * as env from 'universal-env';\n\nif (env.isWeb) {\n  console.log('This is web code');\n} else {\n  console.log('This is weex code');\n}\n`;\n\nvar { code, map } = transformSync(input, {\n  jsc: {\n    parser: {\n      syntax: \"ecmascript\",\n    },\n    transform: {},\n  },\n  keepPlatform: 'web',\n});\n\nconsole.log(code);\n/* The output code is:\nvar env = {\n  isWeb: true\n};\n\nif (env.isWeb) {\n  console.log('This is web code');\n} else {\n  console.log('This is weex code');\n}\n*/\n```\n\n#### transform(code: string, options)\n\n> Return Promise<{ code: string, map?: string }>\n\nAsynchronous transform code. The options is the same as `transformSync`.\n\n```js\nimport { transformSync } from '@builder/swc';\n\nconst { code, map } = await transformSync(input, {\n  jsc: {\n    parser: {\n      syntax: \"ecmascript\",\n    },\n    transform: {},\n  },\n  keepPlatform: 'web',\n});\n```\n\n\n#### minify\n\n> Return Promise<{ code: string, map?: string }>\n\nIt is the same as [@swc/core](https://swc.rs/docs/configuration/minification).\n\nThis API is asynchronous and all of parsing, minification, and code generation will be done in background thread.\n\n```js\nimport { minify } from \"@builder/swc\";\n\nconst { code, map } = await minify(\n  \"import foo from '@src/app'; console.log(foo)\",\n  {\n    compress: false,\n    mangle: true,\n  }\n);\n\nexpect(code).toMatchInlineSnapshot(`\"import a from'@src/app';console.log(a);\"`);\n```\n\n#### minifySync\n\n> { code: string, map?: string }\n\nIt is the same as [@swc/core](https://swc.rs/docs/configuration/minification).\n\n```js\nimport { minifySync } from \"@builder/swc\";\n\nconst { code, map } = minifySync(\n  \"import foo from '@src/app'; console.log(foo)\",\n  {\n    compress: false,\n    mangle: true,\n  }\n);\n\nexpect(code).toMatchInlineSnapshot(`\"import a from'@src/app';console.log(a);\"`);\n```\n","engines":{"node":">= 12"},"gitHead":"7032bce84f6ef7c0c8cba8868f4833779efd3794","license":"MIT","scripts":{"lint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./","test":"jest --forceExit --ci","build":"npm run clean && npx tsc --build ./tsconfig.json","clean":"rimraf ./lib","setup":"rm -rf node_modules && yarn install && npm run build","watch":"npm run clean && npx tsc --build ./tsconfig.json -w","publish":"npm run copy:swc && ts-node ./scripts/publish-package.ts","version":"napi version -p ./npm -c ./package.json","copy:swc":"ts-node ./scripts/copySwcBinaries.ts","lint:fix":"npm run lint -- --fix","build:swc":"npm run clean:swc && napi build --platform --release --cargo-cwd ./ ./native --js=false","clean:swc":"rimraf ./native","test:watch":"jest --watch","publish:beta":"npm run copy:swc && PUBLISH_TYPE=beta ts-node ./scripts/publishPackageWithDistTag.ts"},"_npmUser":{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},"_npmVersion":"8.5.4","description":">swc version is 0.115.0","directories":{},"maintainers":[{"name":"maoxiaoke","email":"thebigyellowbee@qq.com"},{"name":"solojiang","email":"feifeishen1996@gmail.com"},{"name":"chriscindy","email":"yxy0919@foxmail.com"},{"name":"rax-publisher","email":"rax-public@alibaba-inc.com"},{"name":"sobear","email":"sobear.me@gmail.com"},{"name":"clarkxia","email":"xiawenwu41@gmail.com"},{"name":"luhengchang228","email":"luhengchang228@126.com"}],"_nodeVersion":"14.17.4","dependencies":{"@napi-rs/triples":"^1.0.3","@builder/swc-darwin-x64":"0.1.4-beta.4","@builder/swc-darwin-arm64":"0.1.4-beta.4","@builder/swc-linux-x64-gnu":"0.1.4-beta.4","@builder/swc-win32-x64-msvc":"0.1.4-beta.4","@builder/swc-linux-arm64-gnu":"0.1.4-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^27.4.5","husky":"^4.1.0","eslint":"^7.0.0","semver":"^7.3.5","ts-jest":"^27.1.2","ts-node":"^8.6.1","fs-extra":"^10.0.0","typescript":"^4.0.0","@types/jest":"^27.4.0","@types/node":"^14.17.15","@napi-rs/cli":"^2.0.0","ice-npm-utils":"^3.0.1","@appworks/spec":"^1.0.0","@commitlint/cli":"^11.0.0"},"optionalDependencies":{"@builder/swc-darwin-x64":"0.1.4-beta.4","@builder/swc-darwin-arm64":"0.1.4-beta.4","@builder/swc-linux-x64-gnu":"0.1.4-beta.4","@builder/swc-win32-x64-msvc":"0.1.4-beta.4","@builder/swc-linux-arm64-gnu":"0.1.4-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/swc_0.1.4-beta.4_1648018138640_0.790298868199129","host":"s3://npm-registry-packages"},"_id":"@builder/swc@0.1.4-beta.4","version":"0.1.4-beta.4"}