Index: tools/vulcanize/node_modules/vulcanize/README.md |
diff --git a/tools/vulcanize/node_modules/vulcanize/README.md b/tools/vulcanize/node_modules/vulcanize/README.md |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d73fce0f484d14cf9f3e7e6f597bd9a84299ce64 |
--- /dev/null |
+++ b/tools/vulcanize/node_modules/vulcanize/README.md |
@@ -0,0 +1,157 @@ |
+# Vulcanize |
+ |
+### Concatenate a set of Web Components into one file |
+ |
+>Named for the [Vulcanization](http://en.wikipedia.org/wiki/Vulcanization) process that turns polymers into more durable |
+materials. |
+ |
+## Installation |
+ |
+`vulcanize` is available on npm. For maximium utility, `vulcanize` should be installed globally. |
+ |
+ sudo npm install -g vulcanize |
+ |
+This will install `vulcanize` to `/usr/local/bin/vulcanize`. |
+ |
+## Usage |
+ |
+ vulcanize index.html |
+ |
+At the simplest, `vulcanize` only requires an html file as an argument. The optimized output file will be named |
+`vulcanized.html`. |
+ |
+If you want to control the output name, use the `-o` flag |
+ |
+ vulcanize -o build.html index.html |
+ |
+Most URLs will be automatically adjusted by the vulcanizer. |
+ |
+ |
+## Options |
+ |
+- `--output`, `-o` |
+ - Output file name (defaults to vulcanized.html) |
+- `--verbose`, `-v` |
+ - More verbose logging |
+- `--help`, `-v`, `-?` |
+ - Print this message |
+- `--config` |
+ - Read a given config file |
+- `--strip`, `-s` |
+ - Remove comments and empty text nodes |
+- `--csp` |
+ - Extract inline scripts to a separate file (uses `<output file name>`.js) |
+- `--inline` |
+ - The opposite of CSP mode, inline all assets (script and css) into the document |
+ |
+## Config |
+> JSON file for additional options |
+ |
+- Excludes: Exclude the selected urls from vulcanization (urls are still deduplicated for imports). |
+ |
+### Example Config |
+```json |
+{ |
+ "excludes": { |
+ "imports": [ |
+ "regex-to-exclude" |
+ ] |
+ } |
+} |
+``` |
+ |
+## Example Usage |
+ |
+Say we have three html files: `index.html`, `x-app.html`, and `x-dep.html`. |
+ |
+index.html: |
+ |
+```html |
+<!DOCTYPE html> |
+<link rel="import" href="app.html"> |
+<x-app></x-app> |
+``` |
+ |
+app.html: |
+ |
+```html |
+<link rel="import" href="path/to/x-dep.html"> |
+<polymer-element name="x-app"> |
+ <template> |
+ <x-dep></x-dep> |
+ </template> |
+ <script>Polymer('x-app')</script> |
+</polymer-element> |
+``` |
+ |
+x-dep.html: |
+ |
+```html |
+<polymer-element name="x-dep"> |
+ <template> |
+ <img src="x-dep-icon.jpg"> |
+ </template> |
+ <script> |
+ Polymer('x-dep'); |
+ </script> |
+</polymer-element> |
+``` |
+ |
+Running vulcan on `index.html`, and specifying `build.html` as the output: |
+ |
+ vulcanize -o build.html index.html |
+ |
+Will result in `build.html` that appears as so: |
+ |
+```html |
+<!DOCTYPE html> |
+<polymer-element name="x-dep" assetpath="path/to/"> |
+ <template> |
+ <img src="path/to/x-dep-icon.jpg"> |
+ </template> |
+ <script> |
+ Polymer('x-dep'); |
+ </script> |
+</polymer-element> |
+<polymer-element name="x-app" assetpath=""> |
+ <template> |
+ <x-dep></x-dep> |
+ </template> |
+ <script> |
+ Polymer('x-app'); |
+ </script> |
+</polymer-element> |
+<x-app></x-app> |
+``` |
+ |
+## Content Security Policy |
+[Content Security Policy](http://en.wikipedia.org/wiki/Content_Security_Policy), or CSP, is a Javascript security model |
+that aims to prevent XSS and other attacks. In so doing, it prohibits the use of inline scripts. |
+ |
+To help automate the use of Polymer element registration with CSP, the `--csp` flag to vulcan will remove all scripts |
+from the HTML Imports and place their contents into an output javascript file. |
+ |
+Using the previous example, the output from `vulcanize --csp -o build.html index.html` will be |
+ |
+build.html: |
+```html |
+<!DOCTYPE html> |
+<polymer-element name="x-dep" assetpath="path/to/"> |
+ <template> |
+ <img src="path/to/x-dep-icon.jpg"> |
+ </template> |
+</polymer-element> |
+<polymer-element name="x-app" assetpath=""> |
+ <template> |
+ <x-dep></x-dep> |
+ </template> |
+</polymer-element> |
+<script src="build.js"></script> |
+<x-app></x-app> |
+``` |
+ |
+build.js: |
+```js |
+Polymer('x-dep'); |
+Polymer('x-app'); |
+``` |