Skip to content
This repository was archived by the owner on Aug 11, 2025. It is now read-only.

Commit bf78254

Browse files
committed
updated to inversify 3.0.0-beta.1
1 parent fd98c6d commit bf78254

20 files changed

+166
-159
lines changed

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Please refer to the [InversifyJS documentation](https://github.com/inversify/Inv
3030
The [InversifyJS](http://inversify.io/) API allows us to delcare bindings using a fluent API:
3131

3232
```ts
33-
import { injectable, Kernel } from "inversify";
33+
import { injectable, Container } from "inversify";
3434
import "reflect-metadata";
3535

3636
@injectable()
@@ -47,20 +47,20 @@ class Shuriken implements ThrowableWeapon {
4747
}
4848
}
4949

50-
var kernel = new Kernel();
51-
kernel.bind<Katana>("Katana").to(Katana);
52-
kernel.bind<Shuriken>("Shuriken").to(Shuriken);
50+
var container = new Container();
51+
container.bind<Katana>("Katana").to(Katana);
52+
container.bind<Shuriken>("Shuriken").to(Shuriken);
5353
```
5454

5555
This small utility allows you to declare bindings using decorators:
5656

5757
```ts
58-
import { injectable, Kernel } from "inversify";
58+
import { injectable, Container } from "inversify";
5959
import { makeProvideDecorator } from "inversify-binding-decorators";
6060
import "reflect-metadata";
6161

62-
var kernel = new Kernel();
63-
let provide = makeProvideDecorator(kernel);
62+
var container = new Container();
63+
let provide = makeProvideDecorator(container);
6464

6565
@provide(Katana)
6666
class Katana implements Weapon {
@@ -105,8 +105,8 @@ class Ninja {
105105
A new binding is created under the hood:
106106

107107
```ts
108-
kernel.bind<Katana>(Katana).to(Katana);
109-
kernel.bind<Ninja>(Ninja).to(Ninja);
108+
container.bind<Katana>(Katana).to(Katana);
109+
container.bind<Ninja>(Ninja).to(Ninja);
110110
```
111111

112112
These bindings use classes as identidiers but you can also use string literals as identifiers:
@@ -181,11 +181,11 @@ The decorator returned by `makeProvideDecorator` is not fluent and is very limit
181181
when compared to `makeFluentProvideDecorator`:
182182

183183
```ts
184-
import { injectable, Kernel } from "inversify";
184+
import { injectable, Container } from "inversify";
185185
import { makeFluentProvideDecorator } from "inversify-binding-decorators";
186186

187-
var kernel = new Kernel();
188-
let provide = makeFluentProvideDecorator(kernel);
187+
var container = new Container();
188+
let provide = makeFluentProvideDecorator(container);
189189

190190
let TYPE = {
191191
Weapon : "Weapon",
@@ -276,9 +276,9 @@ Consider the following example:
276276
```ts
277277
import * as entites from "../entities";
278278

279-
let kernel = new Kernel();
280-
autoProvide(kernel, entites);
281-
let warrior = kernel.get(entites.Warrior);
279+
let container = new Container();
280+
autoProvide(container, entites);
281+
let warrior = container.get(entites.Warrior);
282282
expect(warrior.fight()).eql("Using Katana...");
283283
```
284284

gulpfile.js

Lines changed: 83 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -3,139 +3,146 @@
33
//******************************************************************************
44
//* DEPENDENCIES
55
//******************************************************************************
6-
var gulp = require("gulp"),
7-
tslint = require("gulp-tslint"),
8-
tsc = require("gulp-typescript"),
6+
var gulp = require("gulp"),
7+
tslint = require("gulp-tslint"),
8+
tsc = require("gulp-typescript"),
99
runSequence = require("run-sequence"),
10-
mocha = require("gulp-mocha"),
11-
istanbul = require("gulp-istanbul");
10+
mocha = require("gulp-mocha"),
11+
istanbul = require("gulp-istanbul");
1212

1313
//******************************************************************************
1414
//* LINT
1515
//******************************************************************************
1616
gulp.task("lint", function() {
17-
18-
var config = { fornatter: "verbose", emitError: (process.env.CI) ? true : false };
19-
17+
18+
var config = {
19+
fornatter: "verbose",
20+
emitError: (process.env.CI) ? true : false
21+
};
22+
2023
return gulp.src([
21-
"src/**/**.ts",
22-
"test/**/**.test.ts"
23-
])
24-
.pipe(tslint(config))
25-
.pipe(tslint.report());
24+
"src/**/**.ts",
25+
"test/**/**.test.ts"
26+
])
27+
.pipe(tslint(config))
28+
.pipe(tslint.report());
2629
});
2730

2831
//******************************************************************************
2932
//* SOURCE
3033
//******************************************************************************
31-
var tsLibProject = tsc.createProject("tsconfig.json", { module : "commonjs", typescript: require("typescript") });
34+
var tsLibProject = tsc.createProject("tsconfig.json", {
35+
module: "commonjs"
36+
});
3237

3338
gulp.task("build-lib", function() {
3439
return gulp.src([
35-
"src/**/*.ts"
36-
])
37-
.pipe(tsc(tsLibProject ))
38-
.on("error", function (err) {
39-
process.exit(1);
40-
})
41-
.js.pipe(gulp.dest("lib/"));
40+
"src/**/*.ts"
41+
])
42+
.pipe(tsLibProject())
43+
.on("error", function(err) {
44+
process.exit(1);
45+
})
46+
.js.pipe(gulp.dest("lib/"));
4247
});
4348

44-
var tsEsProject = tsc.createProject("tsconfig.json", { module : "es2015", typescript: require("typescript") });
49+
var tsEsProject = tsc.createProject("tsconfig.json", {
50+
module: "es2015"
51+
});
4552

4653
gulp.task("build-es", function() {
4754
return gulp.src([
48-
"src/**/*.ts"
49-
])
50-
.pipe(tsc(tsEsProject))
51-
.on("error", function (err) {
52-
process.exit(1);
53-
})
54-
.js.pipe(gulp.dest("es/"));
55+
"src/**/*.ts"
56+
])
57+
.pipe(tsEsProject())
58+
.on("error", function(err) {
59+
process.exit(1);
60+
})
61+
.js.pipe(gulp.dest("es/"));
5562
});
5663

5764
var tsDtsProject = tsc.createProject("tsconfig.json", {
5865
declaration: true,
59-
noExternalResolve: false,
60-
typescript: require("typescript")
66+
noResolve: false
6167
});
6268

6369
gulp.task("build-dts", function() {
6470
return gulp.src([
65-
"src/**/*.ts"
66-
])
67-
.pipe(tsc(tsDtsProject))
68-
.on("error", function (err) {
69-
process.exit(1);
70-
})
71-
.dts.pipe(gulp.dest("dts"));
71+
"src/**/*.ts"
72+
])
73+
.pipe(tsDtsProject())
74+
.on("error", function(err) {
75+
process.exit(1);
76+
})
77+
.dts.pipe(gulp.dest("dts"));
7278

7379
});
7480

7581
//******************************************************************************
7682
//* TESTS
7783
//******************************************************************************
78-
var tstProject = tsc.createProject("tsconfig.json", { typescript: require("typescript") });
84+
var tstProject = tsc.createProject("tsconfig.json");
7985

8086
gulp.task("build-src", function() {
8187
return gulp.src([
82-
"src/**/*.ts"
83-
])
84-
.pipe(tsc(tstProject))
85-
.on("error", function (err) {
86-
process.exit(1);
87-
})
88-
.js.pipe(gulp.dest("src/"));
88+
"src/**/*.ts"
89+
])
90+
.pipe(tstProject())
91+
.on("error", function(err) {
92+
process.exit(1);
93+
})
94+
.js.pipe(gulp.dest("src/"));
8995
});
9096

91-
var tsTestProject = tsc.createProject("tsconfig.json", { typescript: require("typescript") });
97+
var tsTestProject = tsc.createProject("tsconfig.json", { rootDir: "./" });
9298

9399
gulp.task("build-test", function() {
94100
return gulp.src([
95-
"test/**/*.ts"
96-
])
97-
.pipe(tsc(tsTestProject))
98-
.on("error", function (err) {
99-
process.exit(1);
100-
})
101-
.js.pipe(gulp.dest("test/"));
101+
"test/**/*.ts"
102+
])
103+
.pipe(tsTestProject())
104+
.on("error", function(err) {
105+
process.exit(1);
106+
})
107+
.js.pipe(gulp.dest("./test/"));
102108
});
103109

104110
gulp.task("mocha", function() {
105-
return gulp.src([
106-
"node_modules/reflect-metadata/Reflect.js",
107-
"test/**/*.test.js"
108-
])
109-
.pipe(mocha({ui: "bdd"}))
110-
.pipe(istanbul.writeReports());
111+
return gulp.src([
112+
"node_modules/reflect-metadata/Reflect.js",
113+
"test/**/*.test.js"
114+
])
115+
.pipe(mocha({
116+
ui: "bdd"
117+
}))
118+
.pipe(istanbul.writeReports());
111119
});
112120

113121
gulp.task("istanbul:hook", function() {
114-
return gulp.src(["src/**/*.js"])
115-
// Covering files
116-
.pipe(istanbul())
117-
// Force `require` to return covered files
118-
.pipe(istanbul.hookRequire());
122+
return gulp.src(["src/**/*.js"])
123+
// Covering files
124+
.pipe(istanbul())
125+
// Force `require` to return covered files
126+
.pipe(istanbul.hookRequire());
119127
});
120128

121129
gulp.task("test", function(cb) {
122-
runSequence("istanbul:hook", "mocha", cb);
130+
runSequence("istanbul:hook", "mocha", cb);
123131
});
124132

125133
gulp.task("build", function(cb) {
126-
runSequence(
127-
"lint",
128-
["build-src", "build-es", "build-lib", "build-dts"], // tests + build es and lib
129-
"build-test",
130-
cb);
134+
runSequence(
135+
"lint", ["build-src", "build-es", "build-lib", "build-dts"], // tests + build es and lib
136+
"build-test",
137+
cb);
131138
});
132139

133140
//******************************************************************************
134141
//* DEFAULT
135142
//******************************************************************************
136-
gulp.task("default", function (cb) {
137-
runSequence(
138-
"build",
139-
"test",
140-
cb);
143+
gulp.task("default", function(cb) {
144+
runSequence(
145+
"build",
146+
"test",
147+
cb);
141148
});

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@
3434
"gulp-mocha": "^3.0.0",
3535
"gulp-tslint": "^6.1.2",
3636
"gulp-typescript": "^3.0.0",
37-
"inversify": "^2.0.0",
37+
"inversify": "^3.0.0-beta.1",
3838
"mocha": "^3.0.0",
3939
"publish-please": "^2.1.4",
4040
"reflect-metadata": "^0.1.3",
4141
"run-sequence": "^1.2.0",
4242
"sinon": "^1.17.4",
4343
"tslint": "^3.12.0",
44-
"typescript": "^2.0.2"
44+
"typescript": "^2.1.1"
4545
}
4646
}

src/decorator/fluent_provide.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import ProvideDoneSyntax from "../syntax/provide_done_syntax";
66
import interfaces from "../interfaces/interfaces";
77
import { interfaces as inversifyInterfaces } from "inversify";
88

9-
function fluentProvide(kernel: inversifyInterfaces.Kernel) {
9+
function fluentProvide(container: inversifyInterfaces.Container) {
1010

1111
// function is named for testing
1212
return function _fluentProvide(serviceIdentifier: inversifyInterfaces.ServiceIdentifier<any>) {
1313

14-
let bindingWhenOnSyntax = kernel.bind<any>(serviceIdentifier).to(null);
14+
let bindingWhenOnSyntax = container.bind<any>(serviceIdentifier).to(null);
1515
let binding = (<any>bindingWhenOnSyntax)._binding;
1616
let provideDoneSyntax = new ProvideDoneSyntax(binding);
1717

src/decorator/provide.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { decorate, injectable } from "inversify";
22
import { interfaces } from "inversify";
33

4-
function provide(kernel: interfaces.Kernel) {
4+
function provide(container: interfaces.Container) {
55

66
// function is named for testing
77
return function _provide(serviceIdentifier: interfaces.ServiceIdentifier<any>) {
8-
let bindingWhenOnSyntax = kernel.bind<any>(serviceIdentifier).to(null);
8+
let bindingWhenOnSyntax = container.bind<any>(serviceIdentifier).to(null);
99
return function (target: any) {
1010
decorate(injectable(), target);
1111
let binding: interfaces.Binding<any> = (<any>bindingWhenOnSyntax)._binding;

src/factory/fluent_provide_decorator_factory.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import fluentProvide from "../decorator/fluent_provide";
22
import interfaces from "../interfaces/interfaces";
33
import { interfaces as inversifyInterfaces } from "inversify";
44

5-
function makeFluentProvideDecorator(kernel: inversifyInterfaces.Kernel) {
5+
function makeFluentProvideDecorator(container: inversifyInterfaces.Container) {
66
let result: (serviceIdentifier: inversifyInterfaces.ServiceIdentifier<any>) => interfaces.ProvideInWhenOnSyntax<any> = null;
7-
result = fluentProvide(kernel);
7+
result = fluentProvide(container);
88
return result;
99
}
1010

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import provide from "../decorator/provide";
22
import { interfaces } from "inversify";
33

4-
function makeProvideDecorator(kernel: interfaces.Kernel) {
5-
return provide(kernel);
4+
function makeProvideDecorator(container: interfaces.Container) {
5+
return provide(container);
66
}
77

88
export default makeProvideDecorator;

src/utils/auto_wire.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { decorate } from "inversify";
22
import makeProvideDecorator from "../factory/provide_decorator_factory";
33
import { interfaces } from "inversify";
44

5-
function autoProvide(kernel: interfaces.Kernel, ...modules: any[]) {
5+
function autoProvide(container: interfaces.Container, ...modules: any[]) {
66

7-
let provide = makeProvideDecorator(kernel);
7+
let provide = makeProvideDecorator(container);
88

99
modules.forEach((module) => {
1010
Object.keys(module).forEach((key) => {

0 commit comments

Comments
 (0)