@fimbul/bifrost
    TypeScript icon, indicating that this package has built-in type declarations

    0.24.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

    211,121

    Version

    0.24.0

    License

    Apache-2.0

    Unpacked Size

    28.3 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar
    • avatar