https://github.com/kudashevs/remove-blocks
A library that removes marked blocks from any type of code.
https://github.com/kudashevs/remove-blocks
remove-code remove-comments remove-unwanted
Last synced: 7 days ago
JSON representation
A library that removes marked blocks from any type of code.
- Host: GitHub
- URL: https://github.com/kudashevs/remove-blocks
- Owner: kudashevs
- License: mit
- Created: 2024-11-01T14:44:16.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-02T15:43:53.000Z (about 1 year ago)
- Last Synced: 2025-08-24T11:50:14.069Z (6 months ago)
- Topics: remove-code, remove-comments, remove-unwanted
- Language: JavaScript
- Homepage:
- Size: 203 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
Remove Blocks 
==========================
The `remove-blocks` is a library that removes marked blocks from any type of code.
## Install
```bash
# NPM
npm install --save-dev remove-blocks
# Yarn
yarn add --dev remove-blocks
```
## Usage
It removes blocks of code marked with two paired tags. A pair of tags consists of a start tag and an end tag. The format
of each tag is `prefix name:position suffix` (e.g. `/* debug:start */`). The name, prefix, and suffix are configurable.
```js
/* debug:start */
console.log('debug');
/* debug:end */
```
**Note**: The blocks cannot overlap each other.
## Options
`options.skips` is an array of environments where the processing will be skipped.
`options.blocks` is an array of blocks' representations. Each element of this array describes a unique pair of tags with
name, prefix, suffix and optional replacement. These values are represented by an object with these properties or by a string:
```
name: 'devblock' # a string defines a name for the start/end tags (unique) - mandatory
prefix: '/*' # a string defines the beginning of a tag (non-empty string) - mandatory
suffix: '*/' # a string defines the end of a tag (can be an empty string) - mandatory
replacement: 'any' # a string defines a substitution for a removed block - optional
```
When a pair of tags is represented by a string, this string will be used as a name for the start and end tag (e.g.
`string:start` and `string:end`), and the default prefix and suffix are used (e.g. `/*` and `*/`).
## License
The MIT License (MIT). Please see the [License file](LICENSE.md) for more information.