Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

acquit-ignore

0.1.0 • Public • Published

acquit-ignore

Acquit plugin for removing lines of code from output

Build Status Coverage Status

acquit-ignore

It removes code between delimiters

By default, acquit-ignore will attach a transform to acquit that removes any code in a block that's between '// acquit:ignore:start' and '// acquit:ignore:end'.

    const acquit = require('acquit');
require('acquit-ignore')();
 
var contents = [
  'describe(\'test\', function() {',
  '  it(\'works\', function(done) {',
  '    // acquit:ignore:start',
  '    setup();',
  '    // acquit:ignore:end',
  '    var x = 1;',
  '    // acquit:ignore:start',
  '    assert.equal(x, 1);',
  '    // acquit:ignore:end',
  '',
  '    setTimeout(function() {',
  '      assert.equal(x, 2);',
  '      // acquit:ignore:start',
  '      done();',
  '      // acquit:ignore:end',
  '    }, 0);',
  '    ++x;',
  '  });',
  '});'
].join('\n');
 
const blocks = acquit.parse(contents);
assert.equal(blocks.length, 1);
assert.equal(blocks[0].blocks[0].contents, 'works');
 
const expectedCode = [
  'var x = 1;',
  '',
  'setTimeout(function() {',
  '  assert.equal(x, 2);',
  '}, 0);',
  '++x;',
].join('\n');
 
assert.equal(blocks[0].blocks[0].code, expectedCode);

It supports custom delimiters

Don't like 'acquit:ignore:start' and 'acquit:ignore:end'? Set your own by setting the 'start' and 'end' options.

    const acquit = require('acquit');
require('acquit-ignore')({
  start: '// bacon',
  end: '// eggs'
});
 
const contents = [
  'describe(\'test\', function() {',
  '  it(\'works\', function(done) {',
  '    var x = 1;',
  '    // acquit:ignore:start',
  '    assert.equal(x, 1);',
  '    // acquit:ignore:end',
  '',
  '    setTimeout(function() {',
  '      assert.equal(x, 2);',
  '      // bacon',
  '      done();',
  '      // eggs',
  '    }, 0);',
  '    ++x;',
  '  });',
  '});'
].join('\n');
 
const blocks = acquit.parse(contents);
assert.equal(blocks.length, 1);
assert.equal(blocks[0].blocks[0].contents, 'works');
 
const expectedCode = [
  'var x = 1;',
  '// acquit:ignore:start',
  'assert.equal(x, 1);',
  '// acquit:ignore:end',
  '',
  'setTimeout(function() {',
  '  assert.equal(x, 2);',
  '}, 0);',
  '++x;'
].join('\n');
 
assert.equal(blocks[0].blocks[0].code, expectedCode);

It can accept an acquit instance

By default, acquit-ignore attaches itself to the acquit singleton. However, you can also attach it to an acquit instance.

    const instance = require('acquit')();
require('acquit-ignore')(instance, {
  start: '// bacon',
  end: '// eggs'
});
 
const contents = [
  'describe(\'test\', function() {',
  '  it(\'works\', function(done) {',
  '    var x = 1;',
  '    // bacon',
  '    assert.equal(x, 1);',
  '    // eggs',
  '',
  '    setTimeout(function() {',
  '      assert.equal(x, 2);',
  '      // bacon',
  '      done();',
  '      // eggs',
  '    }, 0);',
  '    ++x;',
  '  });',
  '});'
].join('\n');
 
const blocks = instance.parse(contents);
assert.equal(blocks.length, 1);
assert.equal(blocks[0].blocks[0].contents, 'works');
 
const expectedCode = [
  'var x = 1;',
  '',
  'setTimeout(function() {',
  '  assert.equal(x, 2);',
  '}, 0);',
  '++x;'
].join('\n');
 
assert.equal(blocks[0].blocks[0].code, expectedCode);

Keywords

none

install

npm i acquit-ignore

Downloadsweekly downloads

444

version

0.1.0

license

Apache 2.0

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability