{"_id":"@vue/babel-sugar-composition-api-render-instance","_rev":"2908920","name":"@vue/babel-sugar-composition-api-render-instance","description":"Babel syntactic sugar for replaceing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api","dist-tags":{"latest":"1.4.0"},"maintainers":[{"name":"akryum","email":"alphadelta.fg@gmail.com"},{"name":"amour1688","email":"lcz_1996@foxmail.com"},{"name":"soda","email":"imyanglan@163.com"},{"name":"yyx990803","email":""}],"time":{"modified":"2023-01-13T07:52:48.000Z","created":"2020-10-16T12:36:45.646Z","1.4.0":"2022-08-25T11:55:05.617Z","1.3.0":"2022-07-06T07:36:46.581Z","1.2.4":"2020-10-27T14:22:04.991Z","1.2.1":"2020-10-16T12:54:38.408Z","1.2.0":"2020-10-16T12:36:45.646Z"},"users":{},"author":{"name":"luwanquan","email":"luwanquan@f-road.com.cn"},"repository":{"type":"git","url":"git+https://github.com/vuejs/jsx.git#master"},"versions":{"1.4.0":{"name":"@vue/babel-sugar-composition-api-render-instance","version":"1.4.0","description":"Babel syntactic sugar for replaceing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api","main":"dist/plugin.js","repository":{"type":"git","url":"git+https://github.com/vuejs/jsx.git#master"},"author":{"name":"luwanquan","email":"luwanquan@f-road.com.cn"},"license":"MIT","private":false,"publishConfig":{"access":"public"},"scripts":{"prepublish":"yarn build","build":"rollup -c","build:test":"rollup -c rollup.config.testing.js","pretest":"yarn build:test && cd ../babel-sugar-v-model && yarn build:test","test":"nyc --reporter=html --reporter=text-summary ava -v test/test.js"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.0","@babel/preset-env":"^7.2.0","ava":"^0.25.0","nyc":"^13.1.0","rollup":"^0.67.4","rollup-plugin-babel":"4.0.3","rollup-plugin-istanbul":"^2.0.1","rollup-plugin-uglify-es":"^0.0.1","vue":"^2.5.17"},"dependencies":{"@babel/plugin-syntax-jsx":"^7.2.0"},"peerDependencies":{"@babel/core":"^7.0.0-0"},"nyc":{"exclude":["dist","test"]},"gitHead":"6566e12067f5d6c02d3849b574a1b84de5634008","bugs":{"url":"https://github.com/vuejs/jsx/issues"},"homepage":"https://github.com/vuejs/jsx/tree/master#readme","_id":"@vue/babel-sugar-composition-api-render-instance@1.4.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/1.9.0/node@v16.15.0+arm64 (darwin)","dist":{"shasum":"2c1607ae6dffdab47e785bc01fa45ba756e992c1","size":1930,"noattachment":false,"key":"/@vue/babel-sugar-composition-api-render-instance/-/@vue/babel-sugar-composition-api-render-instance-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.4.0.tgz"},"_npmUser":{"name":"soda","email":"haoqunjiang+npm@gmail.com"},"directories":{},"maintainers":[{"name":"akryum","email":"alphadelta.fg@gmail.com"},{"name":"amour1688","email":"lcz_1996@foxmail.com"},{"name":"soda","email":"imyanglan@163.com"},{"name":"yyx990803","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-sugar-composition-api-render-instance_1.4.0_1661428505435_0.21833456058072587"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-25T12:20:17.461Z","publish_time":1661428505617,"_cnpm_publish_time":1661428505617},"1.3.0":{"name":"@vue/babel-sugar-composition-api-render-instance","version":"1.3.0","description":"Babel syntactic sugar for replaceing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api","main":"dist/plugin.js","repository":{"type":"git","url":"https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-render-instance"},"author":{"name":"luwanquan","email":"luwanquan@f-road.com.cn"},"license":"MIT","private":false,"publishConfig":{"access":"public"},"scripts":{"prepublish":"yarn build","build":"rollup -c","build:test":"rollup -c rollup.config.testing.js","pretest":"yarn build:test && cd ../babel-sugar-v-model && yarn build:test","test":"nyc --reporter=html --reporter=text-summary ava -v test/test.js"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.0","@babel/preset-env":"^7.2.0","ava":"^0.25.0","nyc":"^13.1.0","rollup":"^0.67.4","rollup-plugin-babel":"4.0.3","rollup-plugin-istanbul":"^2.0.1","rollup-plugin-uglify-es":"^0.0.1","vue":"^2.5.17"},"dependencies":{"@babel/plugin-syntax-jsx":"^7.2.0"},"peerDependencies":{"@babel/core":"^7.0.0-0"},"nyc":{"exclude":["dist","test"]},"gitHead":"f82f6182d294632a2cbddaacdff0a506c09e4ddc","_id":"@vue/babel-sugar-composition-api-render-instance@1.3.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/3.20.2/node@v16.15.0+arm64 (darwin)","dist":{"shasum":"3039d3d9eca09e56d41a56a03d73a146211c18a5","size":1929,"noattachment":false,"key":"/@vue/babel-sugar-composition-api-render-instance/-/@vue/babel-sugar-composition-api-render-instance-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.3.0.tgz"},"_npmUser":{"name":"soda","email":"haoqunjiang+npm@gmail.com"},"directories":{},"maintainers":[{"name":"akryum","email":"alphadelta.fg@gmail.com"},{"name":"amour1688","email":"lcz_1996@foxmail.com"},{"name":"soda","email":"imyanglan@163.com"},{"name":"yyx990803","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-sugar-composition-api-render-instance_1.3.0_1657093006429_0.8873712705410259"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-06T07:39:11.251Z","publish_time":1657093006581,"_cnpm_publish_time":1657093006581},"1.2.4":{"name":"@vue/babel-sugar-composition-api-render-instance","version":"1.2.4","description":"Babel syntactic sugar for replaceing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api","main":"dist/plugin.js","repository":{"type":"git","url":"https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-render-instance"},"author":{"name":"luwanquan","email":"luwanquan@f-road.com.cn"},"license":"MIT","private":false,"publishConfig":{"access":"public"},"scripts":{"prepublish":"yarn build","build":"rollup -c","build:test":"rollup -c rollup.config.testing.js","pretest":"yarn build:test && cd ../babel-sugar-v-model && yarn build:test","test":"nyc --reporter=html --reporter=text-summary ava -v test/test.js"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.0","@babel/preset-env":"^7.2.0","ava":"^0.25.0","nyc":"^13.1.0","rollup":"^0.67.4","rollup-plugin-babel":"4.0.3","rollup-plugin-istanbul":"^2.0.1","rollup-plugin-uglify-es":"^0.0.1","vue":"^2.5.17"},"dependencies":{"@babel/plugin-syntax-jsx":"^7.2.0"},"peerDependencies":{"@babel/core":"^7.0.0-0"},"nyc":{"exclude":["dist","test"]},"gitHead":"3a12ae2c13de6fdb47dce4394d26c74e048a25b6","_id":"@vue/babel-sugar-composition-api-render-instance@1.2.4","_nodeVersion":"12.19.0","_npmVersion":"lerna/3.20.2/node@v12.19.0+x64 (darwin)","_npmUser":{"name":"soda","email":"haoqunjiang+npm@gmail.com"},"dist":{"shasum":"e4cbc6997c344fac271785ad7a29325c51d68d19","size":1912,"noattachment":false,"key":"/@vue/babel-sugar-composition-api-render-instance/-/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz"},"maintainers":[{"name":"akryum","email":"alphadelta.fg@gmail.com"},{"name":"amour1688","email":"lcz_1996@foxmail.com"},{"name":"soda","email":"imyanglan@163.com"},{"name":"yyx990803","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-sugar-composition-api-render-instance_1.2.4_1603808524715_0.8369300799731936"},"_hasShrinkwrap":false,"publish_time":1603808524991,"_cnpm_publish_time":1603808524991},"1.2.1":{"name":"@vue/babel-sugar-composition-api-render-instance","version":"1.2.1","description":"Babel syntactic sugar for replaceing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api","main":"dist/plugin.js","repository":{"type":"git","url":"https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-render-instance"},"author":{"name":"luwanquan","email":"luwanquan@f-road.com.cn"},"license":"MIT","private":false,"publishConfig":{"access":"public"},"scripts":{"prepublish":"yarn build","build":"rollup -c","build:test":"rollup -c rollup.config.testing.js","pretest":"yarn build:test && cd ../babel-sugar-v-model && yarn build:test","test":"nyc --reporter=html --reporter=text-summary ava -v test/test.js"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.0","@babel/preset-env":"^7.2.0","ava":"^0.25.0","nyc":"^13.1.0","rollup":"^0.67.4","rollup-plugin-babel":"4.0.3","rollup-plugin-istanbul":"^2.0.1","rollup-plugin-uglify-es":"^0.0.1","vue":"^2.5.17"},"dependencies":{"@babel/plugin-syntax-jsx":"^7.2.0"},"peerDependencies":{"@babel/core":"^7.0.0-0"},"nyc":{"exclude":["dist","test"]},"gitHead":"ebe50c0f20b991fca6588cab93965629ffbcf64f","_id":"@vue/babel-sugar-composition-api-render-instance@1.2.1","_nodeVersion":"14.13.1","_npmVersion":"lerna/3.20.2/node@v14.13.1+x64 (darwin)","_npmUser":{"name":"soda","email":"haoqunjiang+npm@gmail.com"},"dist":{"shasum":"745cf4608ed71476c66434203d0603f32b4c025b","size":1819,"noattachment":false,"key":"/@vue/babel-sugar-composition-api-render-instance/-/@vue/babel-sugar-composition-api-render-instance-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.1.tgz"},"maintainers":[{"name":"akryum","email":"alphadelta.fg@gmail.com"},{"name":"amour1688","email":"lcz_1996@foxmail.com"},{"name":"soda","email":"imyanglan@163.com"},{"name":"yyx990803","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-sugar-composition-api-render-instance_1.2.1_1602852878216_0.7883495116267345"},"_hasShrinkwrap":false,"publish_time":1602852878408,"_cnpm_publish_time":1602852878408},"1.2.0":{"name":"@vue/babel-sugar-composition-api-render-instance","version":"1.2.0","description":"Babel syntactic sugar for replaceing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api","main":"dist/plugin.js","repository":{"type":"git","url":"https://github.com/vuejs/jsx/tree/master/packages/babel-sugar-composition-api-render-instance"},"author":{"name":"luwanquan","email":"luwanquan@f-road.com.cn"},"license":"MIT","private":false,"publishConfig":{"access":"public"},"scripts":{"prepublish":"yarn build","build":"rollup -c","build:test":"rollup -c rollup.config.testing.js","pretest":"yarn build:test && cd ../babel-sugar-v-model && yarn build:test","test":"nyc --reporter=html --reporter=text-summary ava -v test/test.js"},"devDependencies":{"@babel/cli":"^7.2.0","@babel/core":"^7.2.0","@babel/preset-env":"^7.2.0","ava":"^0.25.0","nyc":"^13.1.0","rollup":"^0.67.4","rollup-plugin-babel":"4.0.3","rollup-plugin-istanbul":"^2.0.1","rollup-plugin-uglify-es":"^0.0.1","vue":"^2.5.17"},"dependencies":{"@babel/plugin-syntax-jsx":"^7.2.0"},"peerDependencies":{"@babel/core":"^7.0.0-0"},"nyc":{"exclude":["dist","test"]},"gitHead":"a6f821f59f55f5dcb9de8850d2105ebd92e1c864","_id":"@vue/babel-sugar-composition-api-render-instance@1.2.0","_nodeVersion":"14.13.1","_npmVersion":"6.14.8","dist":{"shasum":"59f278cac1de2f299f12fae309c95757857243d5","size":1816,"noattachment":false,"key":"/@vue/babel-sugar-composition-api-render-instance/-/@vue/babel-sugar-composition-api-render-instance-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.0.tgz"},"maintainers":[{"name":"akryum","email":"alphadelta.fg@gmail.com"},{"name":"amour1688","email":"lcz_1996@foxmail.com"},{"name":"soda","email":"imyanglan@163.com"},{"name":"yyx990803","email":""}],"_npmUser":{"name":"soda","email":"haoqunjiang+npm@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-sugar-composition-api-render-instance_1.2.0_1602851805539_0.4790837869867923"},"_hasShrinkwrap":false,"publish_time":1602851805646,"_cnpm_publish_time":1602851805646}},"readme":"## @vue/babel-sugar-composition-api-render-instance\n\n> Ported from [luwanquan/babel-preset-vca-jsx](https://github.com/luwanquan/babel-preset-vca-jsx) by [@luwanquan](https://github.com/luwanquan)\n\nBabel syntactic sugar for replacing `this` with `getCurrentInstance()` in Vue JSX with @vue/composition-api\n\n### Babel Compatibility Notes\n\n- This repo is only compatible with Babel 7.x\n\n### Usage\n\nInstall the dependencies:\n\n```sh\n# for yarn:\nyarn add @vue/babel-sugar-composition-api-render-instance\n# for npm:\nnpm install @vue/babel-sugar-composition-api-render-instance --save\n```\n\nIn your `.babelrc`:\n\n```json\n{\n  \"plugins\": [\"@vue/babel-sugar-composition-api-render-instance\"]\n}\n```\n\nHowever it is recommended to use the [configurable preset](../babel-preset-jsx/README.md) instead.\n\n### Details\n\nThis plugin automatically replaces `this` in `setup()` with `getCurrentInstance()`. This is required for JSX to work in @vue/composition-api as `this` is not available in `setup()`\n\nInput:\n\n```jsx\ndefineComponent({ \n  setup() {\n    return () => <MyComponent vModel={a.b} />\n  }\n})\n```\n\nOutput (without @vue/babel-sugar-composition-api-render-instance):\n\n```jsx\ndefineComponent({\n  setup() {\n    return () => <MyComponent model={{\n      value: a.b,\n      callback: $$v => {\n        this.$set(a, \"b\", $$v);\n      }\n    }} />\n  }\n})\n```\n\nOutput (with @vue/babel-sugar-composition-api-render-instance):\n\n```jsx\nimport { getCurrentInstance } from \"@vue/composition-api\";\n\ndefineComponent({\n  setup() {\n    const __currentInstance = getCurrentInstance();\n\n    return () => <MyComponent model={{\n      value: a.b,\n      callback: $$v => {\n        __currentInstance.$set(a, \"b\", $$v);\n      }\n    }} />\n  }\n})\n```\n","_attachments":{},"homepage":"https://github.com/vuejs/jsx/tree/master#readme","bugs":{"url":"https://github.com/vuejs/jsx/issues"},"license":"MIT"}