forked from blockchain/My-Wallet-V3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.coffee
123 lines (103 loc) · 2.61 KB
/
Gruntfile.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
module.exports = (grunt) ->
grunt.initConfig
pkg: grunt.file.readJSON("package.json")
clean:
build: ["build"]
dist: ["dist"]
test: ["coverage", "coverage-lcov"]
testjs: ["tests/*js"]
coveralls:
options:
debug: true
coverageDir: 'coverage-lcov'
dryRun: false
force: true
recursive: true
concat:
options:
separator: ";"
mywallet:
src: [
'build/blockchain.js'
]
dest: "dist/my-wallet.js"
replace:
# monkey patch deps
bitcoinjs:
# comment out value validation in fromBuffer to speed up node
# creation from cached xpub/xpriv values
src: ['node_modules/bitcoinjs-lib/src/hdnode.js'],
overwrite: true,
replacements: [{
from: /\n curve\.validate\(Q\)/g
to: '\n // curve.validate(Q)'
}]
uglify:
options:
banner: "/*! <%= pkg.name %> <%= grunt.template.today(\"yyyy-mm-dd\") %> */\n"
mangle: false
mywallet:
src: "dist/my-wallet.js"
dest: "dist/my-wallet.min.js"
browserify:
options:
debug: true
browserifyOptions: { standalone: "Blockchain" }
build:
src: ['index.js']
dest: 'build/blockchain.js'
production:
options:
debug: false
src: '<%= browserify.build.src %>'
dest: 'build/blockchain.js'
watch:
scripts:
files: [
'src/**/*.js'
]
tasks: ['build']
env:
build:
DEBUG: "1"
PRODUCTION: "0"
production:
PRODUCTION: "1"
preprocess:
js:
expand: true
cwd: 'src/'
src: '**/*.js'
dest: 'build'
ext: '.processed.js'
grunt.loadNpmTasks 'grunt-browserify'
grunt.loadNpmTasks 'grunt-contrib-clean'
grunt.loadNpmTasks 'grunt-contrib-concat'
grunt.loadNpmTasks 'grunt-contrib-uglify'
grunt.loadNpmTasks 'grunt-contrib-watch'
grunt.loadNpmTasks 'grunt-env'
grunt.loadNpmTasks 'grunt-preprocess'
grunt.loadNpmTasks 'grunt-text-replace'
grunt.loadNpmTasks 'grunt-karma-coveralls'
grunt.registerTask "default", [
"build"
"watch"
]
grunt.registerTask "build", [
"env:build"
"preprocess"
"replace:bitcoinjs"
"browserify:build"
"concat:mywallet"
]
# You must run grunt clean and grunt build first
grunt.registerTask "dist", () =>
grunt.task.run [
"env:production"
"preprocess"
"replace:bitcoinjs"
"browserify:production"
"concat:mywallet"
"uglify:mywallet"
]
return