aboutsummaryrefslogtreecommitdiff
path: root/extension/gulpfile.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-02-29 18:03:02 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-02-29 18:03:02 +0100
commitc962e9402123900c53967c14cf809ea10576cdb8 (patch)
treee7df9cfdd6fceae30fb99c8ec6be5e07c8b153a8 /extension/gulpfile.js
parent30ee3320c788129b258ed8b42f4fc63d28431e2f (diff)
restructure
Diffstat (limited to 'extension/gulpfile.js')
-rw-r--r--extension/gulpfile.js179
1 files changed, 0 insertions, 179 deletions
diff --git a/extension/gulpfile.js b/extension/gulpfile.js
deleted file mode 100644
index fc0134457..000000000
--- a/extension/gulpfile.js
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- This file is part of TALER
- (C) 2015 GNUnet e.V.
-
- TALER is free software; you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation; either version 3, or (at your option) any later version.
-
- TALER is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/>
- */
-
-"use strict";
-
-/**
- * Run with
- * $ gulp <taskname>
- *
- * The important tasks are:
- * - tsconfig: generate tsconfig.json file for
- * development
- * - package: create Chrome extension zip file in
- * build/.
- */
-
-const gulp = require("gulp");
-const map = require("map-stream");
-const ts = require("gulp-typescript");
-const zip = require("gulp-zip");
-const fs = require("fs");
-const del = require("del");
-const through = require('through2');
-const File = require('vinyl');
-const jsonTransform = require('gulp-json-transform');
-
-const paths = {
- ts: {
- release: [
- "lib/**/*.{ts,tsx}",
- "background/*.{ts,tsx}",
- "content_scripts/*.{ts,tsx}",
- "popup/*.{ts,tsx}",
- "pages/*.{ts,tsx}",
- "!**/*.d.ts"
- ],
- dev: [
- "test/tests/*.{ts,tsx}"
- ],
- },
- dist: [
- "*.po",
- "img/*",
- "style/*.css",
- "lib/vendor/*",
- "lib/emscripten/libwrapper.js",
- "lib/module-trampoline.js",
- "popup/**/*.{html,css}",
- "pages/**/*.{html,css}",
- ],
-};
-
-
-
-const tsBaseArgs = {
- target: "es5",
- jsx: "react",
- experimentalDecorators: true,
- module: "system",
- sourceMap: true,
- noLib: true,
- noImplicitReturns: true,
- noFallthroughCasesInSwitch: true,
-};
-
-
-let manifest;
-(() => {
- const f = fs.readFileSync("manifest.json", "utf8");
- manifest = JSON.parse(f);
-})();
-
-
-gulp.task("clean", function () {
- return del("build/ext");
-});
-
-
-gulp.task("dist-prod", ["clean"], function () {
- return gulp.src(paths.dist, {base: ".", stripBOM: false})
- .pipe(gulp.dest("build/ext/"));
-});
-
-gulp.task("compile-prod", ["clean"], function () {
- const tsArgs = {};
- Object.assign(tsArgs, tsBaseArgs);
- tsArgs.typescript = require("typescript");
- // relative to the gulp.dest
- tsArgs.outDir = ".";
- // We don't want source maps for production
- tsArgs.sourceMap = undefined;
- return gulp.src(paths.ts.release)
- .pipe(ts(tsArgs))
- .pipe(gulp.dest("build/ext/"));
-});
-
-gulp.task("manifest-stable", ["clean"], function () {
- return gulp.src("manifest.json")
- .pipe(jsonTransform((data) => {
- data.name = "GNU Taler Wallet (stable)";
- return data;
- }, 2))
- .pipe(gulp.dest("build/ext/"));
-});
-
-gulp.task("manifest-unstable", ["clean"], function () {
- return gulp.src("manifest.json")
- .pipe(jsonTransform((data) => {
- data.name = "GNU Taler Wallet (unstable)";
- return data;
- }, 2))
- .pipe(gulp.dest("build/ext/"));
-});
-
-
-gulp.task("package-stable", ["compile-prod", "dist-prod", "manifest-stable"], function () {
- let zipname = String.prototype.concat("taler-wallet-stable-", manifest.version, ".zip");
- return gulp.src("build/ext/**", {buffer: false, stripBOM: false})
- .pipe(zip(zipname))
- .pipe(gulp.dest("build/"));
-});
-
-gulp.task("package-unstable", ["compile-prod", "dist-prod", "manifest-unstable"], function () {
- let zipname = String.prototype.concat("taler-wallet-unstable-", manifest.version, ".zip");
- return gulp.src("build/ext/**", {buffer: false, stripBOM: false})
- .pipe(zip(zipname))
- .pipe(gulp.dest("build/"));
-});
-
-
-/**
- * Generate a tsconfig.json with the
- * given compiler options that compiles
- * all files piped into it.
- */
-function tsconfig(confBase) {
- let conf = {
- compilerOptions: {},
- files: []
- };
- Object.assign(conf.compilerOptions, confBase);
- return through.obj(function(file, enc, cb) {
- conf.files.push(file.relative);
- cb();
- }, function(cb) {
- let x = JSON.stringify(conf, null, 2);
- let f = new File({
- path: "tsconfig.json",
- contents: new Buffer(x),
- });
- this.push(f)
- cb();
- });
-}
-
-
-// Generate the tsconfig file
-// that should be used during development.
-gulp.task("tsconfig", function() {
- return gulp.src(Array.prototype.concat(paths.ts.release, paths.ts.dev), {base: "."})
- .pipe(tsconfig(tsBaseArgs))
- .pipe(gulp.dest("."));
-});
-
-
-gulp.task("default", ["package-stable", "tsconfig"]);