Comparing version 0.3.0 to 0.4.0
175
package.json
{ | ||
"name": "ng-hal", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "Navigator for Hypermedia Abstraction Language (HAL) documents in Angular", | ||
@@ -13,39 +13,20 @@ "keywords": [ | ||
], | ||
"main": "dist/index.js", | ||
"typings": "dist/index.d.ts", | ||
"scripts": { | ||
"rimraf": "rimraf", | ||
"tslint": "tslint", | ||
"build": "npm run dist", | ||
"ci": "npm run build && npm run test", | ||
"clean": "npm cache clean && npm run rimraf -- node_modules doc coverage dist gh-pages", | ||
"clean:dist": "npm run rimraf -- dist", | ||
"clean:ghpages": "npm run rimraf -- gh-pages", | ||
"preclean:install": "npm run clean", | ||
"clean:install": "npm set progress=false && npm install", | ||
"preclean:start": "npm run clean", | ||
"clean:start": "npm start", | ||
"demo": "npm run demo:dev", | ||
"predemo:dev": "npm run clean:ghpages", | ||
"demo:dev": "webpack --config config/webpack.dev.js --progress --profile", | ||
"predemo:prod": "npm run clean:ghpages", | ||
"demo:prod": "webpack --config config/webpack.prod.js --progress --profile --bail", | ||
"docs": "typedoc --options typedoc.json lib/index.ts", | ||
"ghpages": "npm run ghpages:prod", | ||
"ghpages:dev": "webpack --config config/webpack.ghpages.js --progress --profile --env.githubDev", | ||
"ghpages:prod": "webpack --config config/webpack.ghpages.js --progress --profile --env.githubProd", | ||
"lint": "npm run tslint \"lib/**/*.ts\"", | ||
"predist": "npm run clean:dist", | ||
"dist": "tsc -p lib", | ||
"server": "npm run server:dev", | ||
"server:dev": "webpack-dev-server --config config/webpack.dev.js --progress --profile --watch --content-base demo/", | ||
"start": "npm run server:dev", | ||
"test": "karma start", | ||
"preversion": "npm test", | ||
"version": "npm run build", | ||
"postversion": "git push && git push --tags" | ||
"author": "David Herges <david@spektrakel.de>", | ||
"license": "MIT", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/dherges/ng-hal.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/dherges/ng-hal/issues" | ||
}, | ||
"homepage": "https://dherges.github.io/ng-hal", | ||
"engines": { | ||
"node": ">= 4.2.1", | ||
"npm": ">= 3" | ||
}, | ||
"main": "index.js", | ||
"typings": "index.d.ts", | ||
"dependencies": { | ||
"halfred": "^1.0.0", | ||
"uri-templates": "^0.2.0" | ||
"halfred": "^1.0.0" | ||
}, | ||
@@ -56,76 +37,60 @@ "peerDependencies": { | ||
"rxjs": "^5.0.0", | ||
"zone.js": "^0.7.2" | ||
"zone.js": "^0.7.0" | ||
}, | ||
"devDependencies": { | ||
"@angular/common": "^2.4.6", | ||
"@angular/compiler": "^2.4.5", | ||
"@angular/core": "^2.4.6", | ||
"@angular/forms": "^2.4.6", | ||
"@angular/http": "^2.4.6", | ||
"@angular/platform-browser": "^2.4.6", | ||
"@angular/platform-browser-dynamic": "^2.4.6", | ||
"@angular/platform-server": "^2.4.6", | ||
"@angular/router": "^3.4.6", | ||
"@angularclass/hmr": "^1.2.2", | ||
"@angularclass/hmr-loader": "^3.0.2", | ||
"@types/core-js": "^0.9.35", | ||
"@types/jasmine": "^2.2.38", | ||
"@types/node": "^6.0.52", | ||
"@types/source-map": "^0.5.0", | ||
"@types/uglify-js": "^2.6.28", | ||
"@types/webpack": "^2.0.0", | ||
"angular-router-loader": "^0.5.0", | ||
"angular2-template-loader": "^0.6.0", | ||
"assets-webpack-plugin": "^3.5.0", | ||
"awesome-typescript-loader": "^3.0.3", | ||
"codelyzer": "2.0.0", | ||
"copy-webpack-plugin": "^3.0.1", | ||
"core-js": "^2.4.0", | ||
"css-loader": "^0.26.1", | ||
"gh-pages": "^0.12.0", | ||
"html-webpack-plugin": "^2.24.1", | ||
"http-server": "^0.9.0", | ||
"ie-shim": "^0.1.0", | ||
"jasmine-core": "^2.5.2", | ||
"json-loader": "^0.5.4", | ||
"karma": "^1.4.1", | ||
"karma-chrome-launcher": "^2.0.0", | ||
"karma-coverage": "^1.1.1", | ||
"karma-jasmine": "^1.1.0", | ||
"karma-mocha-reporter": "^2.2.2", | ||
"karma-remap-coverage": "^0.1.4", | ||
"karma-sourcemap-loader": "^0.3.7", | ||
"@angular/common": "~2.4.9", | ||
"@angular/compiler": "~2.4.9", | ||
"@angular/compiler-cli": "~2.4.9", | ||
"@angular/core": "~2.4.9", | ||
"@angular/http": "~2.4.9", | ||
"@angular/platform-browser": "~2.4.9", | ||
"@angular/platform-browser-dynamic": "~2.4.9", | ||
"@types/core-js": "~0.9.35", | ||
"@types/jasmine": "~2.5.43", | ||
"@types/node": "~6.0.64", | ||
"@types/source-map": "~0.5.0", | ||
"@types/uglify-js": "~2.6.28", | ||
"@types/webpack": "~2.2.7", | ||
"awesome-typescript-loader": "~3.1.2", | ||
"codelyzer": "~2.0.1", | ||
"coveralls": "~2.12.0", | ||
"cpx": "~1.5.0", | ||
"istanbul-instrumenter-loader": "~1.2.0", | ||
"jasmine-core": "~2.5.2", | ||
"karma": "~1.4.1", | ||
"karma-chrome-launcher": "~2.0.0", | ||
"karma-coverage": "~1.1.1", | ||
"karma-jasmine": "~1.1.0", | ||
"karma-mocha-reporter": "~2.2.2", | ||
"karma-remap-coverage": "~0.1.4", | ||
"karma-sourcemap-loader": "~0.3.7", | ||
"karma-webpack": "2.0.2", | ||
"raw-loader": "^0.5.1", | ||
"rimraf": "^2.5.4", | ||
"rxjs": "^5.1.0", | ||
"script-ext-html-webpack-plugin": "^1.3.4", | ||
"source-map-loader": "^0.1.5", | ||
"to-string-loader": "^1.1.5", | ||
"ts-helpers": "^1.1.2", | ||
"tslint": "^4.1.1", | ||
"typedoc": "^0.5.1", | ||
"typescript": "^2.2.0", | ||
"v8-lazy-parse-webpack-plugin": "^0.3.0", | ||
"rimraf": "~2.6.1", | ||
"rxjs": "~5.2.0", | ||
"source-map-loader": "~0.2.0", | ||
"ts-helpers": "~1.1.2", | ||
"tslint": "~4.5.1", | ||
"typedoc": "~0.5.7", | ||
"typescript": "~2.2.1", | ||
"webpack": "2.2.1", | ||
"webpack-dev-middleware": "^1.6.1", | ||
"webpack-dev-server": "2.3.0", | ||
"webpack-md5-hash": "^0.0.5", | ||
"webpack-merge": "~2.6.1", | ||
"zone.js": "~0.7.2" | ||
"webpack-dev-middleware": "~1.10.1", | ||
"webpack-dev-server": "~2.4.1", | ||
"webpack-md5-hash": "~0.0.5", | ||
"webpack-merge": "~3.0.0", | ||
"zone.js": "~0.7.7" | ||
}, | ||
"engines": { | ||
"node": ">= 4.2.1", | ||
"npm": ">= 3" | ||
}, | ||
"author": "David Herges <david@spektrakel.de>", | ||
"license": "MIT", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/dherges/ng-hal.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/dherges/ng-hal/issues" | ||
}, | ||
"homepage": "https://dherges.github.io/ng-hal" | ||
"scripts": { | ||
"build": "yarn run build:aot", | ||
"build:aot": "ngc -p tsconfig.json", | ||
"build:jit": "tsc -p tsconfig.json", | ||
"clean": "rimraf -- ../dist/ng-hal", | ||
"copy:package": "cpx package.json ../dist/ng-hal", | ||
"lint": "tslint --config tslint.json --project tsconfig.json", | ||
"prebuild:aot": "yarn run clean", | ||
"prebuild:jit": "yarn run clean", | ||
"postbuild:aot": "yarn run copy:package", | ||
"postbuild:jit": "yarn run copy:package", | ||
"test": "karma start", | ||
"test:debug": "karma start --no-single-run --log-level debug" | ||
} | ||
} |
ng-hal | ||
====== | ||
[](https://travis-ci.org/dherges/ng-hal) | ||
[](https://travis-ci.org/dherges/ng-hal) | ||
[](https://coveralls.io/github/dherges/ng-hal?branch=develop) | ||
[](https://david-dm.org/dherges/ng-hal) | ||
@@ -12,3 +13,3 @@ [](https://david-dm.org/dherges/ng-hal?type=peer) | ||
> An HAL Navigator for Angular2 | ||
> A navigator for HAL documents in Angular | ||
@@ -19,6 +20,14 @@ | ||
```bash | ||
$ npm install ng-hal | ||
$ npm install --save ng-hal | ||
``` | ||
Import ``HalModule`` to your application, similar to the following example: | ||
Alternative, use yarn: | ||
```bash | ||
$ yarn add ng-hal | ||
``` | ||
Import ``HalModule.forRoot()`` to your application's module: | ||
```ts | ||
@@ -28,9 +37,5 @@ import { HalModule } from 'ng-hal'; | ||
@NgModule({ | ||
declarations: [ AppComponent ], | ||
bootstrap: [ AppComponent ], | ||
imports: [ | ||
BrowserModule, | ||
HttpModule, | ||
FormsModule, | ||
HalModule | ||
HalModule.forRoot() | ||
] | ||
@@ -41,4 +46,4 @@ }) | ||
To retrieve HAL/JSON documents, inject ``Navigator`` into one our your components or services. | ||
Usage Example: | ||
Inject ``Navigator`` into components or services, then start retrieving HAL/JSON documents: | ||
```ts | ||
@@ -50,3 +55,5 @@ import { Navigator } from 'ng-hal'; | ||
constructor(private navigator: Navigator) {} | ||
constructor( | ||
private navigator: Navigator | ||
) {} | ||
@@ -82,26 +89,6 @@ demo() { | ||
## Heads up! | ||
**This is still very much work-in-progress.** | ||
### TODOs | ||
- [ ] URI templating | ||
- [ ] ``Link`` API: uri templating as instance methods on ``Link`` | ||
* requires: ``Resource`` implementation to map ``Object`` (declares as ts interface ``Link``) to class instances | ||
- [ ] publish to npm | ||
- [ ] ``ConversionStrategy``: | ||
* in later version, it would be nice to chose between ``hal+json`` and ``hal+xml`` | ||
* also: have a multiple strategies registered, then choose the right one dependent on ``Content-Type`` | ||
- [x] ``npm test``: add unit testing | ||
- [x] ``Navigator`` API: convenient shortcut for follow-on navigation | ||
* e.g., ``follow((hal: HalDocument) => Observable<HalDocument>)`` | ||
* currently, ``mergeMap()`` achieves desired behaviour – just an alias? | ||
- [x] ``ConversionStrategy`` API: ``(res: Response) => boolean`` and ``(res: Response) => Resource`` is good | ||
- [x] ``HalDocument`` API: a tuple of ``(Request, Response, Resource)``? | ||
- [x] ``npm test``: for now, only build and linting | ||
## Version History | ||
* ``v0.4.0`` BREAKING API CHANGES, supports AoT compilation, removes uri-templates dependency, uses yarn, increases test coverage | ||
* ``v0.3.0`` tsconfig ``"noEmitHelpers": false`` | ||
* ``v0.2.0`` renamed to ``ng-hal``, version bumps | ||
@@ -142,1 +129,2 @@ * ``v0.1.0`` first version on public npm registry | ||
* [AngularClass/angular2-webpack-starter](https://github.com/AngularClass/angular2-webpack-starter): build tools | ||
* [manekinekko/angular-library-starter](https://github.com/manekinekko/angular-library-starter): build tools |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
119903
5
40
82
1061
124
1
- Removeduri-templates@^0.2.0
- Removeduri-templates@0.2.0(transitive)