Gathering detailed insights and metrics for angular2-in-memory-web-api
Gathering detailed insights and metrics for angular2-in-memory-web-api
Gathering detailed insights and metrics for angular2-in-memory-web-api
Gathering detailed insights and metrics for angular2-in-memory-web-api
npm install angular2-in-memory-web-api
Typescript
Module System
Node Version
NPM Version
58.2
Supply Chain
97.4
Quality
77.8
Maintenance
50
Vulnerability
97
License
TypeScript (87.25%)
JavaScript (12.75%)
Total Downloads
1,280,393
Last Day
47
Last Week
336
Last Month
1,462
Last Year
21,993
1,180 Stars
112 Commits
230 Forks
43 Watching
6 Branches
25 Contributors
Latest Version
0.0.21
Package Id
angular2-in-memory-web-api@0.0.21
Size
29.48 kB
NPM Version
3.8.6
Node Version
5.11.1
Publised On
25 Sept 2016
Cumulative downloads
Total Downloads
Last day
-48.4%
47
Compared to previous day
Last week
21.7%
336
Compared to previous week
Last month
-16.1%
1,462
Compared to previous month
Last year
-26%
21,993
Compared to previous year
5
31
UPDATE NOTICE
This is the last of the npm packages under the name
angular2-in-memory-web-api
. The new package name is (or soon will be)angular-in-memory-web-api
. All versions after 0.0.21 are (or soon will be) shipped under this new name. Be sure to update yourpackage.json
and import statements accordingly.
An in-memory web api for Angular demos and tests.
It will intercept HTTP requests that would otherwise go to the remote server
via the Angular XHRBackend
service
This in-memory web api service processes an HTTP request and
returns an Observable
of HTTP Response
object
in the manner of a RESTy web api.
It natively handles URI patterns in the form :base/:collectionName/:id?
Examples:
// for store with a 'heroes' collection
GET api/heroes // all heroes
GET api/heroes/42 // the character with id=42
GET api/heroes?name=^j // 'j' is a regex; returns heroes whose name contains 'j' or 'J'
GET api/heroes.json/42 // ignores the ".json"
Also accepts "commands":
POST "resetDb",
GET/POST "config"" - get or (re)set the config
Create an InMemoryDataService
class that implements InMemoryDataService
.
At minimum it must implement createDb
which
creates a "database" hash whose keys are collection names
and whose values are arrays of collection objects to return or update.
For example:
import { InMemoryDbService } from 'angular-in-memory-web-api';
export class InMemHeroService implements InMemoryDbService {
createDb() {
let heroes = [
{ id: '1', name: 'Windstorm' },
{ id: '2', name: 'Bombasto' },
{ id: '3', name: 'Magneta' },
{ id: '4', name: 'Tornado' }
];
return {heroes};
}
}
Register this module and your service implementation in AppModule.imports
calling the forRoot
static method with this service class and optional configuration object:
// other imports
import { HttpModule } from '@angular/http';
import { InMemoryWebApiModule } from 'angular-in-memory-web-api';
import { InMemHeroService } from '../app/hero-data';
@NgModule({
imports: [
HttpModule,
InMemoryWebApiModule.forRoot(InMemHeroService),
...
],
...
})
export class AppModule { ... }
See examples in the Angular.io such as the Server Communication and Tour of Heroes chapters.
Some features are not readily apparent in the basic usage example.
The InMemoryBackendConfigArgs
defines a set of options. Add them as the second forRoot
argument:
InMemoryWebApiModule.forRoot(InMemHeroService, { delay: 500 }),
Pass custom filters as a regex pattern via query string. The query string defines which property and value to match.
Format: /app/heroes/?propertyName=regexPattern
The following example matches all names containing the letter 'j' in the heroes collection.
/app/heroes/?name=j+
Mostly gulp driven.
The following describes steps for updating from one Angular version to the next
This is essential even when there are no changes of real consequence. Neglecting to synchronize Angular 2 versions triggers typescript definition duplication error messages when compiling your application project.
gulp bump
- up the package version number
update CHANGELOG.MD
to record the change
update the dependent version(s) in package.json
npm install
the new package(s) (make sure they really do install!)
npm list --depth=0
consider updating typings, install individually/several:
npm run typings -- install packagename --ambient --save
NB: Do not add to npm postinstall
as that screws up consumers!
npm run typings install
npm run tsc
to confirm the project compiles w/o error (sanity check)
-- NO TESTS YET ... BAD --
gulp build
commit and push
npm publish
Fix and validate angular.io docs samples
Add two tags to the release commit with for unpkg
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
security policy file detected
Details
Reason
Found 12/29 approved changesets -- score normalized to 4
Reason
branch protection is not maximal on development and all release branches
Details
Reason
project is archived
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
project is not fuzzed
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Reason
135 existing vulnerabilities detected
Details
Score
Last Scanned on 2024-12-23
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More