forked from WordPress/two-factor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
82 lines (70 loc) · 1.57 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
/* eslint-env node,es6 */
const ignoreParse = require( 'parse-gitignore' );
module.exports = function( grunt ) {
'use strict';
require( 'load-grunt-tasks' )( grunt );
const distignore = ignoreParse( '.distignore', [], {
invert: true,
} );
/**
* Check if CLI input appears to indicate a truthy value.
*
* @param {string} input Value to check.
* @return {boolean} If value appears to be truthy.
*/
function isTruthy( input ) {
return ( '1' === input || 'true' === input );
}
grunt.initConfig( {
pkg: grunt.file.readJSON( 'package.json' ),
dist_dir: 'dist',
clean: {
build: [ '<%= dist_dir %>' ],
},
copy: {
dist: {
files: [
{
src: [ '**' ].concat( distignore ),
dest: '<%= dist_dir %>',
expand: true,
},
{
cwd: 'node_modules/',
src: 'qrcode-generator/qrcode.js',
dest: '<%= dist_dir %>/includes',
expand: true,
}
],
},
},
wp_deploy: {
options: {
plugin_slug: 'two-factor',
build_dir: '<%= dist_dir %>',
assets_dir: 'assets',
},
wporg: {
options: {
skip_confirmation: isTruthy( process.env.DEPLOY_SKIP_CONFIRMATION ),
svn_user: process.env.DEPLOY_SVN_USERNAME,
deploy_tag: isTruthy( process.env.DEPLOY_TAG ),
deploy_trunk: isTruthy( process.env.DEPLOY_TRUNK ),
assets_dir: ( isTruthy( process.env.DEPLOY_TAG ) || isTruthy( process.env.DEPLOY_TRUNK ) ) ? 'assets' : null,
},
},
},
} );
grunt.registerTask(
'build', [
'clean',
'copy',
]
);
grunt.registerTask(
'deploy', [
'build',
'wp_deploy',
]
);
};