babel-plugin-jsdoc-to-assert
Babel plugin for jsdoc-to-assert.
Preset version: babel-preset-jsdoc-to-assert: Babel preset for jsdoc-to-assert
This plugin JSDoc(@param
and @type
) to assertion method for runtime testing.
@param
/** * @param * @param * @param */ {}
to
/** * @param * @param * @param */ { console; console;}
@type
/** * @type */const value = "s";
to
/** * @type */const value = "s";console;
Installation
npm install babel-plugin-jsdoc-to-assert
Usage
Via .babelrc
In development only:
If build files with NODE_ENV=production
, don't convert JSDoc to assert.
"build": "NODE_ENV=production babel src --out-dir lib --source-maps",
Options
checkAtParam
: boolean- Default:
true
- Check typing of
@param
- Default:
checkAtType
: boolean- Default:
false
- Check typing of
@type
- Default:
FAQ
Q. Try to use this, but throw parsing error:
ERROR in ./src/js/framework/Context.js
Module build failed: SyntaxError: Unterminated string constant (3:16)
at Parser.pp.raise (/Users/azu/.ghq/github.com/azu/svg-feeling/node_modules/babylon/index.js:1378:13)
at Parser.readString (/Users/azu/.ghq/github.com/azu/svg-feeling/node_modules/babylon/index.js:5402:49)
at Parser.getTokenFromCode (/Users/azu/.ghq/github.com/azu/svg-feeling/node_modules/babylon/index.js:52
....
@ ./src/index.js 24:15-48
A. It seem to be a bug of babel-plugin-jsdoc-to-assert
.
Please file issue with your code 🙇
Q. Why checkAtType
is default disable?
It is a problem of babel transform order.
ES2015 -> jsdoc-to-assert cause following problem.
AssertionError: Invalid JSDoc: typeof _this === "string"
+ expected - actual
Tests
npm test
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
License
MIT