polymerlabs / crisper Goto Github PK
View Code? Open in Web Editor NEWLicense: BSD 3-Clause "New" or "Revised" License
License: BSD 3-Clause "New" or "Revised" License
Attempting to run the vulcanize example from the readme against the latest Polymer code, I get an error:
$ vulcanize polymer.html --inline-script | crisper --html build.html --js build.js
Missing source html file!
events.js:72
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at errnoException (net.js:904:11)
at Object.afterWrite (net.js:720:19)
...I'm able to workaround by creating an intermediary source file, but this adds a step to the build process.
I'm on the latest crisper.
A nice feature would be the ability to set the javascript file path.
Currently, the path for a js file from /dist/views/index.html
is index.js
.
An option, such as jsFilePath : '/dist/js/'
would change index.js
to /dist/js/index.js
.
I'm currently vulcanizing
my components all the way to the top level html file. As a result, my view at /dist/views/index.html
has a path of /
and it looks for http://myhost.com/index.js
which doesn't exist.
Thanks Team!
Running crisper --source file.html --html c.html --js c.js over a file that contains script with crossorigin attribute produces html code without crossorigin attribute.
Source:
<html>
<body>
<script crossorigin="anonymous">
(function() {
'use strict';
console.log('foo');
});
</script>
</body>
</html>
Resulting html:
<html><head><script src="c.js" defer=""></script>
<meta charset="UTF-8">
Whenever there's a comment at the last line of a script, no final semicolon (;
) will be added even if the script needs it. When concatenated with the next script, the lack of this final semicolon leads to fatal issues.
Consider the following two scripts:
(function() {
console.log('ok1');
})()
// some comment
(function() {
console.log('ok2');
})()
Since the last line of script 1 has a comment, no semicolon is added and the final resulting script is interpreted as:
(function(){console.log('ok1')})()(function(){console.log('ok2')})()
throwing a Uncaught TypeError: (intermediate value)(...) is not a function
.
And before anyone says that this is most probably an issue with the source scripts, the actual case which led me to find this issue is a source map comment automatically added to the end of some scripts.
More specifically, for me, that was the shadycss shim required by the polymer 2.0 core.
I've been successfully using this line with crisper, until I updated my crisper today.
vulcanize --inline-scripts --inline-css polymerImports.html | crisper --html vulcanized-polymer.html --js vulcanized-polymer.js
Error:
Uncaught TypeError: this._factory is not a function
It seems it's related to the "semi-colons" which I noticed there was recent update in this project.
The code looks for "//" in the last line, to determine whether it's a comment: but it also matches e.g.;
(function() {"https://example.com"})()
No semicolon will be appended in this case. There's a few issues about this—maybe it could just be an option, to force semicolon insertion, possibly even on a newline (sidestepping the "on-a-comment-line" problem).
I used vulcanize crisper pipe on Polymer Stater Kit and got the error bellow, only vulcanize works fine.
build.js:209 Uncaught NotSupportedError: Failed to execute 'registerElement' on 'Document': Registration failed for type 'dom-module'. A type with that name is already registered.(anonymous function) @ build.js:209(anonymous function) @ build.js:222 build.js:6042 Uncaught TypeError: Cannot read property 'whenLoaded' of undefinedPolymer.created @ build.js:6042Polymer.Base._addFeature._invokeBehavior @ build.js:296Polymer.Base._addFeature._doBehavior @ build.js:291Polymer.Base.createdCallback @ build.js:104 build.js:6035 Uncaught TypeError: Cannot read property '_importsLoaded' of undefined(anonymous function) @ build.js:6035checkDone @ webcomponents-lite.js:968watchImportsLoad @ webcomponents-lite.js:990(anonymous function) @ webcomponents-lite.js:939whenDocumentReady @ webcomponents-lite.js:957checkReady @ webcomponents-lite.js:952 build.js:6031 Uncaught TypeError: Cannot read property '_importsLoaded' of undefined
If a file contains an external stylesheet, how should crisper handle it?
Could we add a --css
option?
Currently, the output HTML will reference a file that is probably not there (because the output file is in a different location).
Make sure not to put a semicolon on the same line as line comment
This happens in Windows and OS X.
Here's my command:
vulcanize --inline-css src/index.html --inline-script | crisper --html webroot/index.html --js webroot/index.js
This is the error I get
fs.js:500
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT, no such file or directory 'G:\Losttime\code\polymer-app\webroot\index.html'
at Error (native)
at Object.fs.openSync (fs.js:500:18)
at Object.fs.writeFileSync (fs.js:1099:15)
at Socket.processSource (G:\Losttime\code\polymer-app\node_modules\crisper\bin\crisper:65:6)
at Socket.emit (events.js:129:20)
at _stream_readable.js:908:16
at process._tickCallback (node.js:355:11)
I created simple little node script that uses fs
to write to to that directory. It also fails.
Found this possible resolution:
http://stackoverflow.com/questions/16316330/how-to-write-file-if-parent-folder-dosent-exists
I'll try to implement it.
For a single page app like: https://shop.polymer-project.org/detail/mens_tshirts/Inbox+-+Subtle+Actions+T-Shirt
Scripts should be server-absolute to prevent odd cache behavior.
When using cripser with --inline-script
, the standalone file ends up at the bottom of the import:
</div><script src="elements.build.js"></script></body></html>
A vulcanized import can end up being quite large (all the css, dom-module, and svg from icons). The problem is that elements.build.js won't start loading until this entire document is parsed! On slow connections this needlessly delays the element registration :\
Current. elements.build.js doesn't start downloading until elements.html is done parsing:
By moving <script src="elements.build.js" defer></script>
to the top of the import and using defer
, the script downloads in parallel with the html parsing and doesn't cause js errors (e.g. references to this.$.ID
that won't exist yet).
@azakus wdyt?
I get these errors in the developer console after applying vulcanize and crisper:
[custom-style::_prepTemplate]: top-level Polymer template must not be a type-extension, found <template is="dom-bind">…</template> Move inside simple <template>.
[dom-template::_prepTemplate]: top-level Polymer template must not be a type-extension, found <template is="dom-bind">…</template> Move inside simple <template>.
[dom-repeat::_prepTemplate]: top-level Polymer template must not be a type-extension, found <template is="dom-bind">…</template> Move inside simple <template>.
[array-selector::_prepTemplate]: top-level Polymer template must not be a type-extension, found <template is="dom-bind">…</template> Move inside simple <template>.
[dom-if::_prepTemplate]: top-level Polymer template must not be a type-extension, found <template is="dom-bind">…</template> Move inside simple <template>.
I could reduce the repro to this (see also this example):
index.html:
<!DOCTYPE html>
<title>Demo</title>
<script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
<link rel="import" href="bower_components/polymer/polymer.html">
<body>
<template is="dom-bind"></template>
Command line:
npm install -g vulcanize crisper
bower install Polymer/polymer
vulcanize index.html --inline-script | crisper --html build.html --js build.js
And then open build.html
in Chrome.
I found that Polymer looks for <template>
elements just before the current <script>
. If it finds one it assumes that it belongs to the Polymer element being registered. However this situation happens here too (in build.html
):
<template is="dom-bind"></template>
<script src="build.js"></script>
And for all elements registered in build.js
without a template, Polymer thinks this is the element's template.
An easy fix in cripser would be to simply insert any element (like a <span>
) just before the <script>
, if there is a <template>
before it:
<template is="dom-bind"></template>
<span></span>
<script src="build.js"></script>
However that is probably not the cleanest solution.
Scripts should each be wrapped in immediately invoked function expressions (IIFEs) on concatenation as mentioned in Effective Javascript by David Herman (chapter 1).
This would avoid several problems, e.g. considering scopes and usage of "use strict";
So instead of:
script_1;
script_2;
...
script_n;
The concatenated file should look like:
(function (){
script_1
})();
(function (){
script_2
})();
...
(function (){
script_n
})();
Implementation should be easy:
var content = dom5.getTextContent(sn).trim();
// wrap content in immediately invoked function expression (IIFE)
let iifeContent = '(function(){\n' + content + '\n})();'
contents.push(iifeContent);
Thank you in advance!
It looks --script-in-head=false
doesn't work at v2.0.0.
According to the command-line-args notation rule of Boolean in command-line-args
, the --script-in-head
flag's value is always set to true
regardless of the value.
Options with a type of Boolean do not need to supply a value. Setting --flag or -f will set that option's value to true. This is the only type with special behaviour.
https://www.npmjs.com/package/command-line-args#module_command-line-args
Sorry if it's my misunderstanding.
If you use a tool like Babel with Crisper then the scriptInHead bit will cause all kinds of hard to debug race conditions. Because the option feels like a performance tuning thing, it seems like you'd want to make in opt-in for advanced users. cc @ebidel
crisper (2.0.1) seems to always outputs HTML as a well-formed document, <html>
tags and all -- even if the input file is just <script>foo;</script>
, like most files intended to be used as a link rel="import"
target.
This makes running crisper on Polymer element files a pain, because the result is a bunch of files which all think they're root HTML trees. This, in turn, breaks vulcanization's script ordering: Polymer/vulcanize#284
Trying to use the provided app template mentioned during IO for polymer 1.0 found here https://developers.google.com/web/tools/polymer-starter-kit/ to be the basis of a chrome app I am working on.
First try was to simply run crisper on the file, this led to csp errors since it looked like it didn't inline first. So I tried the command listed in the instructions to vulcanize and then crisper the output.
vulcanize index.html --inline-script | crisper --html start.html --js start.js
This seamed to work until I launched the packaged app, chrome seemed to freeze for a long time and then I received this output (I understand the font failures and know how to fix them, it's the rest I worry about) :
GET chrome-extension://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic net::ERR_FAILED start.html:637 GET chrome-extension://fonts.googleapis.com/css?family=Inconsolata:400,700 net::ERR_FAILED start.js:2847 [custom-style::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [dom-template::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [dom-repeat::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [array-selector::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [dom-if::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [iron-media-query::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [iron-selector::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [iron-meta::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [iron-meta-query::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. start.js:2847 [iron-iconset-svg::_prepTemplate]: top-level Polymer template must not be a type-extension, found Move inside simple <template>. 2start.js:2856 Uncaught RangeError: Maximum call stack size exceeded.Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401window.Polymer @ start.js:2350(anonymous function) @ start.js:11226(anonymous function) @ start.js:11490 start.html:2630 Resource interpreted as Document but transferred with MIME type text/css: "chrome-extension://pacpbgchohinmeipfgojlbdifeehegab/bower_components/paper-drawer-panel/paper-drawer-panel.css". 12start.js:2856 Uncaught RangeError: Maximum call stack size exceeded.Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401window.Polymer @ start.js:2350(anonymous function) @ start.js:11226(anonymous function) @ start.js:11490 start.html:3445 Resource interpreted as Document but transferred with MIME type text/css: "chrome-extension://pacpbgchohinmeipfgojlbdifeehegab/bower_components/paper-item/paper-item-shared.css". 1182start.js:2856 Uncaught RangeError: Maximum call stack size exceeded.Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401Polymer.Base._addFeature.instanceTemplate @ start.js:2856Polymer.Base._addFeature._stampTemplate @ start.js:2852Polymer.Base._addFeature._initFeatures @ start.js:6901Polymer.Base.createdCallback @ start.js:2401window.Polymer @ start.js:2350(anonymous function) @ start.js:11226(anonymous function) @ start.js:11490
This was quite confusing as to why some script was removed and some not. The logic only includes script tags that have no type or type application/javascript. There is probably still quite a bit of code that has text/javascript.
I feel like it should extract text/javascript too. At the very least it would be useful to scan the result html and issue a warning if there are still script tags in it.
Putting type="text/ecmascript-6" in script tag like this:
... <script type="text/ecmascript-6"> ... </script>results in ouput file containing original <script type="text/ecmascript-6">
If you include an inline script in the head of the document, like here
which is shown on the polymer tutorial
the crisper causes the script to be run after polymer.html has loaded, which causes an error discussed here
There should be an option to ignore script tags in the head of a html document, since they occasionally need to be run synchronously in a specific order.
Perhaps
--ignore-head=true
and
ignoreHead: true
Until then, you can include such scripts
window.Polymer = window.Polymer || {}; Polymer.dom = 'shadow';
in an external file, "dom.js",
and I just reference is like so
<script src="components/webcomponentsjs/webcomponents-lite.js"></script>
<script src="scripts/dom.js"></script>
<!-- import a component that relies on Polymer -->
<link rel="import" href="elements/my-app.html">
Crisper will just leave them as they were, obviously make sure not to name it the same name as the html file with a js extension though, as by default crisper will overwrite such a file.
We are trying to implement CSP in our Polymer 2 application. The suggested way is by adding crisper to our polymer build. Unfortunately, when adding this additional step we get the following error:
Uncaught ReferenceError: babelHelpers is not defined
Without crisper, all works just fine. My question is:
[email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ └── [email protected]
Vulnerability: https://nvd.nist.gov/vuln/detail/CVE-2018-3750
Please update.
It would be great to add support for sourcemaps generation.
When using without vulcanize.js gulp-crisper seams to ignore relative paths ex
return gulp
.src('./app/**/*.html') // same with base option
.pipe(crisper())
.pipe(gulp.dest('./build/');
output
./app/elements/list/list.html -> ./build/list.html
./app/tmpl/template.html -> ./build/template.html
I have set up a simple polymer project here that uses vulcanize and crisper. When I view index.html, there is a flash of unstyled content. I have tried adding the unresolved
attribute to the body, but this did not work. It seems to be caused by waiting for the index.js file generated by crisper to load. Any idea on how to fix this?
CSP blocks inline styles by default. It would be ideal if crisper either externalized CSS or utilized hashing.
I'm guessing there might be some feasibility issues related to Polymer or the WC.js polyfill. If so, please elaborate for the benefit of future readers : )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.