Skip to content

Commit b7c6ecd

Browse files
committed
Merge branch 'stage-5'
2 parents 96911fe + f7b6d06 commit b7c6ecd

File tree

514 files changed

+16793
-52127
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

514 files changed

+16793
-52127
lines changed

.bowerrc

Lines changed: 0 additions & 3 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
bower_components
21
node_modules
3-
css/app.css
4-
index.html
5-
vendor
2+
dist
63
.tmp
74
.DS_Store
85
npm-debug.log
9-
package-lock.json

.jshintrc

Lines changed: 0 additions & 42 deletions
This file was deleted.

.travis.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
language: node_js
22
node_js:
3-
- "0.10"
3+
- "stable"
44
before_script:
55
- echo "Host github.com" >> ~/.ssh/config
66
- echo " StrictHostKeyChecking no" >> ~/.ssh/config
77
- echo " CheckHostIP no" >> ~/.ssh/config
8-
- npm install -g bower grunt-cli
9-
- bower install -f
8+
- npm install
109
cache:
1110
directories:
1211
- node_modules
13-
- vendor

Gruntfile.js

Lines changed: 248 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,266 @@
1-
module.exports = function (grunt) {
2-
require('matchdep').filter('grunt-*').forEach(grunt.loadNpmTasks);
1+
const extensionManifest = require('./manifest.json');
2+
3+
module.exports = grunt => {
4+
grunt.loadNpmTasks('grunt-contrib-copy');
5+
grunt.loadNpmTasks('grunt-contrib-stylus');
6+
grunt.loadNpmTasks('grunt-contrib-pug');
7+
grunt.loadNpmTasks('grunt-webpack');
8+
grunt.loadNpmTasks('grunt-contrib-watch');
9+
grunt.loadNpmTasks('grunt-contrib-clean');
10+
grunt.loadNpmTasks('grunt-mocha-test');
11+
grunt.loadNpmTasks('grunt-contrib-connect');
12+
grunt.loadNpmTasks('grunt-exec');
13+
grunt.loadNpmTasks('grunt-crx');
314

415
grunt.initConfig({
5-
// clean: [
6-
// 'dist/'
7-
// ],
8-
watch: {
9-
min: {
10-
options: {
11-
livereload: true
12-
},
13-
files: ['Gruntfile.js', 'js/**/*.js', 'stylus/**/*.styl', 'views/**/*.jade', 'views/**/*.md'],
14-
tasks: ['build']
16+
clean: {
17+
website: [ 'dist/website' ],
18+
extension: ['dist/extension']
19+
},
20+
21+
copy: {
22+
website: {
23+
files: [{
24+
expand: true,
25+
cwd: 'img/website',
26+
src: ['**'],
27+
dest: 'dist/website/img'
28+
}, {
29+
expand: true,
30+
src: ['fonts/**', 'opensearch.xml'],
31+
dest: 'dist/website'
32+
}, {
33+
expand: true,
34+
flatten: true,
35+
src: [
36+
'node_modules/bootstrap/dist/css/bootstrap.min.css',
37+
'node_modules/codemirror/lib/codemirror.css',
38+
'node_modules/codemirror/addon/lint/lint.css',
39+
'css/budicon.css',
40+
'css/google-roboto-mono.css'
41+
],
42+
dest: 'dist/website/css/'
43+
}]
44+
},
45+
extension: {
46+
files: [{
47+
expand: true,
48+
flatten: true,
49+
src: ['manifest.json', 'html/extension/bg.html'],
50+
dest: 'dist/extension'
51+
}, {
52+
expand: true,
53+
cwd: 'img/extension',
54+
src: ['**'],
55+
dest: 'dist/extension/img'
56+
}, {
57+
expand: true,
58+
src: ['fonts/**'],
59+
dest: 'dist/extension'
60+
}, {
61+
expand: true,
62+
flatten: true,
63+
src: [
64+
'node_modules/bootstrap/dist/css/bootstrap.min.css',
65+
'node_modules/codemirror/lib/codemirror.css',
66+
'node_modules/codemirror/addon/lint/lint.css',
67+
'css/budicon.css',
68+
'css/google-roboto-mono.css'
69+
],
70+
dest: 'dist/extension/css/'
71+
}]
72+
}
73+
},
74+
75+
crx: {
76+
pack: {
77+
src: "dist/extension/**/*",
78+
dest: 'dist/chrome-jwt-debugger-extension-v' +
79+
`${extensionManifest.version}.zip`
1580
}
1681
},
17-
connect: {
18-
dev: {
19-
options: {
20-
hostname: '0.0.0.0',
21-
livereload: true,
22-
protocol: 'http',
23-
passphrase: ''
24-
}
82+
83+
exec: {
84+
firefoxExtensionPack: {
85+
command: 'node_modules/web-ext/bin/web-ext build ' +
86+
'--source-dir=dist/extension --artifacts-dir=dist ' +
87+
'--overwrite-dest'
2588
},
89+
renameFirefoxExtension: {
90+
command: `mv dist/jwt_debugger-${extensionManifest.version}.zip ` +
91+
'dist/firefox-jwt-debugger-extension-' +
92+
`v${extensionManifest.version}.zip`
93+
}
2694
},
95+
2796
stylus: {
28-
compile: {
97+
website: {
98+
files: {
99+
'dist/website/css/index.css': 'stylus/website/index.styl'
100+
}
101+
},
102+
extension: {
29103
files: {
30-
'css/app.css': 'stylus/app.styl'
104+
'dist/extension/css/index.css': 'stylus/extension/index.styl'
31105
}
32106
}
33107
},
34-
jade: {
35-
compile: {
108+
109+
pug: {
110+
website: {
36111
files: {
37-
'index.html': 'views/index.jade',
38-
'introduction/index.html': 'views/introduction.jade'
112+
'dist/website/index.html': 'views/website/index.pug',
113+
'dist/website/introduction/index.html':
114+
'views/website/introduction.pug'
115+
}
116+
},
117+
extension: {
118+
files: {
119+
'dist/extension/index.html': 'views/extension/index.pug'
120+
}
121+
}
122+
},
123+
124+
webpack: {
125+
websiteProd: require('./webpack.website-prod.js'),
126+
websiteDev: require('./webpack.website-dev.js'),
127+
extensionProd: require('./webpack.extension-prod.js'),
128+
extensionDev: require('./webpack.extension-dev.js'),
129+
unitTests: require('./webpack.website-unit-tests.js')
130+
},
131+
132+
watch: {
133+
websiteSrc: {
134+
files: ['src/*.js', 'src/website/**', 'src/editor/**'],
135+
tasks: 'webpack:websiteDev'
136+
},
137+
extensionSrc: {
138+
files: ['src/*.js', 'src/extension/**', 'src/editor/**'],
139+
tasks: 'webpack:extensionDev'
140+
},
141+
websiteImg: {
142+
files: [ 'img/website/**' ],
143+
tasks: 'copy:website'
144+
},
145+
extensionImg: {
146+
files: [ 'img/extension/**' ],
147+
tasks: 'copy:extension'
148+
},
149+
opensearch: {
150+
files: 'opensearch.xml',
151+
tasks: 'copy:website'
152+
},
153+
assets: {
154+
files: [
155+
'fonts/**',
156+
'node_modules/bootstrap/dist/css/bootstrap.min.css',
157+
'node_modules/codemirror/lib/codemirror.css',
158+
'node_modules/codemirror/addon/lint/lint.css',
159+
'css/budicon.css'
160+
],
161+
tasks: 'copy'
162+
},
163+
websiteViews: {
164+
files: [
165+
'stylus/*.styl',
166+
'stylus/website/**',
167+
'views/*.pug',
168+
'views/website/**'
169+
],
170+
tasks: ['build-website-views']
171+
},
172+
extensionViews: {
173+
files: [
174+
'stylus/*.styl',
175+
'stylus/extension/**',
176+
'views/*.pug',
177+
'views/extension/**'
178+
],
179+
tasks: ['build-extension-views']
180+
}
181+
},
182+
183+
mochaTest: {
184+
unit: {
185+
options: {},
186+
src: ['dist/test/unit-tests.js']
187+
},
188+
functional: {
189+
options: {
190+
// Higher default timeout to account for some animations
191+
timeout: 10000
192+
},
193+
src: ['test/functional/**.js']
194+
}
195+
},
196+
197+
connect: {
198+
functionalTests: {
199+
options: {
200+
hostname: '127.0.0.1',
201+
base: 'dist/website',
39202
}
40203
}
41204
},
42-
// useminPrepare: {
43-
// html: 'html/index.html',
44-
// options: {
45-
// root: '.',
46-
// dest: '.'
47-
// }
48-
// },
49-
// usemin: {
50-
// html: 'index.html',
51-
// options: {
52-
// assetsDir: ['dist/']
53-
// }
54-
// },
55-
// htmlmin: {
56-
// dist: {
57-
// files: { 'index.html': 'html/index.html' }
58-
// }
59-
// },
60-
mocha_phantomjs: {
61-
all: ['test/**/*.html']
62-
}
63205
});
64206

65-
grunt.registerTask('build', ['stylus', 'jade']);
66-
// grunt.registerTask('build', ['clean', 'stylus', 'jade', 'useminPrepare', 'concat', 'uglify', 'cssmin', 'htmlmin', 'usemin']);
67-
grunt.registerTask('test', ['build', 'mocha_phantomjs']);
68-
grunt.registerTask('default', ['build', 'connect', 'watch']);
207+
grunt.registerTask('build-website-views', [
208+
'stylus:website',
209+
'pug:website'
210+
]);
211+
212+
grunt.registerTask('build-extension-views', [
213+
'stylus:extension',
214+
'pug:extension'
215+
]);
216+
217+
grunt.registerTask('build-website', [
218+
'clean:website',
219+
'copy:website',
220+
'build-website-views',
221+
'webpack:websiteProd'
222+
]);
223+
224+
grunt.registerTask('build-website-dev', [
225+
'clean:website',
226+
'copy:website',
227+
'build-website-views',
228+
'webpack:websiteDev'
229+
]);
230+
231+
grunt.registerTask('build-extension', [
232+
'clean:extension',
233+
'copy:extension',
234+
'build-extension-views',
235+
'webpack:extensionProd',
236+
'crx:pack',
237+
'exec:firefoxExtensionPack',
238+
'exec:renameFirefoxExtension'
239+
]);
240+
241+
grunt.registerTask('build-extension-dev', [
242+
'clean:extension',
243+
'copy:extension',
244+
'build-extension-views',
245+
'webpack:extensionDev'
246+
]);
247+
248+
grunt.registerTask('build', ['build-website', 'build-extension']);
249+
250+
grunt.registerTask('build-dev', [
251+
'build-website-dev',
252+
'build-extension-dev'
253+
]);
254+
255+
grunt.registerTask('unit-tests', ['webpack:unitTests', 'mochaTest:unit']);
256+
257+
grunt.registerTask('functional-tests', [
258+
'build-website-dev',
259+
'connect:functionalTests',
260+
'mochaTest:functional'
261+
]);
262+
263+
grunt.registerTask('test', ['unit-tests', 'functional-tests']);
264+
265+
grunt.registerTask('default', ['build-dev', 'watch']);
69266
};

0 commit comments

Comments
 (0)