forked from greatsuspender/thegreatsuspender
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Gruntfile.js
117 lines (115 loc) · 2.88 KB
/
Gruntfile.js
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
module.exports = function(grunt) {
require('time-grunt')(grunt);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
manifest: grunt.file.readJSON('src/manifest.json'),
config: {
tempDir:
grunt.cli.tasks[0] === 'tgut' ? 'build/tgut-temp/' : 'build/tgs-temp/',
buildName:
grunt.cli.tasks[0] === 'tgut'
? 'tgut-<%= manifest.version %>'
: 'tgs-<%= manifest.version %>',
},
copy: {
main: {
expand: true,
src: ['src/**', '!src/tests.html', '!src/js/tests/**'],
dest: '<%= config.tempDir %>',
},
},
'string-replace': {
debugoff: {
files: {
'<%= config.tempDir %>src/js/':
'<%= config.tempDir %>src/js/gsUtils.js',
},
options: {
replacements: [
{
pattern: /debugInfo\s*=\s*true/,
replacement: 'debugInfo = false',
},
{
pattern: /debugError\s*=\s*true/,
replacement: 'debugError = false',
},
],
},
},
debugon: {
files: {
'<%= config.tempDir %>src/js/':
'<%= config.tempDir %>src/js/gsUtils.js',
},
options: {
replacements: [
{
pattern: /debugInfo\s*=\s*false/,
replacement: 'debugInfo = true',
},
{
pattern: /debugError\s*=\s*false/,
replacement: 'debugError = true',
},
],
},
},
localesTgut: {
files: {
'<%= config.tempDir %>src/_locales/':
'<%= config.tempDir %>src/_locales/**',
},
options: {
replacements: [
{
pattern: /The Great Suspender/gi,
replacement: 'The Great Tester',
},
],
},
},
},
crx: {
public: {
src: [
'<%= config.tempDir %>src/**/*',
'!**/html2canvas.js',
'!**/Thumbs.db',
],
dest: 'build/zip/<%= config.buildName %>.zip',
},
private: {
src: [
'<%= config.tempDir %>src/**/*',
'!**/html2canvas.js',
'!**/Thumbs.db',
],
dest: 'build/crx/<%= config.buildName %>.crx',
options: {
privateKey: 'key.pem',
},
},
},
clean: ['<%= config.tempDir %>'],
});
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-string-replace');
grunt.loadNpmTasks('grunt-crx');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.registerTask('default', [
'copy',
'string-replace:debugoff',
'crx:public',
'crx:private',
'clean',
]);
grunt.registerTask('tgut', [
'copy',
'string-replace:debugon',
'string-replace:localesTgut',
'crx:public',
'crx:private',
'clean',
]);
};