grunt
This commit is contained in:
parent
661a402b37
commit
bfe6fe346d
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
bower_components/
|
bower_components/
|
||||||
app-combined.js
|
node_modules/
|
||||||
|
build/
|
||||||
|
|
10
Gruntfile.js
Normal file
10
Gruntfile.js
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
"use strict"
|
||||||
|
|
||||||
|
module.exports = function (grunt) {
|
||||||
|
grunt.loadTasks("tasks")
|
||||||
|
|
||||||
|
grunt.registerTask("default", ["lint", "copy", "cssmin", "requirejs"])
|
||||||
|
grunt.registerTask("lint", ["eslint"])
|
||||||
|
grunt.registerTask("dev", ["default", "connect:server", "watch"])
|
||||||
|
}
|
||||||
|
|
15
html/index.html
Normal file
15
html/index.html
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, user-scalable=no">
|
||||||
|
<link rel="stylesheet" href="css/ionicons.min.css">
|
||||||
|
<link rel="stylesheet" href="roboto-slab-fontface.css">
|
||||||
|
<link rel="stylesheet" href="style.css">
|
||||||
|
<script src="vendor/es6-shim/es6-shim.min.js"></script>
|
||||||
|
<script src="vendor/intl/Intl.complete.js"></script>
|
||||||
|
<script src="app.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
</body>
|
||||||
|
</html>
|
18
package.json
Normal file
18
package.json
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"name": "meshviewer",
|
||||||
|
"scripts": {
|
||||||
|
"test": "node -e \"require('grunt').cli()\" '' clean lint"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"grunt": "^0.4.5",
|
||||||
|
"grunt-check-dependencies": "^0.6.0",
|
||||||
|
"grunt-contrib-clean": "^0.6.0",
|
||||||
|
"grunt-contrib-connect": "^0.8.0",
|
||||||
|
"grunt-contrib-copy": "^0.5.0",
|
||||||
|
"grunt-contrib-cssmin": "^0.12.2",
|
||||||
|
"grunt-contrib-requirejs": "^0.4.4",
|
||||||
|
"grunt-contrib-uglify": "^0.5.1",
|
||||||
|
"grunt-contrib-watch": "^0.6.1",
|
||||||
|
"grunt-eslint": "^1.1.0"
|
||||||
|
}
|
||||||
|
}
|
65
tasks/build.js
Normal file
65
tasks/build.js
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
"use strict"
|
||||||
|
|
||||||
|
module.exports = function(grunt) {
|
||||||
|
grunt.config.merge({
|
||||||
|
copy: {
|
||||||
|
html: {
|
||||||
|
src: ["*.html"],
|
||||||
|
expand: true,
|
||||||
|
cwd: "html/",
|
||||||
|
dest: "build/"
|
||||||
|
},
|
||||||
|
vendorjs: {
|
||||||
|
src: [ "es6-shim/es6-shim.min.js",
|
||||||
|
"intl/Intl.complete.js"
|
||||||
|
],
|
||||||
|
expand: true,
|
||||||
|
cwd: "bower_components/",
|
||||||
|
dest: "build/vendor/"
|
||||||
|
},
|
||||||
|
roboto: {
|
||||||
|
src: [ "fonts/*",
|
||||||
|
"roboto-slab-fontface.css"
|
||||||
|
],
|
||||||
|
expand: true,
|
||||||
|
dest: "build/",
|
||||||
|
cwd: "bower_components/roboto-slab-fontface"
|
||||||
|
},
|
||||||
|
ionicons: {
|
||||||
|
src: [ "fonts/*",
|
||||||
|
"css/ionicons.min.css"
|
||||||
|
],
|
||||||
|
expand: true,
|
||||||
|
dest: "build/",
|
||||||
|
cwd: "bower_components/ionicons/",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cssmin: {
|
||||||
|
target: {
|
||||||
|
files: {
|
||||||
|
"build/style.css": [ "bower_components/leaflet/dist/leaflet.css",
|
||||||
|
"bower_components/Leaflet.label/dist/leaflet.label.css",
|
||||||
|
"style.css"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
requirejs: {
|
||||||
|
compile: {
|
||||||
|
options: {
|
||||||
|
baseUrl: "lib",
|
||||||
|
name: "../bower_components/almond/almond",
|
||||||
|
mainConfigFile: "app.js",
|
||||||
|
include: "../app",
|
||||||
|
wrap: true,
|
||||||
|
optimize: "uglify",
|
||||||
|
out: "build/app.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
grunt.loadNpmTasks("grunt-contrib-copy")
|
||||||
|
grunt.loadNpmTasks("grunt-contrib-requirejs")
|
||||||
|
grunt.loadNpmTasks('grunt-contrib-cssmin')
|
||||||
|
}
|
11
tasks/clean.js
Normal file
11
tasks/clean.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
"use strict"
|
||||||
|
|
||||||
|
module.exports = function (grunt) {
|
||||||
|
grunt.config.merge({
|
||||||
|
clean: {
|
||||||
|
build: ["build/**/*", "node_modules/grunt-newer/.cache"]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
grunt.loadNpmTasks("grunt-contrib-clean")
|
||||||
|
}
|
33
tasks/development.js
Normal file
33
tasks/development.js
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
"use strict"
|
||||||
|
|
||||||
|
module.exports = function (grunt) {
|
||||||
|
grunt.config.merge({
|
||||||
|
connect: {
|
||||||
|
server: {
|
||||||
|
options: {
|
||||||
|
base: "build/", //TODO: once grunt-contrib-connect 0.9 is released, set index file
|
||||||
|
livereload: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
sources: {
|
||||||
|
options: {
|
||||||
|
livereload: true
|
||||||
|
},
|
||||||
|
files: ["*.css", "app.js", "lib/*.js", "*.html"],
|
||||||
|
tasks: ["default"]
|
||||||
|
},
|
||||||
|
config: {
|
||||||
|
options: {
|
||||||
|
reload: true
|
||||||
|
},
|
||||||
|
files: ["Gruntfile.js", "tasks/*.js"],
|
||||||
|
tasks: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
grunt.loadNpmTasks("grunt-contrib-connect")
|
||||||
|
grunt.loadNpmTasks("grunt-contrib-watch")
|
||||||
|
}
|
35
tasks/linting.js
Normal file
35
tasks/linting.js
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
"use strict"
|
||||||
|
|
||||||
|
module.exports = function (grunt) {
|
||||||
|
grunt.config.merge({
|
||||||
|
checkDependencies: {
|
||||||
|
options: {
|
||||||
|
install: true
|
||||||
|
},
|
||||||
|
bower: {
|
||||||
|
options: {
|
||||||
|
packageManager: "bower"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
npm: {}
|
||||||
|
},
|
||||||
|
eslint: {
|
||||||
|
options: {
|
||||||
|
rule: {
|
||||||
|
semi: [2, "never"],
|
||||||
|
strict: [2, "never"],
|
||||||
|
curly: [2, "multi"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sources: {
|
||||||
|
src: ["app.js", "!Gruntfile.js", "lib/*.js"]
|
||||||
|
},
|
||||||
|
grunt: {
|
||||||
|
src: ["Gruntfile.js", "tasks/*.js"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
grunt.loadNpmTasks("grunt-check-dependencies")
|
||||||
|
grunt.loadNpmTasks("grunt-eslint")
|
||||||
|
}
|
Loading…
Reference in a new issue