{"id":24592382,"url":"https://github.com/darmody/babel-plugin-stub","last_synced_at":"2025-10-25T12:52:25.328Z","repository":{"id":42744321,"uuid":"281357584","full_name":"Darmody/babel-plugin-stub","owner":"Darmody","description":"a babel plugin helps you easily mock your code (usually when you debug it) without modify the source code.","archived":false,"fork":false,"pushed_at":"2023-01-06T12:03:12.000Z","size":1355,"stargazers_count":4,"open_issues_count":14,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-16T09:20:03.867Z","etag":null,"topics":["babel","babel-plugin","stub"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Darmody.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-21T09:44:33.000Z","updated_at":"2020-07-22T02:33:25.000Z","dependencies_parsed_at":"2023-02-06T01:15:49.708Z","dependency_job_id":null,"html_url":"https://github.com/Darmody/babel-plugin-stub","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Darmody%2Fbabel-plugin-stub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Darmody%2Fbabel-plugin-stub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Darmody%2Fbabel-plugin-stub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Darmody%2Fbabel-plugin-stub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Darmody","download_url":"https://codeload.github.com/Darmody/babel-plugin-stub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235418835,"owners_count":18987137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["babel","babel-plugin","stub"],"created_at":"2025-01-24T10:14:21.016Z","updated_at":"2025-10-25T12:52:20.295Z","avatar_url":"https://github.com/Darmody.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# babel-plugin-stub\n\n\u003e a babel plugin help you stubbing code easily (usually when you test/debug it) without modify the source code.\n\nIt's a handy tool help you temporary modify code when you dubug for some spcial cases. \nYou can also use it combine with testing framework (e.g. Jest) for method stub or mocking!\n\n## Install\n\nUsing npm:\n\n```bash\nnpm install --save-dev babel-plugin-stub\n```\n\nor using yarn:\n\n```bash\nyarn add babel-plugin-stub --dev\n```\n\n## Usage\n\n### Configuration\n\n```js\n// babel.config.js\nmodule.exports = function (api) {\n  api.cache(true);\n\n  return {\n    // recommend using environment variable to apply plugin as your need.\n    plugins: [process.env.STUB \u0026\u0026 'stub'].filter(i =\u003e i),\n  };\n};\n```\n\n### Variable\n\n```js\n// @stub 'string'\nlet string = 'value';\n// @stub 1\nlet number = 'value';\n// @stub undefined\nlet undef = 'value';\n// @stub null\nlet nil = 'value';\n// @stub true\nlet truly = 'value';\n// @stub false\nlet falsy = 'value';\n```\n\nturns into\n\n```js\nlet string = 'string';\nlet number = 1;\nlet undef = undefined;\nlet nil = null;\nlet truly = true;\nlet falsy = false;\n```\n\n### Object Property\n\n```js\nconst obj = {\n  // @stub 'stub value'\n  property: 'value',\n};\n```\n\nturns into\n\n```js\nconst obj = {\n  property: 'stub value',\n};\n```\n\n### Conditional Statement\n\n```js\n// @stub true\nif (variable \u003e 0) {\n  // @stub false\n} else if (variable \u003c 0) {\n}\n```\n\nturns into\n\n```js\nif (true) {\n} else if (false) {\n}\n```\n\n### Return Statement\n\n```js\nfunction fn() {\n  // @stub 'stub value'\n  return 'value';\n}\n```\n\nturns into\n\n```js\nfunction fn() {\n  return 'stub value';\n}\n```\n\n## Function Arguments\n\n```js\nfn(\n  // @stub 'stub value'\n  variable,\n  // @stub 'stub value'\n  'value'\n);\n```\n\nturns into\n\n```js\nfn(\n  'stub value',\n  'stub value,\n)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarmody%2Fbabel-plugin-stub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarmody%2Fbabel-plugin-stub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarmody%2Fbabel-plugin-stub/lists"}