Skip to content
This repository was archived by the owner on Nov 8, 2021. It is now read-only.

Commit 813653d

Browse files
committed
feat(http-loader): support for Angular 6 and RxJS 6
BREAKING CHANGE: The library is now compatible with Angular 6+ and RxJS 6+. If you need to use Angular 5, please stay on version 2.0.1. If you need to use RxJS 5, update to 5.6 and use the rxjs-compat library (see [the RxJS update guide](https://docs.google.com/document/d/12nlLt71VLKb-z3YaSGzUfx6mJbc34nsMXtByPUN35cg/preview#))
1 parent 3f59877 commit 813653d

15 files changed

+2665
-523
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ npm-debug.log
1818
coverage
1919
*.metadata.json
2020
bundles
21+
build
22+
dist
23+
dist.tgz
2124

2225
#################
2326
## JetBrains

.travis.yml

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
11
language: node_js
2-
32
cache: yarn
4-
53
sudo: false
6-
74
notifications:
85
email: false
9-
106
node_js:
11-
- '7'
12-
13-
branches:
14-
except:
15-
- "/^v\\d+\\.\\d+\\.\\d+$/"
16-
7+
- '8'
178
before_install:
189
- export CHROME_BIN=chromium-browser
19-
20-
before_script:
21-
- npm prune
22-
10+
- npm i -g npm@3 # fix for https://github.com/npm/npm/issues/19222
2311
after_success:
24-
- npm run semantic-release
25-
12+
- yarn build
13+
- cp .git dist/ -r # required by semantic release
14+
- cp README.md dist/
15+
- cd dist
16+
- yarn install
17+
- yarn semantic-release
18+
branches:
19+
except:
20+
- /^v\d+\.\d+\.\d+$/
2621
before_script:
2722
- export DISPLAY=:99.0
28-
- sh -e /etc/init.d/xvfb start
23+
- sh -e /etc/init.d/xvfb start

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ Now you need to install the npm module for `TranslateHttpLoader`:
1717
npm install @ngx-translate/http-loader --save
1818
```
1919

20-
**NB: if you're still on Angular <4.3, please use Http from @angular/http with [email protected].**
20+
**if you're still on Angular <4.3, please use Http from @angular/http with [email protected].**
21+
22+
**If you're still using Angular v5, please use ngx-translate 9.x and http-loader 2.x, version 3 and above are only compatible with Angular v6. If you need to use RxJS 5, update to 5.6 and use the rxjs-compat library (see [the RxJS update guide](https://docs.google.com/document/d/12nlLt71VLKb-z3YaSGzUfx6mJbc34nsMXtByPUN35cg/preview#)).**
2123

2224
## Usage
2325
#### 1. Setup the `TranslateModule` to use the `TranslateHttpLoader`:

config/spec-bundle.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ require('zone.js/dist/proxy'); // since zone.js 0.6.15
2424
require('zone.js/dist/jasmine-patch'); // put here since zone.js 0.6.14
2525

2626
// RxJS
27-
require('rxjs/Rx');
27+
require('rxjs');
2828

2929
var testing = require('@angular/core/testing');
3030
var browser = require('@angular/platform-browser-dynamic/testing');
@@ -55,4 +55,4 @@ function requireAll(requireContext) {
5555
}
5656

5757
// requires and returns all modules that match
58-
var modules = requireAll(testContext);
58+
var modules = requireAll(testContext);

config/webpack.test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module.exports = {
2222

2323
resolve: {
2424
extensions: ['.ts', '.js'],
25-
modules: [helpers.root('src'), 'node_modules']
25+
modules: [helpers.root('lib/src'), 'node_modules']
2626
},
2727

2828
module: {
@@ -55,7 +55,7 @@ module.exports = {
5555
enforce: 'post',
5656
test: /\.(js|ts)$/,
5757
loader: 'istanbul-instrumenter-loader',
58-
include: helpers.root('src'),
58+
include: helpers.root('lib/src'),
5959
exclude: [/\.spec\.ts$/, /\.e2e\.ts$/, /node_modules/]
6060
}]
6161
},
@@ -64,7 +64,7 @@ module.exports = {
6464
// fix the warning in ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js
6565
new webpack.ContextReplacementPlugin(
6666
/angular(\\|\/)core(\\|\/)@angular/,
67-
helpers.root('./src')
67+
helpers.root('lib/src')
6868
),
6969

7070
new LoaderOptionsPlugin({
@@ -80,7 +80,7 @@ module.exports = {
8080
tslint: {
8181
emitErrors: false,
8282
failOnHint: false,
83-
resourcePath: 'src'
83+
resourcePath: 'lib/src'
8484
}
8585
}
8686
})

index.ts renamed to lib/index.ts

File renamed without changes.

lib/ng-package.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
3+
"dest": "dist",
4+
"keepLifecycleScripts": true,
5+
"workingDirectory": ".ng_build",
6+
"lib": {
7+
"entryFile": "index.ts"
8+
}
9+
}

lib/package.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"name": "@ngx-translate/http-loader",
3+
"description": "A loader for ngx-translate that loads translations using http",
4+
"repository": {
5+
"type": "git",
6+
"url": "git+https://github.com/ngx-translate/http-loader.git"
7+
},
8+
"keywords": [
9+
"angular",
10+
"angular 2",
11+
"i18n",
12+
"translate",
13+
"ngx-translate"
14+
],
15+
"author": "Olivier Combe",
16+
"license": "MIT",
17+
"bugs": {
18+
"url": "https://github.com/ngx-translate/http-loader/issues"
19+
},
20+
"homepage": "https://github.com/ngx-translate/http-loader",
21+
"peerDependencies": {
22+
"@ngx-translate/core": ">=10.0.0",
23+
"@angular/core": ">=6.0.0-rc.0",
24+
"@angular/http": ">=6.0.0-rc.0"
25+
},
26+
"devDependencies": {
27+
"semantic-release": "8.2.3"
28+
},
29+
"scripts": {
30+
"semantic-release": "semantic-release pre && npm publish && semantic-release post"
31+
}
32+
}

lib/src/http-loader.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {HttpClient} from "@angular/common/http";
2+
import {TranslateLoader} from "@ngx-translate/core";
3+
4+
export class TranslateHttpLoader implements TranslateLoader {
5+
constructor(private http: HttpClient, public prefix: string = "/assets/i18n/", public suffix: string = ".json") {}
6+
7+
/**
8+
* Gets the translations from the server
9+
*/
10+
public getTranslation(lang: string): any {
11+
return this.http.get(`${this.prefix}${lang}${this.suffix}`);
12+
}
13+
}

package.json

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
"name": "@ngx-translate/http-loader",
33
"description": "A loader for ngx-translate that loads translations using http",
44
"scripts": {
5-
"clean": "rimraf bundles coverage src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js",
5+
"prebuild": "npm run clean",
6+
"build": "ng-packagr -p lib/ng-package.json && mv lib/dist ./ && mv lib/dist.tgz ./",
7+
"clean": "rimraf dist dist.tgz bundles coverage src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js",
8+
"commit": "git-cz",
9+
"lint": "npm run clean && tslint --project tsconfig.json lib/src/**/*.ts",
610
"test": "karma start",
7-
"test-watch": "karma start --singleRun=false --autoWatch=true",
8-
"prepublish": "ngc && npm run build",
9-
"build": "webpack",
10-
"semantic-release": "semantic-release pre && npm publish && semantic-release post"
11+
"test-watch": "karma start --singleRun=false --autoWatch=true"
1112
},
1213
"repository": {
1314
"type": "git",
@@ -30,51 +31,52 @@
3031
"module": "index.js",
3132
"typings": "index.d.ts",
3233
"peerDependencies": {
33-
"@ngx-translate/core": ">=6.0.0",
34-
"@angular/core": ">=4.3.0",
35-
"@angular/common": ">=4.3.0"
34+
"@ngx-translate/core": ">=10.0.0",
35+
"@angular/core": ">=6.0.0-rc.0",
36+
"@angular/common": ">=6.0.0-rc.0"
3637
},
3738
"devDependencies": {
38-
"@angular/animations": "4.3.1",
39-
"@angular/common": "4.3.1",
40-
"@angular/compiler": "4.3.1",
41-
"@angular/compiler-cli": "4.3.1",
42-
"@angular/core": "4.3.1",
43-
"@ngx-translate/core": "7.0.0",
44-
"@angular/platform-browser": "4.3.1",
45-
"@angular/platform-browser-dynamic": "4.3.1",
46-
"@angular/platform-server": "4.3.1",
47-
"@types/hammerjs": "2.0.34",
48-
"@types/jasmine": "2.5.51",
49-
"@types/node": "7.0.28",
50-
"awesome-typescript-loader": "3.1.3",
51-
"clean-webpack-plugin": "0.1.16",
52-
"codelyzer": "3.0.1",
39+
"@angular/animations": "6.0.0-rc.0",
40+
"@angular/common": "6.0.0-rc.0",
41+
"@angular/compiler": "6.0.0-rc.0",
42+
"@angular/compiler-cli": "6.0.0-rc.0",
43+
"@angular/core": "6.0.0-rc.0",
44+
"@angular/platform-browser": "6.0.0-rc.0",
45+
"@angular/platform-browser-dynamic": "6.0.0-rc.0",
46+
"@angular/platform-server": "6.0.0-rc.0",
47+
"@ngx-translate/core": "file:../ngx-translate/dist.tgz",
48+
"@types/hammerjs": "2.0.35",
49+
"@types/jasmine": "2.8.2",
50+
"@types/node": "8.0.53",
51+
"awesome-typescript-loader": "3.4.0",
52+
"clean-webpack-plugin": "0.1.19",
53+
"codelyzer": "4.2.1",
5354
"commitizen": "2.9.6",
54-
"core-js": "2.4.1",
55-
"cz-conventional-changelog": "2.0.0",
56-
"istanbul-instrumenter-loader": "2.0.0",
57-
"jasmine-core": "2.6.2",
58-
"karma": "1.7.0",
59-
"karma-chrome-launcher": "2.1.1",
55+
"core-js": "2.5.4",
56+
"cz-conventional-changelog": "2.1.0",
57+
"istanbul-instrumenter-loader": "3.0.0",
58+
"jasmine-core": "2.8.0",
59+
"karma": "1.7.1",
60+
"karma-chrome-launcher": "2.2.0",
6061
"karma-coverage": "1.1.1",
6162
"karma-jasmine": "1.1.0",
62-
"karma-mocha-reporter": "2.2.3",
63+
"karma-mocha-reporter": "2.2.5",
6364
"karma-remap-coverage": "0.1.4",
6465
"karma-sourcemap-loader": "0.3.7",
65-
"karma-webpack": "2.0.3",
66+
"karma-webpack": "2.0.6",
6667
"loader-utils": "1.1.0",
67-
"reflect-metadata": "0.1.10",
68-
"rimraf": "2.6.1",
69-
"rxjs": "5.4.0",
70-
"semantic-release": "6.3.6",
71-
"source-map-loader": "0.2.1",
68+
"ng-packagr": "2.4.1",
69+
"reflect-metadata": "0.1.12",
70+
"rimraf": "2.6.2",
71+
"rxjs": "^6.0.0-beta.3",
72+
"source-map-loader": "0.2.3",
7273
"ts-helpers": "1.1.2",
73-
"tslint": "5.4.3",
74+
"tsickle": "0.27.2",
75+
"tslint": "5.8.0",
7476
"tslint-loader": "3.5.3",
75-
"typescript": "2.3.4",
76-
"webpack": "3.0.0-rc.1",
77-
"zone.js": "0.8.11"
77+
"typescript": "2.7.x",
78+
"webpack": "3.8.1",
79+
"zone.js": "0.8.20"
7880
},
7981
"config": {
8082
"commitizen": {

src/http-loader.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)