Completed
Pull Request — master (#2188)
by
unknown
05:45
created

Gruntfile.js (2 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
/*global exports:false, module:false, require:false */
0 ignored issues
show
exports does not seem to be used.
Loading history...
2
3
module.exports = function( grunt ) {
4
	'use strict';
5
6
	require('matchdep').filterDev('grunt-*').forEach( grunt.loadNpmTasks );
7
8
	grunt.initConfig({
9
10
		jshint: {
11
			options: {
12
				jshintrc: '.jshintrc'
13
			},
14
			plugin: [
15
				'Gruntfile.js',
16
				'wpsc-admin/js/*.js',
17
				'wpsc-components/marketplace-core-v1/static/*.js',
18
				'wpsc-components/merchant-core-v3/gateways/*.js',
19
				'wpsc-components/theme-engine-v2/admin/js/*.js',
20
				'wpsc-components/theme-engine-v2/theming/assets/js/*.js',
21
				'wpsc-components/merchant-core-v3/*.js',
22
				'wpsc-core/js/*.js',
23
				'!wpsc-core/js/tinymce/*.js',
24
				'!wpsc-core/js/*-min.js',
25
				'!wpsc-core/js/jquery*.js',
26
				'!wpsc-admin/js/admin-legacy.js',
27
				'!wpsc-admin/js/jquery-*.js'
28
			]
29
		},
30
31
		sass: {
32
			dist: {
33
				options: {
34
					style: 'expanded',
35
					lineNumbers: false
36
				},
37
				files: [{
38
					expand: true,
39
					cwd: 'wpsc-components/theme-engine-v2/theming/assets/scss',
40
					src: ['**/*.scss'],
41
					dest: 'wpsc-components/theme-engine-v2/theming/assets/css/',
42
					ext: '.css'
43
				}]
44
			}
45
		},
46
47
		cmq: {
48
			options: {
49
				log: false
50
			},
51
			dist: {
52
				files: [{
53
					expand: true,
54
					cwd: 'wpsc-components/theme-engine-v2/theming/assets/css',
55
					src: ['*.css', '!*.min.css', '!wpsc-components/theme-engine-v2/theming/assets/css/font-awesome-ie7.css'],
56
					dest: 'wpsc-components/theme-engine-v2/theming/assets/css/'
57
				}]
58
			}
59
		},
60
61
		cssmin: {
62
			target: {
63
				files: [{
64
					expand: true,
65
					cwd: 'wpsc-components/theme-engine-v2/theming/assets/css',
66
					src: ['*.css', '!*.min.css', '!wpsc-components/theme-engine-v2/theming/assets/css/font-awesome-ie7.css'],
67
					dest: 'wpsc-components/theme-engine-v2/theming/assets/css',
68
					ext: '.min.css'
69
				}]
70
			}
71
		},
72
73
		// Check textdomain errors.
74
		checktextdomain: {
75
			options:{
76
				text_domain: 'wp-e-commerce',
77
				keywords: [
78
					'__:1,2d',
79
					'_e:1,2d',
80
					'_x:1,2c,3d',
81
					'esc_html__:1,2d',
82
					'esc_html_e:1,2d',
83
					'esc_html_x:1,2c,3d',
84
					'esc_attr__:1,2d',
85
					'esc_attr_e:1,2d',
86
					'esc_attr_x:1,2c,3d',
87
					'_ex:1,2c,3d',
88
					'_n:1,2,4d',
89
					'_nx:1,2,4c,5d',
90
					'_n_noop:1,2,3d',
91
					'_nx_noop:1,2,3c,4d'
92
				]
93
			},
94
			files: {
95
				src:  [
96
					'**/*.php', // Include all files
97
					'!node_modules/**', // Exclude node_modules/
98
					'!tests/**', // Exclude tests/
99
					'!bin/**', // Exclude bin/
100
					'!tmp/**' // Exclude tmp/
101
				],
102
				expand: true
103
			}
104
		},
105
106
		makepot: {
107
			target: {
108
				options: {
109
					domainPath: '/wpsc-languages/',    // Where to save the POT file.
110
					exclude: [
111
								'tesst/.*',
112
								'bin/.*',
113
								'images/.*'
114
							],
115
					mainFile: 'wp-shopping-cart.php',    // Main project file.
116
					potFilename: 'wp-e-commerce.pot',    // Name of the POT file.
117
					potHeaders: {
118
					poedit: true,                 // Includes common Poedit headers.
119
						'x-poedit-keywordslist': true // Include a list of all possible gettext functions.
120
					},
121
					type: 'wp-plugin',    // Type of project (wp-plugin or wp-theme).
122
					updateTimestamp: true,    // Whether the POT-Creation-Date should be updated without other changes.
123
					processPot: function( pot ) {
124
						pot.headers['report-msgid-bugs-to'] = 'https://wpecommerce.org/';
125
						pot.headers['last-translator'] = 'WP-Translations (http://wp-translations.org/)';
126
						pot.headers['language-team'] = 'WP-Translations <[email protected]>';
127
						pot.headers['language'] = 'en_US';
0 ignored issues
show
['language'] could be written in dot notation.

You can rewrite this statement in dot notation:

var obj = { };
obj['foo'] = 'bar'; // Bad
obj.foo = 'bar'; // Good
Loading history...
128
						return pot;
129
					}
130
				}
131
			}
132
		},
133
		watch: {
134
			css: {
135
				files: ['<%= sass.dist.files %>'],
136
				tasks: ['css']
137
			},
138
			js: {
139
				files: ['<%= jshint.plugin %>'],
140
				tasks: ['jshint']
141
			}
142
		}
143
144
	});
145
146
	grunt.registerTask('css', ['sass', 'cmq', 'cssmin']);
147
	grunt.registerTask('default', ['jshint', 'css', 'makepot']);
148
149
	/**
150
	 * PHP Code Sniffer using WordPress Coding Standards.
151
	 *
152
	 * @link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards
153
	 */
154
	grunt.registerTask('phpcs', function() {
155
		var done = this.async();
156
157
		grunt.util.spawn({
158
			cmd: 'phpcs',
159
			args: [
160
				'-p',
161
				'-s',
162
				'--standard=WordPress',
163
				'--extensions=php',
164
				'--ignore=*/node_modules/*,*/tests/*',
165
				'--report-file=codesniffs.txt',
166
				'.'
167
			],
168
			opts: { stdio: 'inherit' }
169
		}, done);
170
	});
171
172
};
173