https://github.com/CesiumGS/strip-pragma-loader
https://github.com/CesiumGS/strip-pragma-loader
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/CesiumGS/strip-pragma-loader
- Owner: CesiumGS
- License: apache-2.0
- Created: 2017-10-11T15:58:37.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-01-04T18:44:14.000Z (over 2 years ago)
- Last Synced: 2024-11-29T15:46:04.435Z (over 1 year ago)
- Language: JavaScript
- Size: 27.3 KB
- Stars: 4
- Watchers: 12
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# strip-pragma-loader
A [webpack](http://webpack.github.io/) loader that strips code block from between requireJS `includeStart`/`excludeStart` pragma style comments using the [requireJS optimizer syntax](https://github.com/requirejs/r.js/blob/master/build/example.build.js?utm_campaign=improving-frontend-web-performance-using-requirejs-optimiser-2013-jun&utm_medium=post&utm_source=blog#L260).
For example, this loader would be used to strip out blocks of the following pattern:
```
//>>includeStart('debug', pragmas.debug);
console.log('Debugging...');
//>>includeEnd('debug');
```
## Installation
Install the loader with npm.
```
npm install strip-pragma-loader --save-dev
```
## Usage
In your webpack configuration object, you'll need to add `strip-pragma-loader` to your list of modules.
```
module: {
rules: [{
test: /\.js$/,
enforce: 'pre',
use: [{
loader: 'strip-pragma-loader',
options: {
pragmas: {
debug: true
}
}
}]
}]
}
```
## Options
You can pass options to the loader using the [`options` property](https://webpack.js.org/configuration/module/#rule-options-rule-query).
The following options are supported:
* `pragmas`: Object with each pragma name and value. A `false` value will strip out and `includeStart` blocks, and a `true` value will strip out and `exlcudeStart` blocks. Defaults to an empty object.
For example, the following would strip out all blocks beginning with `//>>includeStart('debug', pragmas.debug);` and ending with `//>>includeEnd('debug');`:
```
module: {
rules: [{
test: /\.js$/,
enforce: 'pre',
use: [{
loader: 'strip-pragma-loader',
options: {
pragmas: {
debug: true
}
}
}]
}]
}
```
> See the [RequireJS configuration options](https://github.com/requirejs/r.js/blob/master/build/example.build.js?utm_campaign=improving-frontend-web-performance-using-requirejs-optimiser-2013-jun&utm_medium=post&utm_source=blog#L260) for more information on pragmas.
## Contributions
Pull requests are appreciated. Please use the same [Contributor License Agreement (CLA)](https://github.com/AnalyticalGraphicsInc/cesium/blob/master/CONTRIBUTING.md) used for [Cesium](https://cesiumjs.org/).
---
Developed by the Cesium team.
