{"_id":"@bugaboo/babel-plugin-mobx-deep-action","_rev":"5-e9be4a66080b0ba1ef608110164cfbfb","name":"@bugaboo/babel-plugin-mobx-deep-action","dist-tags":{"latest":"2.0.4"},"versions":{"1.6.1":{"name":"@bugaboo/babel-plugin-mobx-deep-action","version":"1.6.1","keywords":["mobx","babel-plugin"],"author":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"license":"MIT","_id":"@bugaboo/babel-plugin-mobx-deep-action@1.6.1","maintainers":[{"name":"bugaboo","email":"hj497304787@vip.qq.com"}],"homepage":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action#readme","bugs":{"url":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action/issues"},"dist":{"shasum":"f57cfbf2ba7a404d6fde07eeb4f079616a5d26eb","tarball":"https://registry.npmjs.org/@bugaboo/babel-plugin-mobx-deep-action/-/babel-plugin-mobx-deep-action-1.6.1.tgz","fileCount":4,"integrity":"sha512-pbaOznAarf6fRy9c48TaOt2i6O0MyxE2OG4eXGFcAc6BchjJAkzP9hK0aCv/gAWmRoJ3pYHyY8kFxBtoir6egw==","signatures":[{"sig":"MEUCIE9MkYYAYEEwQ5X98W972Bt3IaWcldtxIfH9sgY7QpbRAiEAxVAUWJRQYjqjPjJ3EIPP9zkPB5/8aAyN7DwK71xg0RM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyeILCRA9TVsSAnZWagAAEJYP+QBpuaalutAzrBxKPcaT\n8lMlMoLo79nLo9xUUWjMD2LrKv0USyVLki9tJIW1s1YwJ30qUeh5E5e+xkkb\nTs2YdgzN2TaAPuCRtdCJZRZ38I//lSK8ebSbD5reSbUebY+LCgttFaWMw4uq\nRj9ZXtLdDtiv+JeBcSGWmofqNiqAaDd1QoRIRNPjZ1UkERYeogcFbMugXr++\nEfwlP9C++UKG5O+BbHIPAqEwcBCnTROvAW/c3CEAtESACZ5ki7nzUY82TNda\n2HToguFWaYaNVCcMClA/LMcpOye+8cDgp38NIx75PNuUp45DDI/2SimiUtWA\nmUc03mCPoNlqtC6Se9Ny5yeSjHZyYhpXEk3zuUoP32NxRwc8iMU2JsEUVPmg\n/jLRKpUhOq5Doza5OhY7/90ggWBwnbp17t0km7P+jm3yzkFqWJkLFhL5rXoU\ntt9osZASjISWYf1XfGhNtMapv1AxuUKBXlrKq8IXHX+E9aZkEbx2sJHmrkGs\nZN8GP5oCSInn+nPDJt0YJ4M4AdCZ87BzDEuORXv6mfsW+WZIFk5QVRfSJz+p\npigj1eTc9g6vfvem9Pu78AthvJsjS+S768Lp5yPUodw/opN4p0SmlUDeULep\nlj8gmDoVn8bIwVLg0fcWeyWrrTsKiKDIejp6m4CHMuR2XCAqPzh5jLaOyP1n\n5ACm\r\n=iSyH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"742a56cd0c582754d217d9b184d6b681c54a06ee","scripts":{"test":"mocha --compilers js:babel-register","build":"babel src -d lib","clean":"rm -rf lib","prepublish":"npm run clean && npm run build","test:watch":"npm run test -- --watch"},"_npmUser":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"repository":{"url":"git+https://github.com/BigBugaboo/babel-plugin-mobx-deep-action.git","type":"git"},"_npmVersion":"6.14.8","description":"Allow to reduce boilerplate of writing async actions","directories":{},"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"mocha":"^2.2.5","babylon":"^6.14.1","babel-cli":"^6.18.0","babel-core":"^6.18.2","babel-register":"^6.18.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-plugin-transform-regenerator":"^6.16.1","babel-plugin-transform-decorators-legacy":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/babel-plugin-mobx-deep-action_1.6.1_1607066122502_0.6569361707308339","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@bugaboo/babel-plugin-mobx-deep-action","version":"2.0.2","keywords":["mobx","babel-plugin"],"author":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"license":"MIT","_id":"@bugaboo/babel-plugin-mobx-deep-action@2.0.2","maintainers":[{"name":"bugaboo","email":"hj497304787@vip.qq.com"}],"homepage":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action#readme","bugs":{"url":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action/issues"},"dist":{"shasum":"762d47e99f264e84096b2219c1dac53d152ce7b7","tarball":"https://registry.npmjs.org/@bugaboo/babel-plugin-mobx-deep-action/-/babel-plugin-mobx-deep-action-2.0.2.tgz","fileCount":4,"integrity":"sha512-ATBaEVl0R3URYHLSHXRlIMr+eat3IzqobREloC4zv8VBcW6fVkalIRDGj3uNGogYUcifUzZYYSBl2Ob8oBRogg==","signatures":[{"sig":"MEUCIQCe8V3yq0aCZWjQaY+vRU8FhkScgeqx7B4g0Cn+wre/lwIgMPdRA58lRLQ2PqH8f+bWOjkgQxPzq2+2P6B8EnZ5vEk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyeZPCRA9TVsSAnZWagAASTAP/0rOsLoTQNK/VT6EoWe5\nsGqtIXtNKJwiMW9gHxJKhcfb7c2nY/XO7f1mY6LRBFdAVnxqbTVjZwOg9B1y\nQ/XLQ5549/reJ7PfzM93gFmt50A9FgX/QKPmb+DcKSQQJiPBF9y/4rqTMfH+\ncD75FCoLzGFYqFJyIHeLFiiY5zcpZ5uMLOXGORrfrbdvyTFB8VKszzZ5e9wJ\nua7HGGPV2YK8ao5aaVzTa0zSPs6dK+g4NILQmbvE5HH6RZq3tg7jK/Yumeyb\n63gBGvIH9VvY+kYfU+UDmZmBzGwn5cC8O9bhB0xUdHESx56U1DyfhS+bLvXy\nZ4IyJvXOkMNxpvew85QLF6gMF52sWvXxC73CFr3FUwMK1W8ZKQIoApRKIa5+\nu/IwW9EwFV4VKDC0lS1rTOxWgO12RU2Oe5VpwfkFtPAFbb3MupkUQfZ7TM0J\nDI4nT++r+IXaCfrCbYp0U0mhhhPyrXkxiaJ1FjbcA+4CSJUFYrI7ZSOFmbHT\nzzIwQGn/LQRI/upKf0uoRrS2akl1jUlkTAgK2XGEUZcA1b1srPdT+/NhmmU6\nSYTUn5W2q2uMT5ZnoTxL8DQHfc+5zhvOX/RwYV+xaW5YFqWwS+rzup3Xexqx\nuFpMBc0DM1yzg0cgKLLuX//TK5FvSRPrkepswngoS9CsBWnrHJssMfuUUx1t\nJPl5\r\n=e4DS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"eb8b9a019f5fc17ed0e6ac99ff23c86a5601b64e","scripts":{"test":"mocha --compilers js:babel-register","build":"babel src -d lib","clean":"rm -rf lib","prepublish":"npm run clean && npm run build","test:watch":"npm run test -- --watch","deploy:hotfix":"npm version patch && npm publish -access public","deploy:feature":"npm version minor && npm publish -access public"},"_npmUser":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"repository":{"url":"git+https://github.com/BigBugaboo/babel-plugin-mobx-deep-action.git","type":"git"},"_npmVersion":"6.14.8","description":"Allow to reduce boilerplate of writing async actions","directories":{},"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"mocha":"^2.2.5","babylon":"^6.14.1","babel-cli":"^6.18.0","babel-core":"^6.18.2","babel-register":"^6.18.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-plugin-transform-regenerator":"^6.16.1","babel-plugin-transform-decorators-legacy":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/babel-plugin-mobx-deep-action_2.0.2_1607067215377_0.022022127714308892","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"@bugaboo/babel-plugin-mobx-deep-action","version":"2.0.3","keywords":["mobx","babel-plugin"],"author":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"license":"MIT","_id":"@bugaboo/babel-plugin-mobx-deep-action@2.0.3","maintainers":[{"name":"bugaboo","email":"hj497304787@vip.qq.com"}],"homepage":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action#readme","bugs":{"url":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action/issues"},"dist":{"shasum":"b51ac31d5ab4996a17be9e7f457b56714ed9b07b","tarball":"https://registry.npmjs.org/@bugaboo/babel-plugin-mobx-deep-action/-/babel-plugin-mobx-deep-action-2.0.3.tgz","fileCount":4,"integrity":"sha512-FvPVVghwsznQpXEivpsV6pxqJp87L+DecJ3kJ0eTmc7AlUqr3xc1WsZUxCck7tkXjRfHwDNzSREDxSb6ivVf0w==","signatures":[{"sig":"MEUCIDW+W9W5r5k6xdddPATOu2oul2fOl4xJdX/U66Ye04BjAiEA0A5veM+sl5+kwagnmgNGvaZIDcJFeK6KmLoOVc7jnkU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfye/YCRA9TVsSAnZWagAAi6EP/jQCKzLBCI3w93eVNZeg\nOiw0Q2fH2ZQFe2MPey7wmoBsEVDtenX1XPMpCFtY8/3s8WpSJh3ov+bBsAip\nRnAh+3Bl/cmhEeApkeeDGEdh+fPDS27oQHDrucH8a3Q94CP8dXW5SOL5N6xc\nuzUM8tUgCqdORzn2FN3v4FBa9ah6957QQfPZWLLj/9jJCGofb3gANnxKV4iC\noYON7iP8MukxmM5V62qShP9RpjxQ9r98/pZ9BC6PyZhKrhvcOj5jOuEFRFsK\naT1qd1GfwteM6UJRi1xVCGkV+H6hMeqL112OTfZRuUvmBaMUIsYh229UzlmQ\ndyyk6x8KzoBCJTy82qgesBWKAqHy2/NA3Tza3s2wmtEhzY534KhHoDwquV1D\ntosEOUW4rOQD52qbY09m/9sNYRjUlY8y2PbSicT8GjMDwwjSVng1V3BCqohj\ndMYuTDNs0DDKnaYyy7jsOXO5tGQJ98UymCuc3fwvCL8/XOTB9aC7xQTmZP9x\ntTJZsXEIfftq6LxWpysyln7O7Rj6ENn3nqLIiJ2WDnUWtFHQIrZtt7TwkI6V\niUqChHrjIwxckiEMVH3KspGsijhiuF6FtkSyTqOLKot200uKY8iRA65uerHg\nZDIKH5lJV31BdFX40TVKSueeU3uZo5kh3KSXcLNUTq7iYAaoWWRKT/2gdxmT\nNXEv\r\n=3DGc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","gitHead":"008afc93ccc27150490e6dfb13feed6f91017622","scripts":{"test":"mocha --compilers js:babel-register","build":"babel src -d lib","clean":"rm -rf lib","prepublish":"npm run clean && npm run build","test:watch":"npm run test -- --watch","deploy:hotfix":"npm version patch && npm publish -access public","deploy:feature":"npm version minor && npm publish -access public"},"_npmUser":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"repository":{"url":"git+https://github.com/BigBugaboo/babel-plugin-mobx-deep-action.git","type":"git"},"_npmVersion":"6.14.8","description":"Allow to reduce boilerplate of writing async actions","directories":{},"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"mocha":"^2.2.5","babylon":"^6.14.1","babel-cli":"^6.18.0","babel-core":"^6.18.2","babel-register":"^6.18.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-0":"^6.3.13","babel-plugin-transform-regenerator":"^6.16.1","babel-plugin-transform-decorators-legacy":"^1.3.4"},"_npmOperationalInternal":{"tmp":"tmp/babel-plugin-mobx-deep-action_2.0.3_1607069656073_0.350434739640179","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@bugaboo/babel-plugin-mobx-deep-action","license":"MIT","version":"2.0.4","description":"Allow to reduce boilerplate of writing async actions","repository":{"type":"git","url":"git+https://github.com/BigBugaboo/babel-plugin-mobx-deep-action.git"},"author":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"main":"lib/index.js","devDependencies":{"@babel/cli":"^7.13.14","@babel/core":"^7.13.14","@babel/plugin-proposal-decorators":"^7.13.5","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/preset-env":"^7.13.12","@babel/register":"^7.13.14","babylon":"^6.14.1","mocha":"^2.2.5"},"scripts":{"deploy:hotfix":"npm version patch && npm publish --access public","deploy:feature":"npm version minor && npm publish --access public","clean":"rm -rf lib","build":"babel src -d lib","test":"mocha --compilers js:@babel/register","test:watch":"npm run test -- --watch","start":"npm run clean && npm run build","prepublishOnly":"npm run clean && npm run build"},"keywords":["mobx","babel-plugin"],"gitHead":"9582677a2911f5d03b57b1a8d6166ec5ce412deb","_id":"@bugaboo/babel-plugin-mobx-deep-action@2.0.4","bugs":{"url":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action/issues"},"homepage":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-4DfWSqVoJtuZ7Xg3XmAuwg3yNH6lW8T83YvIEa3pHWFNvWqE6k4/LSMrGbnoPC0vvcodnrC7hDXfC1cN9wEAVw==","shasum":"ef82afd55149720bce455b85cfb9d3b82c091547","tarball":"https://registry.npmjs.org/@bugaboo/babel-plugin-mobx-deep-action/-/babel-plugin-mobx-deep-action-2.0.4.tgz","fileCount":4,"unpackedSize":24783,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG2vvYyQ29prYhd8X7CGs/C2DOJ52NzgICkkDI4TTpziAiBBYdGjWuSFhvlA+4vtZ8F2jlwBghUawAh8GwmnvbCVyw=="}]},"_npmUser":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"directories":{},"maintainers":[{"name":"bugaboo","email":"hj497304787@vip.qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/babel-plugin-mobx-deep-action_2.0.4_1780285731055_0.7602346955597998"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-04T07:15:22.469Z","modified":"2026-06-01T03:48:51.297Z","1.6.1":"2020-12-04T07:15:22.608Z","2.0.2":"2020-12-04T07:33:35.606Z","2.0.3":"2020-12-04T08:14:16.202Z","2.0.4":"2026-06-01T03:48:51.197Z"},"bugs":{"url":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action/issues"},"author":{"name":"bugaboo","email":"hj497304787@vip.qq.com"},"license":"MIT","homepage":"https://github.com/BigBugaboo/babel-plugin-mobx-deep-action#readme","keywords":["mobx","babel-plugin"],"repository":{"type":"git","url":"git+https://github.com/BigBugaboo/babel-plugin-mobx-deep-action.git"},"description":"Allow to reduce boilerplate of writing async actions","maintainers":[{"name":"bugaboo","email":"hj497304787@vip.qq.com"}],"readme":"# babel-plugin-mobx-deep-action\n\n[![npm version](https://badge.fury.io/js/%40bugaboo%2Fbabel-plugin-mobx-deep-action.svg)](https://badge.fury.io/js/%40bugaboo%2Fbabel-plugin-mobx-deep-action)\n\n## Translations\n- [简体中文](https://github.com/BigBugaboo/babel-plugin-mobx-deep-action/blob/master/tanslations/zh-Hans/README.md)\n\nAllow to reduce boilerplate of writing async actions.\nBased on assumption, that all code created inside an action,\nshould be handled as action too.\n\nThis plugin scans for all functions, marked as actions, and then marks all\nnested functions, which created inside actions as actions too.\n\nIt works with the classic `action` API and with mobx 6's `makeAutoObservable`\n(see [Caveats](#caveats)).\n\n* [Usage with async and generator functions](#toc-usage-async)\n* [Typescript decorators](#toc-typescript-decorators)\n* [Use other package](#toc-mobx-package)\n\n## Example\n\n**In**\n\n```js\nimport { action } from \"mobx\";\n\naction(function doSome() {\n  fetch(\"/api/list\").then(function(response) {\n    this.items = response.data;\n  });\n});\n```\n\n**Out**\n\n```js\n\"use strict\";\n\nimport { action } from \"mobx\";\n\naction(function doSome() {\n  fetch(\"/api/list\").then(action(function(response) {\n    this.items = response.data;\n  }));\n});\n```\n\n## Caveats\nThe plugin only supports ES6 `import` syntax.\n\nIf your store class calls mobx 6's `makeAutoObservable(this)` in its constructor, the\nplugin detects it automatically and deep-wraps the nested functions inside the class\nmethods as actions. It also injects `import { action } from \"mobx\"` for you when it is\nnot already imported.\n\nIf you do not use `makeAutoObservable`, import `action` from mobx explicitly.\n\nOnly these imports are supported:\n```\nimport {action} from \"mobx\";\n```\n```\nimport {action as actionAlias} from \"mobx\";\n```\n```\nimport * as mobx from \"mobx\";\n```\n```\nimport * as mobxAlias from \"mobx\";\n```\nFor example, these cases are **not supported**:\n```\nconst mobx = require(\"mobx\")\n```\n```\nconst {action} = require(\"mobx\")\n```\n```\nimport * as mobx from \"my-mobx-alias\"\n```\n```\nimport * as mobx from \"mobx\";\nconst {action} = mobx;\naction(function() {});\n```\n\n\n## Installation\n\n```sh\n$ npm install @bugaboo/babel-plugin-mobx-deep-action\n```\n\n## Usage\n\n### Via `.babelrc` (Recommended)\n\n**.babelrc**\n\n```json\n{\n  \"plugins\": [\"@bugaboo/babel-plugin-mobx-deep-action\"]\n}\n```\n\n### Via CLI\n\n```sh\n$ babel --plugins @bugaboo/babel-plugin-mobx-deep-action script.js\n```\n\n### Via Node API\n\n```javascript\nrequire(\"@babel/core\").transform(\"code\", {\n  plugins: [\"@bugaboo/babel-plugin-mobx-deep-action\"]\n});\n```\n\n\n## <a id=\"toc-usage-async\"></a> Usage for async and generator functions.\n\nsee https://github.com/Strate/babel-plugin-mobx-async-action\n\n## <a id=\"toc-typescript-decorators\"></a> Typescript decorators.\n\nThis plugin could handle decorators code, emitted from typescript, such as:\n\n```js\nimport * as tslib_1 from \"tslib\";\nimport { action } from \"mobx\";\nexport default class Class2 {\n    async method() {\n        const a = (other) => { };\n        return a(function () { });\n    }\n}\ntslib_1.__decorate([\n    action\n], Class2.prototype, \"method\", null);\n```\n\nTo get this code worked, you should enable [importHelpers](https://www.typescriptlang.org/docs/handbook/compiler-options.html)\ncompiler option, and get [tslib](https://www.npmjs.com/package/tslib) package installed. Also, typescript\nshould emit es6 modules, so, you should target your compiler to es2015+. That's all,\nplugin detect import from \"tslib\" and handle typescript decorators.\n\n## <a id=\"toc-mobx-package\"></a> Use other package.\n\nIf you use wrapper for \"mobx\" package, you can pass it's name to plugin:\n\n#### .babelrc\n\n```json5\n{\n  \"plugins\": [\n    [\"@bugaboo/babel-plugin-mobx-deep-action\", {\n      \"mobx-package\": \"mobx-custom\"\n    }]\n  ]\n}\n```\n","readmeFilename":"README.md"}