| Index: third_party/web-animations-js/sources/Gruntfile.js
|
| diff --git a/third_party/web-animations-js/sources/Gruntfile.js b/third_party/web-animations-js/sources/Gruntfile.js
|
| deleted file mode 100644
|
| index 5fad55838a903928322bd4a4ca0757626e0a62d6..0000000000000000000000000000000000000000
|
| --- a/third_party/web-animations-js/sources/Gruntfile.js
|
| +++ /dev/null
|
| @@ -1,279 +0,0 @@
|
| -module.exports = function(grunt) {
|
| - grunt.loadNpmTasks('grunt-contrib-uglify');
|
| - grunt.loadNpmTasks('grunt-gjslint');
|
| - grunt.loadNpmTasks('grunt-checkrepo');
|
| - grunt.loadNpmTasks('grunt-karma');
|
| - grunt.loadNpmTasks('grunt-saucelabs');
|
| - grunt.loadNpmTasks('grunt-git-status');
|
| - grunt.loadNpmTasks('grunt-template');
|
| -
|
| - var targetConfig = require('./target-config.js');
|
| -
|
| - var sourceMap = require('source-map');
|
| -
|
| - var config = {
|
| - uglify: {},
|
| - template: {},
|
| - wrap: {},
|
| - sourceMapConcat: {},
|
| - };
|
| -
|
| - function concat(sources, target, defines) {
|
| - config.uglify[target] = {
|
| - options: {
|
| - sourceMap: true,
|
| - sourceMapName: target + '.map',
|
| - wrap: false,
|
| - compress: {
|
| - global_defs: defines,
|
| - dead_code: false
|
| - },
|
| - mangle: false
|
| - },
|
| - nonull: true,
|
| - dest: target,
|
| - src: sources
|
| - };
|
| - return 'uglify:' + target;
|
| - }
|
| -
|
| - function compress(source, target, defines) {
|
| - var name = concat([source], target, defines);
|
| - var record = config.uglify[target];
|
| - record.options.sourceMapIn = source + '.map';
|
| - record.options.banner = grunt.file.read('templates/boilerplate');
|
| - record.options.wrap = true;
|
| - record.options.compress.dead_code = true;
|
| - record.options.mangle = { eval: true };
|
| - return name;
|
| - }
|
| -
|
| - function genTarget(target) {
|
| - var config = targetConfig[target];
|
| - var newGens = [
|
| - generateFromTemplate('templates/web-animations.js', {target: target}, target + '.dev.js'),
|
| - generateFromTemplate('templates/web-animations.html', {src: config.src}, target + '.dev.html'),
|
| - generateFromTemplate('templates/runner.html', {target: target}, 'test/runner-' + target + '.html')];
|
| - return newGens;
|
| - }
|
| -
|
| - function generateFromTemplate(source, data, target) {
|
| - var targetSpec = {};
|
| - targetSpec[target] = [source];
|
| - config.template[target] = {
|
| - options: {
|
| - data: data
|
| - },
|
| - files: targetSpec
|
| - }
|
| - return 'template:' + target;
|
| - }
|
| -
|
| - function guard(source, target) {
|
| - config.wrap[target] = {
|
| - source: source,
|
| - preamble: '(function() {\n' +
|
| - ' if (document.documentElement.animate) {\n' +
|
| - ' var player = document.documentElement.animate([], 0);\n' +
|
| - ' var load = true;\n' +
|
| - ' if (player) {\n' +
|
| - ' load = false;\n' +
|
| - ' "play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(t) {\n' +
|
| - ' if (player[t] === undefined) {\n' +
|
| - ' load = true;\n' +
|
| - ' }\n' +
|
| - ' });\n' +
|
| - ' }\n' +
|
| - ' if (!load) { return; }' +
|
| - ' }\n',
|
| - postamble: '})();'
|
| - };
|
| - return 'wrap:' + target;
|
| - }
|
| -
|
| - function concatWithMaps(sources, target) {
|
| - config.sourceMapConcat[target] = {
|
| - sources: sources
|
| - }
|
| - return 'sourceMapConcat:' + target;
|
| - };
|
| -
|
| - var concatDefines = {
|
| - WEB_ANIMATIONS_TESTING: false
|
| - };
|
| -
|
| - function buildWebAnimations1(target) {
|
| - var config = targetConfig[target];
|
| - return genTarget(target).concat([
|
| - concat(config.scopeSrc.concat(config.sharedSrc).concat(config.webAnimations1Src), 'inter-raw-' + target + '.js', concatDefines),
|
| - guard('inter-raw-' + target + '.js', 'inter-' + target + '.js'),
|
| - compress('inter-' + target + '.js', target + '.min.js', concatDefines)
|
| - ]);
|
| - }
|
| -
|
| - function buildWebAnimationsNext(target) {
|
| - var config = targetConfig[target];
|
| - return genTarget(target).concat([
|
| - concat(config.scopeSrc.concat(config.sharedSrc), 'inter-' + target + '-preamble.js', concatDefines),
|
| - concat(config.webAnimations1Src, 'inter-component-' + target + 'web-animations-1.js', concatDefines),
|
| - guard('inter-component-' + target + 'web-animations-1.js', 'inter-guarded-' + target + '-web-animations-1.js'),
|
| - concat(config.webAnimationsNextSrc, 'inter-component-' + target + '.js', concatDefines),
|
| - concatWithMaps(['inter-' + target + '-preamble.js', 'inter-guarded-' + target + '-web-animations-1.js', 'inter-component-' + target + '.js'],
|
| - 'inter-' + target + '.js'),
|
| - compress('inter-' + target + '.js', target + '.min.js', concatDefines)
|
| - ]);
|
| - }
|
| -
|
| - grunt.registerTask('web-animations', buildWebAnimations1('web-animations'));
|
| - grunt.registerTask('web-animations-next', buildWebAnimationsNext('web-animations-next'));
|
| - grunt.registerTask('web-animations-next-lite', buildWebAnimationsNext('web-animations-next-lite'));
|
| -
|
| - var testTargets = {'web-animations': {}, 'web-animations-next': {}};
|
| -
|
| - grunt.initConfig({
|
| - uglify: config.uglify,
|
| - template: config.template,
|
| - wrap: config.wrap,
|
| - sourceMapConcat: config.sourceMapConcat,
|
| - checkrepo: {
|
| - all: {
|
| - clean: true,
|
| - },
|
| - },
|
| - 'git-status': {
|
| - all: {
|
| - },
|
| - },
|
| - gjslint: {
|
| - options: {
|
| - flags: [
|
| - '--nojsdoc',
|
| - '--strict',
|
| - '--disable 7,121,110', // 7: Wrong blank line count
|
| - // 121: Illegal comma at end of object literal
|
| - // 110: Line too long
|
| - ],
|
| - reporter: {
|
| - name: 'console'
|
| - }
|
| - },
|
| - all: {
|
| - src: [
|
| - 'src/*.js',
|
| - 'test/*.js',
|
| - 'test/js/*.js',
|
| - ],
|
| - }
|
| - },
|
| - test: testTargets,
|
| - sauce: testTargets,
|
| - });
|
| -
|
| -
|
| - grunt.task.registerMultiTask('test', 'Run <target> tests under Karma', function() {
|
| - var done = this.async();
|
| - var karmaConfig = require('karma/lib/config').parseConfig(require('path').resolve('test/karma-config.js'), {});
|
| - var config = targetConfig[this.target];
|
| - karmaConfig.files = ['test/runner.js'].concat(config.src, config.test);
|
| - var karmaServer = require('karma').server;
|
| - karmaServer.start(karmaConfig, function(exitCode) {
|
| - done(exitCode === 0);
|
| - });
|
| - });
|
| -
|
| - grunt.task.registerMultiTask('sauce', 'Run <target> tests under Karma on Saucelabs', function() {
|
| - var done = this.async();
|
| - var karmaConfig = require('karma/lib/config').parseConfig(require('path').resolve('test/karma-config-ci.js'), {});
|
| - var config = targetConfig[this.target];
|
| - karmaConfig.files = ['test/runner.js'].concat(config.src, config.test);
|
| - karmaConfig.sauceLabs.testName = 'web-animation-next ' + this.target + ' Unit tests';
|
| - var karmaServer = require('karma').server;
|
| - karmaServer.start(karmaConfig, function(exitCode) {
|
| - done(exitCode === 0);
|
| - });
|
| - });
|
| -
|
| - grunt.task.registerMultiTask('sourceMapConcat', 'concat source files and produce combined source map',
|
| - function() {
|
| - var sources = this.data.sources.map(grunt.file.read);
|
| - var sourceMaps = this.data.sources.map(function(f) { return grunt.file.read(f + '.map'); });
|
| - var out = "";
|
| - var outMapGenerator = new sourceMap.SourceMapGenerator({file: this.target});
|
| - var lineDelta = 0;
|
| - for (var i = 0; i < sources.length; i++) {
|
| - out += sources[i];
|
| - new sourceMap.SourceMapConsumer(sourceMaps[i]).eachMapping(function(mapping) {
|
| - outMapGenerator.addMapping({
|
| - generated: {line: mapping.generatedLine + lineDelta, column: mapping.generatedColumn},
|
| - original: {line: mapping.originalLine, column: mapping.originalColumn},
|
| - source: mapping.source, name: mapping.name});
|
| - });
|
| - var sourceLines = sources[i].split('\n');
|
| - lineDelta += sourceLines.length;
|
| - if (sources[i][sources[i].length - 1] !== '\n') {
|
| - out += '\n';
|
| - }
|
| - }
|
| - grunt.file.write(this.target, out);
|
| - grunt.file.write(this.target + '.map', outMapGenerator.toString());
|
| - });
|
| -
|
| - grunt.task.registerMultiTask('wrap', 'Wrap <target> source file and update source map',
|
| - function() {
|
| - var inFile = grunt.file.read(this.data.source);
|
| - var inMap = grunt.file.read(this.data.source + '.map');
|
| - var inLines = inFile.split('\n');
|
| - var i = 0;
|
| -
|
| - // Discover copyright header
|
| - while (inLines[i].length < 2 || inLines[i].substring(0, 2) == '//') {
|
| - i++;
|
| - }
|
| -
|
| - // Fix mapping footer
|
| - var postamble = this.data.postamble;
|
| - if (inLines[inLines.length - 1].substring(0, 21) == '//# sourceMappingURL=') {
|
| - postamble += '\n//# sourceMappingURL=' + this.target + '.map';
|
| - }
|
| -
|
| - if (i > 0) {
|
| - var banner = inLines.slice(0, i).join('\n') + '\n';
|
| - } else {
|
| - var banner = '';
|
| - }
|
| -
|
| - var source = inLines.slice(i, inLines.length - 1).join('\n');
|
| -
|
| - grunt.file.write(this.target, banner + this.data.preamble + source + postamble);
|
| - var preLines = this.data.preamble.split('\n');
|
| - var lineDelta = preLines.length;
|
| - if (this.data.preamble[this.data.preamble.length - 1] == '\n') {
|
| - var charDelta = 0;
|
| - } else {
|
| - var charDelta = preLines[lineDelta - 1].length;
|
| - lineDelta -= 1;
|
| - }
|
| - var inMapConsumer = new sourceMap.SourceMapConsumer(inMap);
|
| - var outMapGenerator = new sourceMap.SourceMapGenerator({file: this.target});
|
| - inMapConsumer.eachMapping(function(mapping) {
|
| - if (mapping.generatedLine == i + 1) {
|
| - mapping.generatedColumn += charDelta;
|
| - }
|
| - mapping.generatedLine += lineDelta;
|
| - outMapGenerator.addMapping(
|
| - {generated: {line: mapping.generatedLine, column: mapping.generatedColumn},
|
| - original: {line: mapping.originalLine, column: mapping.originalColumn},
|
| - source: mapping.source, name: mapping.name});
|
| - });
|
| - grunt.file.write(this.target + '.map', outMapGenerator.toString());
|
| - });
|
| -
|
| - grunt.task.registerTask('clean', 'Remove files generated by grunt', function() {
|
| - grunt.file.expand('web-animations*').concat(grunt.file.expand('test/runner-*.html')).concat(grunt.file.expand('inter-*')).forEach(function(file) {
|
| - grunt.file.delete(file);
|
| - grunt.log.writeln('File ' + file + ' removed');
|
| - });
|
| - });
|
| -
|
| - grunt.task.registerTask('default', ['web-animations', 'web-animations-next', 'web-animations-next-lite', 'gjslint']);
|
| -};
|
|
|