backoffice/node_modules/source-map-url/readme.md

109 lines
3.5 KiB
Markdown
Raw Normal View History

2020-02-06 10:09:39 +00:00
Overview [![Build Status](https://travis-ci.org/lydell/source-map-url.png?branch=master)](https://travis-ci.org/lydell/source-map-url)
========
[![browser support](https://ci.testling.com/lydell/source-map-url.png)](https://ci.testling.com/lydell/source-map-url)
Tools for working with sourceMappingURL comments.
```js
var sourceMappingURL = require("source-map-url")
var code = [
"!function(){...}();",
"/*# sourceMappingURL=foo.js.map */"
].join("\n")
sourceMappingURL.get(code)
// foo.js.map
code = sourceMappingURL.set(code, "/other/file.js.map")
// !function(){...}();
// /*# sourceMappingURL=/other/file.js.map */
code = sourceMappingURL.insertBefore(code, "\n// License: MIT")
// !function(){...}();
// // License: MIT
// /*# sourceMappingURL=/other/file.js.map */
code = sourceMappingURL.remove(code)
// !function(){...}();
// // License: MIT
sourceMappingURL.get(code)
// null
```
Installation
============
- `npm install source-map-url`
- `bower install source-map-url`
- `component install lydell/source-map-url`
Works with CommonJS, AMD and browser globals, through UMD.
Usage
=====
### `sourceMappingURL.get(code)` ###
Returns the url of the sourceMappingURL comment in `code`. Returns `null` if
there is no such comment. Note that the url can be the empty string and that
both the empty string and `null` are falsy. Consider using `if (url === null)
{}` rather than `if (url) {}` if you need to tell those two cases apart.
### `sourceMappingURL.set(code, url [, commentSyntax])` ###
Updates the sourceMappingURL comment in `code` to use `url`. Creates such a
comment if there is none. Returns the updated `code`.
The `commentSyntax` argument is optional. It is an array. The first element of
it defines how a comment starts, while the second element defines how it ends.
The default value is `["/*", " */"]`. `/**/` comments were chosen as default in
favor of `//` comments, because ideally they work with both JavaScript and CSS.
This way, you dont have to think about what type of code youre working with.
However, Chrome sadly does not support `/**/` comments in JavaScript. So
currently, you need to use `.set(code, url, ["//"])` for JavaScript that needs
source map support in Chrome. A [bug] has been filed about this.
[bug]: http://code.google.com/p/chromium/issues/detail?id=341807
### `sourceMappingURL.remove(code)` ###
Removes the sourceMappingURL comment in `code`. Does nothing if there is no
such comment. Returns the updated `code`.
### `sourceMappingURL.insertBefore(code, string)` ###
Inserts `string` before the sourceMappingURL comment in `code`. Appends
`string` to `code` if there is no such comment.
Lets you append something to a file without worrying about breaking the
sourceMappingURL comment (which needs to be at the end of the file).
### `sourceMappingURL.regex` ###
The regex that is used to match sourceMappingURL comments. It matches both `//`
and `/**/` comments, thus supporting both JavaScript and CSS.
### `sourceMappingURL.SourceMappingURL(commentSyntax)` ###
Lets you create a new SourceMappingURL instance, using `commentSyntax` as
default comment syntax for the `set` method.
For example, if you mainly work with JavaScript code that needs to have source
map support in Chrome, you could use it like this:
```js
var SourceMappingURL = require("source-map-url").SourceMappingURL
var sourceMappingURL = new SourceMappingURL(["//"])
```
License
=======
[The X11 (“MIT”) License](LICENSE).