acquit-ignore
Acquit plugin for removing lines of code from output
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'.
var acquit = require('acquit');
require('acquit-ignore')();
var 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);',
' // acquit:ignore:start',
' done();',
' // acquit:ignore:end',
' }, 0);',
' ++x;',
' });',
'});'
].join('\n');
var blocks = acquit.parse(contents);
assert.equal(blocks.length, 1);
assert.equal(blocks[0].blocks[0].contents, 'works');
var 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.
var acquit = require('acquit');
require('acquit-ignore')({
start: '// bacon',
end: '// eggs'
});
var 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');
var blocks = acquit.parse(contents);
assert.equal(blocks.length, 1);
assert.equal(blocks[0].blocks[0].contents, 'works');
var 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.
var instance = require('acquit')();
require('acquit-ignore')(instance, {
start: '// bacon',
end: '// eggs'
});
var 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');
var blocks = instance.parse(contents);
assert.equal(blocks.length, 1);
assert.equal(blocks[0].blocks[0].contents, 'works');
var expectedCode = [
'',
' var x = 1;',
'',
' setTimeout(function() {',
' assert.equal(x, 2);',
' }, 0);',
' ++x;',
' '
].join('\n');
assert.equal(blocks[0].blocks[0].code, expectedCode);