|
1 | 1 | module.exports = function(grunt) { |
2 | 2 |
|
3 | | - grunt.initConfig({ |
4 | | - pkg: grunt.file.readJSON('package.json'), |
5 | | - banner: '/*! \n * <%= pkg.name %> v<%= pkg.version %> - <%= pkg.description %>\n *\n * <%= pkg.homepage %>\n * \n * Copyright (c) 2014 <%= pkg.author.name %> (<%= pkg.author.url %>)\n * Released under the <%= pkg.license %> license\n */\n\n', |
| 3 | + grunt.initConfig({ |
| 4 | + pkg: grunt.file.readJSON('package.json'), |
| 5 | + banner: '/*! \n * <%= pkg.name %> v<%= pkg.version %> - <%= pkg.description %>\n *\n * <%= pkg.homepage %>\n * \n * Copyright (c) 2014 <%= pkg.author.name %> (<%= pkg.author.url %>)\n * Released under the <%= pkg.license %> license\n */\n\n', |
6 | 6 |
|
7 | | - uglify: { |
8 | | - dist: { |
9 | | - options: { |
10 | | - banner: '<%= banner %>' |
| 7 | + uglify: { |
| 8 | + dist: { |
| 9 | + options: { |
| 10 | + banner: '<%= banner %>' |
| 11 | + }, |
| 12 | + src: ['src/js/templates.js', 'src/js/core.js', 'src/js/*.js'], |
| 13 | + dest: 'dist/js/<%= pkg.name %>.min.js' |
| 14 | + } |
11 | 15 | }, |
12 | | - src: ['src/js/medium-editor-insert-plugin.js', 'src/js/*.js'], |
13 | | - dest: 'dist/js/<%= pkg.name %>.all.min.js' |
14 | | - }, |
15 | | - addons: { |
16 | | - options: { |
17 | | - banner: '<%= banner %>' |
| 16 | + |
| 17 | + concat: { |
| 18 | + dist: { |
| 19 | + options: { |
| 20 | + banner: '<%= banner %>' |
| 21 | + }, |
| 22 | + src: ['src/js/templates.js', 'src/js/core.js', 'src/js/*.js'], |
| 23 | + dest: 'dist/js/<%= pkg.name %>.js' |
| 24 | + } |
18 | 25 | }, |
19 | | - files: [{ |
20 | | - expand: true, |
21 | | - cwd: 'src/js', |
22 | | - src: '**/*.js', |
23 | | - dest: 'dist/js/addons', |
24 | | - ext: '.min.js' |
25 | | - }] |
26 | | - } |
27 | | - }, |
28 | 26 |
|
29 | | - concat: { |
30 | | - dist: { |
31 | | - options: { |
32 | | - banner: '<%= banner %>' |
| 27 | + jshint: { |
| 28 | + options: { |
| 29 | + jshintrc: true |
| 30 | + }, |
| 31 | + files: ['src/js/*.js', '!src/js/templates.js', 'test/*.js'] |
33 | 32 | }, |
34 | | - src: ['src/js/medium-editor-insert-plugin.js', 'src/js/*.js'], |
35 | | - dest: 'dist/js/<%= pkg.name %>.all.js' |
36 | | - }, |
37 | | - addons: { |
38 | | - options: { |
39 | | - banner: '<%= banner %>' |
40 | | - }, |
41 | | - files: [{ |
42 | | - expand: true, |
43 | | - cwd: 'src/js', |
44 | | - src: '**/*.js', |
45 | | - dest: 'dist/js/addons', |
46 | | - ext: '.js' |
47 | | - }] |
48 | | - } |
49 | | - }, |
50 | 33 |
|
51 | | - jshint: { |
52 | | - files: ['src/js/*.js', 'src/js/**/*.js', 'test/*.js', 'test/**/*.js'], |
53 | | - options: { |
54 | | - jshintrc: true, |
55 | | - ignores: ['test/lib/**/*.js'] |
56 | | - } |
57 | | - }, |
| 34 | + qunit: { |
| 35 | + unit: 'test.html' |
| 36 | + }, |
58 | 37 |
|
59 | | - qunit: { |
60 | | - unit: 'test.html' |
61 | | - }, |
| 38 | + sass: { |
| 39 | + dist: { |
| 40 | + files: [{ |
| 41 | + expand: true, |
| 42 | + cwd: 'src/sass/', |
| 43 | + src: ['*.scss'], |
| 44 | + dest: 'dist/css/', |
| 45 | + ext: '.css' |
| 46 | + }] |
| 47 | + } |
| 48 | + }, |
62 | 49 |
|
63 | | - sass: { |
64 | | - dist: { |
65 | | - files: [{ |
66 | | - expand: true, |
67 | | - cwd: 'src/sass/', |
68 | | - src: ['*.scss'], |
69 | | - dest: 'dist/css/', |
70 | | - ext: '.css' |
71 | | - }] |
72 | | - } |
73 | | - }, |
| 50 | + autoprefixer: { |
| 51 | + dist: { |
| 52 | + src: 'dist/css/*.css' |
| 53 | + } |
| 54 | + }, |
74 | 55 |
|
75 | | - autoprefixer: { |
76 | | - dist: { |
77 | | - src: 'dist/css/*.css' |
78 | | - } |
79 | | - }, |
| 56 | + csso: { |
| 57 | + dist: { |
| 58 | + options: { |
| 59 | + banner: '<%= banner %>' |
| 60 | + }, |
| 61 | + expand: true, |
| 62 | + cwd: 'dist/css/', |
| 63 | + src: ['*.css', '!*.min.css'], |
| 64 | + dest: 'dist/css/', |
| 65 | + ext: '.min.css' |
| 66 | + } |
| 67 | + }, |
80 | 68 |
|
81 | | - csso: { |
82 | | - dist: { |
83 | | - options: { |
84 | | - banner: '<%= banner %>' |
| 69 | + usebanner: { |
| 70 | + dist: { |
| 71 | + options: { |
| 72 | + banner: '<%= banner %>', |
| 73 | + linebreak: false |
| 74 | + }, |
| 75 | + files: [{ |
| 76 | + expand: true, |
| 77 | + cwd: 'dist/css/', |
| 78 | + src: ['*.css', '!*.min.css'], |
| 79 | + dest: 'dist/css/', |
| 80 | + ext: '.css' |
| 81 | + }] |
| 82 | + } |
85 | 83 | }, |
86 | | - expand: true, |
87 | | - cwd: 'dist/css/', |
88 | | - src: ['*.css', '!*.min.css'], |
89 | | - dest: 'dist/css/', |
90 | | - ext: '.min.css' |
91 | | - } |
92 | | - }, |
93 | 84 |
|
94 | | - usebanner: { |
95 | | - dist: { |
96 | | - options: { |
97 | | - banner: '<%= banner %>', |
98 | | - linebreak: false |
| 85 | + watch: { |
| 86 | + styles: { |
| 87 | + files: 'src/sass/**/*.scss', |
| 88 | + tasks: ['css'], |
| 89 | + options: { |
| 90 | + debounceDelay: 250 |
| 91 | + } |
| 92 | + }, |
| 93 | + templates: { |
| 94 | + files: 'src/js/templates/**/*.hbs', |
| 95 | + tasks: ['handlebars'], |
| 96 | + options: { |
| 97 | + debounceDelay: 250 |
| 98 | + } |
| 99 | + } |
99 | 100 | }, |
100 | | - files: [{ |
101 | | - expand: true, |
102 | | - cwd: 'dist/css/', |
103 | | - src: ['*.css', '!*.min.css'], |
104 | | - dest: 'dist/css/', |
105 | | - ext: '.css' |
106 | | - }] |
107 | | - } |
108 | | - }, |
109 | 101 |
|
110 | | - watch: { |
111 | | - scripts: { |
112 | | - files: ['src/js/**/*.js'], |
113 | | - tasks: ['js'], |
114 | | - options: { |
115 | | - debounceDelay: 250 |
116 | | - } |
117 | | - }, |
118 | | - styles: { |
119 | | - files: 'src/sass/**/*.scss', |
120 | | - tasks: ['css'], |
121 | | - options: { |
122 | | - debounceDelay: 250 |
| 102 | + handlebars: { |
| 103 | + compile: { |
| 104 | + options: { |
| 105 | + namespace: 'MediumInsert.Templates' |
| 106 | + }, |
| 107 | + files: { |
| 108 | + 'src/js/templates.js': 'src/js/templates/*.hbs' |
| 109 | + } |
| 110 | + } |
123 | 111 | } |
124 | | - } |
125 | | - } |
126 | | - }); |
| 112 | + }); |
127 | 113 |
|
128 | | - grunt.loadNpmTasks('grunt-contrib-uglify'); |
129 | | - grunt.loadNpmTasks('grunt-contrib-jshint'); |
130 | | - grunt.loadNpmTasks('grunt-contrib-qunit'); |
131 | | - grunt.loadNpmTasks('grunt-contrib-compass'); |
132 | | - grunt.loadNpmTasks('grunt-contrib-watch'); |
133 | | - grunt.loadNpmTasks('grunt-contrib-concat'); |
134 | | - grunt.loadNpmTasks('grunt-autoprefixer'); |
135 | | - grunt.loadNpmTasks('grunt-sass'); |
136 | | - grunt.loadNpmTasks('grunt-csso'); |
137 | | - grunt.loadNpmTasks('grunt-banner'); |
| 114 | + grunt.loadNpmTasks('grunt-contrib-uglify'); |
| 115 | + grunt.loadNpmTasks('grunt-contrib-jshint'); |
| 116 | + grunt.loadNpmTasks('grunt-contrib-qunit'); |
| 117 | + grunt.loadNpmTasks('grunt-contrib-watch'); |
| 118 | + grunt.loadNpmTasks('grunt-contrib-concat'); |
| 119 | + grunt.loadNpmTasks('grunt-autoprefixer'); |
| 120 | + grunt.loadNpmTasks('grunt-sass'); |
| 121 | + grunt.loadNpmTasks('grunt-csso'); |
| 122 | + grunt.loadNpmTasks('grunt-banner'); |
| 123 | + grunt.loadNpmTasks('grunt-contrib-handlebars'); |
138 | 124 |
|
139 | | - grunt.registerTask('test', ['jshint', 'qunit']); |
140 | | - grunt.registerTask('js', ['test', 'uglify', 'concat']); |
141 | | - grunt.registerTask('css', ['sass', 'autoprefixer', 'csso', 'usebanner']); |
142 | | - grunt.registerTask('default', ['js', 'css']); |
| 125 | + grunt.registerTask('test', ['jshint', 'qunit']); |
| 126 | + grunt.registerTask('js', ['test', 'handlebars', 'uglify', 'concat']); |
| 127 | + grunt.registerTask('css', ['sass', 'autoprefixer', 'csso', 'usebanner']); |
| 128 | + grunt.registerTask('default', ['js', 'css']); |
143 | 129 |
|
144 | 130 | }; |
0 commit comments