https://github.com/kudashevs/strip-code
A library that strips marked blocks of code from any type of code.
https://github.com/kudashevs/strip-code
strip-code strip-comments strip-unwanted
Last synced: 4 months ago
JSON representation
A library that strips marked blocks of code from any type of code.
- Host: GitHub
- URL: https://github.com/kudashevs/strip-code
- Owner: kudashevs
- License: mit
- Created: 2024-11-24T09:00:09.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-02T15:43:57.000Z (about 1 year ago)
- Last Synced: 2025-03-22T07:34:51.206Z (11 months ago)
- Topics: strip-code, strip-comments, strip-unwanted
- Language: JavaScript
- Homepage: https://kudashevs.com/posts/2024/12/strip-code-library-and-plugins
- Size: 118 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
Strip Code 
==========================
The `strip-code` is a library that strips marked blocks from any type of code.
## Install
```bash
# NPM
npm install --save-dev strip-code
# Yarn
yarn add --dev strip-code
```
## Usage
It strips 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 suffix` (e.g. `/* debug-start */`). The name of a start tag, name of an end tag,
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
start, end, prefix, suffix and optional replacement. These values are represented by an object with these properties or by a string:
```
start: 'dev-start' # a string defines a name for the start tag (unique) - mandatory
end: 'dev-end' # a string defines a name for the end tag (unique) - mandatory
prefix: '/*' # a string defines the beginning of a tag (non-empty string) - optional
suffix: '*/' # a string defines the end of a tag (can be an empty string) - optional
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 to generate the names of the start and end tags
(e.g. `string-start` and `string-end`). If prefix and suffix are not provided, the default values `/*` and `*/` will be used.
## License
The MIT License (MIT). Please see the [License file](LICENSE.md) for more information.