109 lines
3.5 KiB
Markdown
109 lines
3.5 KiB
Markdown
|
Overview [](https://travis-ci.org/lydell/source-map-url)
|
|||
|
========
|
|||
|
|
|||
|
[](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 don’t have to think about what type of code you’re 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).
|