Skip to content

Commit a74c6c6

Browse files
committed
initial
0 parents  commit a74c6c6

37 files changed

+12815
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
coverage
3+
typings

.vscode/keybindings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"key": "ctrl+d",
3+
"command": "editor.action.copyLinesDownAction",
4+
"when": "editorTextFocus"
5+
}

.vscode/launch.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Launch",
6+
"type": "node",
7+
"request": "launch",
8+
"program": "${workspaceRoot}/index.js",
9+
"stopOnEntry": false,
10+
"args": [],
11+
"cwd": "${workspaceRoot}",
12+
"preLaunchTask": null,
13+
"runtimeExecutable": null,
14+
"runtimeArgs": [
15+
"--nolazy"
16+
],
17+
"env": {
18+
"NODE_ENV": "development"
19+
},
20+
"externalConsole": false,
21+
"sourceMaps": false,
22+
"outDir": null
23+
},
24+
{
25+
"name": "Attach",
26+
"type": "node",
27+
"request": "attach",
28+
"port": 5858,
29+
"address": "localhost",
30+
"restart": false,
31+
"sourceMaps": false,
32+
"outDir": null,
33+
"localRoot": "${workspaceRoot}",
34+
"remoteRoot": null
35+
}
36+
]
37+
}

.vscode/settings.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"files.exclude": {
3+
"**/.git": true,
4+
"**/.DS_Store": true,
5+
"source/**/*.js": true,
6+
"test/**/*.js": true
7+
}
8+
}

dist/app.min.js

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/app.min.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/assets/css/main.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
h1 {
2+
font-size: 14pt; }

gulp.env.js

Whitespace-only changes.

gulpfile.js

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
"use strict";
2+
3+
//******************************************************************************
4+
//* DEPENDENCIES
5+
//******************************************************************************
6+
var gulp = require("gulp"),
7+
browserify = require("browserify"),
8+
sass = require('gulp-sass'),
9+
source = require("vinyl-source-stream"),
10+
buffer = require("vinyl-buffer"),
11+
tslint = require("gulp-tslint"),
12+
tsc = require("gulp-typescript"),
13+
sourcemaps = require("gulp-sourcemaps"),
14+
uglify = require("gulp-uglify"),
15+
runSequence = require("run-sequence"),
16+
mocha = require("gulp-mocha"),
17+
istanbul = require("gulp-istanbul"),
18+
browserSync = require('browser-sync').create();
19+
20+
//******************************************************************************
21+
//* LINT
22+
//******************************************************************************
23+
gulp.task("lint", function() {
24+
return gulp.src([
25+
"source/**/**.ts",
26+
"test/**/**.test.ts"
27+
])
28+
.pipe(tslint({ }))
29+
.pipe(tslint.report("verbose"));
30+
});
31+
32+
//******************************************************************************
33+
//* BUILD
34+
//******************************************************************************
35+
var tsProject = tsc.createProject("tsconfig.json");
36+
37+
gulp.task("build-app", function() {
38+
return gulp.src([
39+
"source/**/**.ts",
40+
"typings/main.d.ts/",
41+
"source/interfaces/interfaces.d.ts"
42+
])
43+
.pipe(tsc(tsProject))
44+
.js.pipe(gulp.dest("source/"));
45+
});
46+
47+
var tsTestProject = tsc.createProject("tsconfig.json");
48+
49+
gulp.task("build-test", function() {
50+
return gulp.src([
51+
"test/**/*.ts",
52+
"typings/main.d.ts/",
53+
"source/interfaces/interfaces.d.ts"
54+
])
55+
.pipe(tsc(tsTestProject))
56+
.js.pipe(gulp.dest("test/"));
57+
});
58+
59+
gulp.task('build-sass', function () {
60+
return gulp.src([
61+
"source/assets/sass/**/*.scss"
62+
])
63+
.pipe(sass().on('error', sass.logError))
64+
.pipe(gulp.dest('dist/assets/css'));
65+
});
66+
67+
gulp.task("build", function(cb) {
68+
runSequence(["build-app", "build-test", "build-sass"], cb);
69+
});
70+
71+
72+
//******************************************************************************
73+
//* TEST
74+
//******************************************************************************
75+
gulp.task("istanbul:hook", function() {
76+
return gulp.src(['source/**/*.js'])
77+
// Covering files
78+
.pipe(istanbul())
79+
// Force `require` to return covered files
80+
.pipe(istanbul.hookRequire());
81+
});
82+
83+
gulp.task("test", ["istanbul:hook"], function() {
84+
return gulp.src('test/**/*.test.js')
85+
.pipe(mocha({ui: 'bdd'}))
86+
.pipe(istanbul.writeReports());
87+
});
88+
89+
//******************************************************************************
90+
//* BUNDLE
91+
//******************************************************************************
92+
gulp.task("bundle", function() {
93+
94+
var libraryName = "app";
95+
var mainTsFilePath = "source/app.js";
96+
var outputFolder = "dist/";
97+
var outputFileName = libraryName + ".min.js";
98+
99+
var bundler = browserify({
100+
debug: true,
101+
standalone : libraryName
102+
});
103+
104+
return bundler.add(mainTsFilePath)
105+
.bundle()
106+
.pipe(source(outputFileName))
107+
.pipe(buffer())
108+
.pipe(sourcemaps.init({ loadMaps: true }))
109+
.pipe(uglify())
110+
.pipe(sourcemaps.write('./'))
111+
.pipe(gulp.dest(outputFolder));
112+
});
113+
114+
//******************************************************************************
115+
//* DEV SERVER
116+
//******************************************************************************
117+
gulp.task("watch", ["default"], function () {
118+
119+
browserSync.init({
120+
server: "./"
121+
});
122+
123+
gulp.watch([ "source/**/**.ts", "test/**/*.ts"], ["default"]);
124+
gulp.watch("dist/*.js").on('change', browserSync.reload);
125+
});
126+
127+
//******************************************************************************
128+
//* DEFAULT
129+
//******************************************************************************
130+
gulp.task("default", function (cb) {
131+
runSequence("lint", "build", "test", "bundle", cb);
132+
});

index.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>Document</title>
8+
<link rel="stylesheet" type="text/css" href="./dist/assets/css/main.css">
9+
</head>
10+
<body>
11+
<ui-view></ui-view>
12+
<script src="./dist/app.min.js"></script>
13+
</body>
14+
</html>

0 commit comments

Comments
 (0)