Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: pkg/shadow_dom/tool/gruntfile.js

Issue 22951003: Build shadow_dom package in dart/pkg (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Added readme.txt on how to build package Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
2 * Copyright 2013 The Polymer Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style
4 * license that can be found in the LICENSE file.
5 */
6 module.exports = function(grunt) {
7 ShadowDOMPolyfill = [
8 'sidetable.js',
9 'wrappers.js',
10 'wrappers/events.js',
11 'wrappers/NodeList.js',
12 'wrappers/Node.js',
13 'querySelector.js',
14 'wrappers/node-interfaces.js',
15 'wrappers/CharacterData.js',
16 'wrappers/Element.js',
17 'wrappers/HTMLElement.js',
18 'wrappers/HTMLContentElement.js',
19 'wrappers/HTMLShadowElement.js',
20 'wrappers/HTMLTemplateElement.js',
21 'wrappers/HTMLUnknownElement.js',
22 'wrappers/generic.js',
23 'wrappers/ShadowRoot.js',
24 'ShadowRenderer.js',
25 'wrappers/Document.js',
26 'wrappers/Window.js',
27 'wrappers/MutationObserver.js',
28 'wrappers/override-constructors.js'
29 ];
30 ShadowDOMPolyfill = ShadowDOMPolyfill.map(function(p) {
31 return '../../../third_party/polymer/ShadowDOM/src/' + p;
32 });
33
34 // Apply partial patch from Polymer/Platform, dart2js, CSS
35 // polyfill from platform and dart2js CSS patches:
36 ShadowDOMPolyfill.unshift(
37 '../lib/src/platform/patches-shadowdom-polyfill-before.js'
38 );
39 ShadowDOMPolyfill.push(
40 '../lib/src/platform/patches-shadowdom-polyfill.js',
41 '../lib/src/platform/platform-init.js',
42 '../lib/src/platform/ShadowCSS.js',
43 '../lib/src/platform/patches-shadow-css.js'
44 );
45
46 // Only load polyfill if not natively present.
47 ConditionalShadowDOM = [].concat(
48 'build/if-poly.js',
49 ShadowDOMPolyfill,
50 'build/end-if.js'
51 );
52
53 // karma setup
54 var browsers;
55 (function() {
56 try {
57 var config = grunt.file.readJSON('local.json');
58 if (config.browsers) {
59 browsers = config.browsers;
60 }
61 } catch (e) {
62 var os = require('os');
63 browsers = ['Chrome', 'Firefox'];
64 if (os.type() === 'Darwin') {
65 browsers.push('ChromeCanary');
66 }
67 if (os.type() === 'Windows_NT') {
68 browsers.push('IE');
69 }
70 }
71 })();
72 grunt.initConfig({
73 karma: {
74 options: {
75 configFile: 'conf/karma.conf.js',
76 keepalive: true,
77 browsers: browsers
78 },
79 buildbot: {
80 browsers: browsers,
81 reporters: ['crbot'],
82 logLevel: 'OFF'
83 },
84 ShadowDOM: {
85 browsers: browsers
86 }
87 },
88 concat: {
89 ShadowDOM: {
90 src: ConditionalShadowDOM,
91 dest: '../lib/shadow_dom.debug.js',
92 nonull: true
93 }
94 },
95 uglify: {
96 ShadowDOM: {
97 options: {
98 compress: {
99 // TODO(sjmiles): should be false by default (?)
100 // https://github.com/mishoo/UglifyJS2/issues/165
101 unsafe: false
102 }
103 //compress: true, Xmangle: true, beautify: true, unsafe: false
104 },
105 files: {
106 '../lib/shadow_dom.min.js': ['../lib/shadow_dom.debug.js']
107 }
108 }
109 },
110
111 yuidoc: {
112 compile: {
113 name: '<%= pkg.name %>',
114 description: '<%= pkg.description %>',
115 version: '<%= pkg.version %>',
116 url: '<%= pkg.homepage %>',
117 options: {
118 exclude: 'third_party',
119 paths: '.',
120 outdir: 'docs',
121 linkNatives: 'true',
122 tabtospace: 2,
123 themedir: '../docs/doc_themes/simple'
124 }
125 }
126 },
127 pkg: grunt.file.readJSON('package.json')
128 });
129
130 // plugins
131 grunt.loadNpmTasks('grunt-contrib-concat');
132 grunt.loadNpmTasks('grunt-contrib-uglify');
133 grunt.loadNpmTasks('grunt-contrib-yuidoc');
134 grunt.loadNpmTasks('grunt-karma-0.9.1');
135
136 // tasks
137 grunt.registerTask('default', ['concat', 'uglify']);
138 grunt.registerTask('minify', ['concat', 'uglify']);
139 grunt.registerTask('docs', ['yuidoc']);
140 grunt.registerTask('test', ['karma:ShadowDOM']);
141 grunt.registerTask('test-buildbot', ['karma:buildbot']);
142 };
143
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698