Nestable Processes Mutate

npm

Need private packages and team management tools?Check out npm Orgs. »

@fimbul/bifrost

0.21.0 • Public • Published

Bifröst

Compatiblity layer for TSLint rules and formatters.

npm version npm downloads Renovate enabled CircleCI Build status codecov Join the chat at https://gitter.im/fimbullinter/wotan

Make sure to also read the full documentation of all available modules.

Purpose

Allows TSLint rule authors to provide the same rules for Wotan without any refactoring. Although @fimbul/heimdall already allows users to use your rules and formatters in Wotan, they still need to remember to use -m @fimbul/heimdall when running Wotan. You can help these users by providing your rules in a format that Wotan understands without any plugin.

It also provides the exact opposite functionality: using rules originally written for Fimbullinter (wotan) as TSLint rule.

Installation

npm install --save @fimbul/bifrost
# or 
yarn add @fimbul/bifrost

Using TSLint Rules and Formatters in Wotan

Rules

Given a TSLint rule my-foo in a file myFooRule.ts, you simply create a file my-foo.ts with the following content:

import {wrapTslintRule} from '@fimbul/bifrost';
import {Rule} from './myFooRule.ts';
 
const Wrapped = wrapTslintRule(Rule, 'my-foo');
export {Wrapped as Rule};

If you want to use a different directory for your TSLint rules and their Wotan wrapper, you just need to adjust the paths in the above example.

Formatters

Given a TSLint formatter my-foo in a file myFooFormatter.ts, you simply create a file my-foo.ts with the following content:

import {wrapTslintFormatter} from '@fimbul/bifrost';
import {Formatter} from './myFooFormatter.ts';
 
const Wrapped = wrapTslintFormatter(Formatter);
export {Wrapped as Formatter};

Note that findings with severity suggestion are reported as warning through TSLint formatters.

Using Fimbullinter Rules in TSLint

Given a Fimbullinter rule my-foo in a file my-foo.ts, you simply create a file myFooRule.ts with the following content:

import {wrapRuleForTslint} from '@fimbul/bifrost';
import {Rule} from './my-foo.ts';
 
const Wrapped = wrapRuleForTslint(Rule);
export {Wrapped as Rule};

License

Apache-2.0 © Klaus Meinhardt

install

npm i @fimbul/bifrost

Downloadsweekly downloads

279,127

version

0.21.0

license

Apache-2.0

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
Report a vulnerability