babel-plugin-tcomb - Babel plugin for static and runtime type checking using Flow and tcomb

  •        24

Babel plugin for static and runtime type checking using Flow and tcomb. Flow is a static type checker for JavaScript.

https://github.com/gcanti/babel-plugin-tcomb

Dependencies:

babel-generator : 6.19.0

Tags
Implementation
License
Platform

   




Related Projects

flow-remove-types - 🚿 Removes Flow type annotations from JavaScript files with speed and simplicity

  •    Javascript

Turn your JavaScript with Flow type annotations into standard JavaScript in an instant with no configuration and minimal setup. Flow provides static type checking to JavaScript which can both help find and detect bugs long before code is deployed and can make code easier to read and more self-documenting. The Flow tool itself only reads and analyzes code. Running code with Flow type annotations requires first removing the annotations which are non-standard JavaScript. Typically this is done via adding a plugin to your Babel configuration, however Babel may be overkill if you're only targetting modern versions of Node.js or just not using the modern ES2015 features that may not be in every browser.

flow-remove-types - 🚿 Removes Flow type annotations from JavaScript files with speed and simplicity

  •    Javascript

Turn your JavaScript with Flow type annotations into standard JavaScript in an instant with no configuration and minimal setup. Flow provides static type checking to JavaScript which can both help find and detect bugs long before code is deployed and can make code easier to read and more self-documenting. The Flow tool itself only reads and analyzes code. Running code with Flow type annotations requires first removing the annotations which are non-standard JavaScript. Typically this is done via adding a plugin to your Babel configuration, however Babel may be overkill if you're only targetting modern versions of Node.js or just not using the modern ES2015 features that may not be in every browser.

babel-plugin-flow-react-proptypes - A babel plugin to generate React PropTypes definitions from Flow type declarations

  •    Javascript

A babel plugin to generate React PropTypes definitions from Flow type declarations. Starting in 14.0.0, we output ES6 import/export statements by default. The deadCode option (explained below) will cause it to use common.js modules instead.

language-babel - ES2017, flow, React JSX and GraphQL grammar and transpilation for ATOM

  •    CoffeeScript

Language grammar for all versions of JavaScript including ES2016 and ESNext, JSX syntax as used by Facebook React, Atom's etch and others, as well as optional typed JavaScript using Facebook flow. This package also supports highlighting of GraphQL language constructs when inside certain JavaScript template strings. For .graphql and .gql file support please see language-graphql . The colour of syntax is determined by the theme in use. By default the language-babel package will detect file types .js,.babel,.jsx, .es, .es6, .mjs and .flow. Use the standard ATOM interface to enable it for other file types. This provides a grammar that scopes the file in order to colour the text in a meaningful way. If other JavaScript grammars are enabled these may take precedence over language-babel. Look at the bottom right status bar indicator to determine the language grammar of a file being edited. language-babel will be shown as either Babel or Babel ES6 JavaScript. Clicking the name will allow the grammar for a file to be changed.

eslint-plugin-flowtype-errors - Run Flow as an ESLint plugin

  •    Javascript

This guide assumes that you have installed eslint, babel, babel-plugin-transform-flow-strip-types and configured flow. Check out the from-scratch guide for the full guide on getting started. Add this line to the 'rules' section of your .eslintrc to report flow errors.


tcomb - Type checking and DDD for JavaScript

  •    Javascript

tcomb is a library for Node.js and the browser which allows you to check the types of JavaScript values at runtime with a simple and concise syntax. It's great for Domain Driven Design and for adding safety to your internal code.

babel-plugin-macros - 🎣 Enables zero-config, importable babel plugins

  •    Javascript

Check out this guest post on the Babel.js blog for a complete write up on the problem, motivation, and solution.Currently, each babel plugin in the babel ecosystem requires that you configure it individually. This is fine for things like language features, but can be frustrating overhead for libraries that allow for compile-time code transformation as an optimization.

babel-plugin-transform-decorators-legacy - A plugin for Babel 6 that (mostly) replicates the old decorator behavior from Babel 5

  •    Javascript

This is a plugin for Babel 6 that is meant to replicate the old decorator behavior from Babel 5 in order to allow people to more easily transition to Babel 6 without needing to be blocked on updates to the decorator proposal or for Babel to re-implement it. If you are including your plugins manually and using transform-class-properties, make sure that transform-decorators-legacy comes before transform-class-properties.

eslint-plugin-babel - An ESlint rule plugin companion to babel-eslint

  •    Javascript

An eslint plugin companion to babel-eslint. babel-eslint does a great job at adapting eslint for use with Babel, but it can't change the built in rules to support experimental features. eslint-plugin-babel re-implements problematic rules so they do not give false positives or negatives.Finally enable all the rules you would like to use (remember to disable the original ones as well!).

babel-eslint - :tokyo_tower: ESLint using Babel as the parser.

  •    Javascript

babel-eslint allows you to lint ALL valid Babel code with the fantastic ESLint.You only need to use babel-eslint if you are using types (Flow) or experimental features not supported in ESLint itself yet. Otherwise try the default parser (you don't have to use it just because you are using Babel).

babel-plugin-preval - Pre-evaluate code at build-time

  •    Javascript

You need to do some dynamic stuff, but don't want to do it at runtime. Or maybe you want to do stuff like read the filesystem to get a list of files and you can't do that in the browser.There's also preval.require('./something') and import x from /* preval */ './something' (which can both take some arguments) or add // @preval comment at the top of a file.

babel-plugin-webpack-loaders - babel 6 plugin which allows to use webpack loaders

  •    Javascript

Since plugin was published, there were a lot of changes in testing software. Be sure in most(all) cases you DON'T need this plugin for testing. I highly recommend you to use jest for testing, and use moduleNameMapper (identity-obj-proxy, etc) to mock CSS-Modules and other webpack loaders. This Babel 6 plugin allows you to use webpack loaders in Babel. It's now easy to run universal apps on the server without additional build steps, to create libraries as usual with babel src --out-dir lib command, to run tests without mocking-prebuilding source code. It just replaces require - import statements with webpack loaders results. Take a look at this Babel build output diff to get the idea.

babel-plugin-module-resolver - Custom module resolver plugin for Babel

  •    Javascript

A Babel plugin to add a new resolver for your modules when compiling your code using Babel. This plugin allows you to add new "root" directories that contain your modules. It also allows you to setup a custom alias for directories, specific files, or even other npm modules. This plugin can simplify the require/import paths in your project. For example, instead of using complex relative paths like ../../../../utils/my-utils, you can write utils/my-utils. It will allow you to work faster since you won't need to calculate how many levels of directory you have to go up before accessing the file.

babel-plugin-css-in-js - A plugin for Babel v6 which transforms inline styles defined in JavaScript modules into class names so they become available to, e

  •    Javascript

A plugin for Babel v6 which transforms inline styles defined in JavaScript modules into class names so they become available to, e.g. the className prop of React elements. While transforming, the plugin processes all JavaScript style definitions found and bundles them up into a CSS file, ready to be requested from your web server. babel-plugin-css-in-js works seamlessly on both client and server. It has built-in support for media queries, pseudo-classes, attribute selectors, and theming. The plugin's options allow you to configure vendor-prefixing, minification, and class name compression.

babel-plugin-react-intl - Extracts string messages from React components that use React Intl.

  •    Javascript

Extracts string messages for translation from modules that use React Intl.Note: This Babel plugin works with React Intl v2.x, and 1.x of this plugin works with Babel 5, 2.x works with Babel 6.

babel-minify-webpack-plugin - Babel Minify Webpack Plugin

  •    Javascript

minifyOpts are passed on to babel-preset-minify. You can find a list of all available options in the package directory.

babel-plugin-transform-react-remove-prop-types - Remove unnecessary React propTypes from the production build

  •    Javascript

Remove unnecessary React propTypes from the production build. Remove React propTypes from the production build, as they are only used in development. You can save bandwidth by removing them.

babel-plugin-dynamic-import-webpack - Babel plugin to transpile import() to require

  •    Javascript

Babel plugin to transpile import() to require.ensure, for Webpack.Note that Webpack 2 has gotten import() after this code was written.

babel-plugin-import - Modularly import plugin for babel.

  •    Javascript

Modular import plugin for babel, compatible with antd, antd-mobile, lodash, material-ui, and so on. Note : with style: true css source files are imported and optimizations can be done during compilation time. With style: "css", pre bundled css files are imported as they are.