Skip to content

Commit

Permalink
chore: upgrade and update everything
Browse files Browse the repository at this point in the history
  • Loading branch information
Jesse Zhang committed Feb 16, 2018
1 parent ed8cd72 commit 44ddec0
Show file tree
Hide file tree
Showing 13 changed files with 182 additions and 42 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
*~
*.log
.npmrc
package-lock.json
coverage/
dist/
node_modules/
package-lock.json
40 changes: 36 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,46 @@
{
"typescript.tsdk": "node_modules/typescript/lib",
"editor.insertSpaces": false,
"editor.detectIndentation": false,
"editor.renderIndentGuides": false,
"editor.renderWhitespace": "boundary",
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/coverage": true,
"**/dist": true,
"**/node_modules": true,
"**/typings": true,
"**/coverage": true
"**/node_modules": true
},
"files.watcherExclude": {
"**/.git/**": true,
"**/coverage/**": true,
"**/dist/**": true,
"**/node_modules/**": true
},
"search.exclude": {
"**/coverage": true,
"**/dist": true,
"**/node_modules": true
},
"tslint.exclude": [
"**/scripts/**/*.js"
],
"vsicons.presets.angular": false,
"tslint.enable": true
"TodoParser": {
"include": [
"ts",
"js",
"html",
"scss"
],
"folderExclude": [
"node_modules",
".vscode"
],
"only": [
"src"
]
}
}
27 changes: 16 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,29 @@
"build": "gulp build",
"clean": "gulp clean",
"coveralls": "cat ./coverage/lcov.info | coveralls",
"test": "gulp test"
"develop": "gulp develop",
"test": "gulp test",
"tslint": "gulp tslint",
"prepublishOnly": "echo 'Cannot publish the development files. Publish the built files instead.' && exit 1"
},
"dependencies": {
"inversify": "^4.9.0",
"inversify": "^4.10.0",
"reflect-metadata": "*"
},
"devDependencies": {
"@types/jest": "^21.1.9",
"@types/jest": "^22.1.2",
"coveralls": "^3.0.0",
"del": "^3.0.0",
"gulp": "github:gulpjs/gulp#6d71a65",
"gulp-typescript": "^3.2.3",
"jest": "^22.0.4",
"jest-cli": "^22.0.4",
"merge2": "^1.2.0",
"ts-jest": "^22.0.0",
"tslint": "^5.8.0",
"typescript": "^2.6.2",
"gulp": "^4.0.0",
"gulp-plumber": "^1.2.0",
"gulp-tslint": "^8.1.3",
"gulp-typescript": "^4.0.1",
"jest": "^22.3.0",
"jest-cli": "^22.3.0",
"merge2": "^1.2.1",
"ts-jest": "^22.0.4",
"tslint": "^5.9.1",
"typescript": "^2.7.2",
"vinyl-map": "^1.0.2"
}
}
50 changes: 31 additions & 19 deletions scripts/gulp/build.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,8 @@
const gulp = require("gulp"),
ts = require("gulp-typescript"),
map = require("vinyl-map"),
merge = require("merge2");

gulp.task("build:ts", () => {
const tsProject = ts.createProject("tsconfig.build.json");

const tsResult = gulp.src("./src/**/*.ts")
.pipe(tsProject());

return merge([
tsResult.dts,
tsResult.js
]).pipe(gulp.dest("dist"));
});
merge = require("merge2"),
path = require("path");

gulp.task("build:package", () => {
return gulp.src("package.json").pipe(map((pkgJson) => {
Expand All @@ -22,18 +11,41 @@ gulp.task("build:package", () => {
delete pkg.private;
delete pkg.scripts;
delete pkg.devDependencies;

pkg.main = "index.js";
pkg.types = "index.d.ts";

const dependencies = pkg.dependencies;
pkg.dependencies = Object.keys(dependencies).reduce((memo, key) => {
if (dependencies[key].startsWith("file:")) {
const file = dependencies[key].substr(5);
memo[key] = `file:${ path.join("..", file) }`;
} else {
memo[key] = dependencies[key];
}
return memo;
}, {});

return JSON.stringify(pkg, undefined, 2) + "\n";
})).pipe(gulp.dest("dist"));
});

gulp.task("build:ts", () => {
const tsProject = ts.createProject("tsconfig.build.json");

const tsResult = gulp.src([
"./src/**/*.ts",
"!./src/**/tests/**/*.ts",
"!./src/**/*.spec.ts"
])
.pipe(tsProject());

return merge([
tsResult.dts,
tsResult.js
]).pipe(gulp.dest("dist"));
});

gulp.task("build", gulp.series(
"clean:dist",
gulp.parallel(
"build:ts",
"build:package"
)
"build:package",
"build:ts"
));
56 changes: 56 additions & 0 deletions scripts/gulp/develop.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
const gulp = require("gulp"),
ts = require("gulp-typescript"),
merge = require("merge2"),
plumber = require("gulp-plumber"),
jestCli = require("jest-cli"),
jestConfig = require("../../jest.config");

gulp.task("develop:build:package", () => {
gulp.watch([
"./package.json"
], gulp.series("build:package"));
});

gulp.task("develop:build:ts", () => {
const tsProject = ts.createProject("tsconfig.build.json", {
isolatedModules: true
});

const build = () => {
const tsResult = gulp.src([
"./src/**/*.ts",
"!./src/**/tests/**/*.ts",
"!./src/**/*.spec.ts"
])
.pipe(plumber())
.pipe(tsProject());

return merge([
tsResult.dts,
tsResult.js
]).pipe(gulp.dest("dist"));
};
build.displayName = "develop:build:ts:execution";

gulp.watch([
"./src/**/*.ts",
"!./src/**/tests/**/*.ts",
"!./src/**/*.spec.ts"
], build);
});

gulp.task("develop:test:jest", () => {
return jestCli.runCLI({
config: jestConfig,
watchAll: true
}, ["."]);
});

gulp.task("develop", gulp.series(
"build",
gulp.parallel(
"develop:build:ts",
"develop:build:package"
// "develop:test:jest"
)
));
3 changes: 3 additions & 0 deletions scripts/gulp/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@ require("./clean");

require("./build");
require("./test");
require("./tslint");

require("./develop");
6 changes: 5 additions & 1 deletion scripts/gulp/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ const gulp = require("gulp"),
gulp.task("test:jest", () => {
return jestCli.runCLI({
config: jestConfig
}, ["."]);
}, ["."]).then(({ results }) => {
if (!results.success) {
return Promise.reject(new Error(`Failed running ${ results.numFailedTests } test(s)`));
}
});
});

gulp.task("test", gulp.series([
Expand Down
13 changes: 13 additions & 0 deletions scripts/gulp/tslint.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const gulp = require("gulp"),
tslint = require("tslint"),
gulpTslint = require("gulp-tslint");

gulp.task("tslint", () => {
const program = tslint.Linter.createProgram("./tsconfig.json");
return gulp.src("src/**/*.ts")
.pipe(gulpTslint({
program,
formatter: "verbose"
}))
.pipe(gulpTslint.report())
});
1 change: 1 addition & 0 deletions src/inversify-exports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ export {
BindingTypeEnum,
Container,
ContainerModule,
LazyServiceIdentifer,
METADATA_KEY,
MetadataReader,
TargetTypeEnum,
Expand Down
12 changes: 9 additions & 3 deletions tsconfig.build.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,16 @@
"compilerOptions": {
"declaration": true,
"noEmit": false,
"outDir": "dist"
"rootDir": "",
"outDir": "dist",

"skipDefaultLibCheck": true,
"skipLibCheck": true,
"isolatedModules": false,
"noUnusedParameters": false
},
"exclude": [
"./src/**/*.spec.ts",
"./src/tests/**/*.ts"
"./src/tests/**/*.ts",
"./src/**/*.spec.ts"
]
}
4 changes: 3 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"strictFunctionTypes": true,
"noEmit": true,
"rootDir": "./src"
"rootDir": "./src",
"baseUrl": "./src"
},
"include": [
"./src/**/*.ts"
Expand Down
3 changes: 3 additions & 0 deletions tslint.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@
"no-duplicate-imports": [
false
],
"no-implicit-dependencies": false,
"no-object-literal-type-assertion": false,
"no-submodule-imports": false,
"object-literal-key-quotes": false,
"object-literal-sort-keys": [
false
],
Expand All @@ -40,6 +42,7 @@
"named-imports-order": "lowercase-last"
}
],
"prefer-conditional-expression": false,
"trailing-comma": [
false
],
Expand Down
7 changes: 5 additions & 2 deletions wallaby.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@ module.exports = () => {
return {
files: [
"tsconfig.json",
{ pattern: "src/tests/**/*.ts", instrument: false },
"src/**/*.ts",
"!src/**/*.spec.ts"
"!src/**/*.spec.ts",
"!dist/**/*.*"
],
tests: [
"src/**/*.spec.ts"
],
filesWithNoCoverageCalculated: [
"src/tests/**/*.ts"
],
env: {
type: "node",
runner: "node"
Expand Down

0 comments on commit 44ddec0

Please sign in to comment.