Security News
How Threat Actors are Abusing GitHub’s File Upload Feature to Host Malware
GitHub is susceptible to a CDN flaw that allows attackers to host malware on any public repository.
@ng-web-apis/universal
Advanced tools
Readme
A set of fallbacks to seamlessly use @ng-web-apis/common in Angular Universal apps. These packages have synced versions down to minor.
Add constants imported from this package to providers of your ServerAppModule
. Typically, you can also use these mocks
for tests. Idea of this package is — you shouldn't have to mock DOM on the server side or test isPlatformBrowser
all
the time. Instead, you leverage Angular DI system to abstract from implementation. When possible, this package will
provide the same functionality on the server side as you have in browser. In other cases you will get type-safe mocks
and you can at least be sure you will not have cannot read propery of null
or undefined is not a function
errors in
SSR.
Add following line to your server.ts
to mock native classes used in other @ng-web-apis packages:
import '@ng-web-apis/universal/mocks';
It is recommended to keep the import statement at the top of your
server.ts
file
You can provide tokens from this package into your app.server.module.ts
to have type safe mocks for global objects on
server side with UniversalModule
:
@NgModule({
imports: [
AppBrowserModule,
ServerModule,
UniversalModule, // <-- add this
],
bootstrap: [AppComponent],
})
export class AppServerModule {}
Alternatively, if you have a standalone app that is initialized using the bootstrapApplication function, you can import
UNIVERSAL_PROVIDERS
in the following manner:
const serverConfig: ApplicationConfig = {
providers: [
provideServerRendering(),
UNIVERSAL_PROVIDERS, // <-- add this
],
};
const config = mergeApplicationConfig(appConfig, serverConfig);
const bootstrap = () => bootstrapApplication(AppComponent, config);
When you use plain SSR without prerender you can retrieve some of the information from requests. Use the following helpers to harvest that info:
server.ts:
import {provideLocation, provideUserAgent} from '@ng-web-apis/universal';
// ...
app.get('/**/*', (req: Request, res: Response) => {
res.render('../dist/index', {
req,
res,
providers: [provideLocation(req), provideUserAgent(req)],
});
});
FAQs
A set of fallback for @ng-web-apis/common for Angular Universal
The npm package @ng-web-apis/universal receives a total of 2,482 weekly downloads. As such, @ng-web-apis/universal popularity was classified as popular.
We found that @ng-web-apis/universal demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub is susceptible to a CDN flaw that allows attackers to host malware on any public repository.
Security News
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
Research
Security News
The Socket Research team found this npm package includes code for collecting sensitive developer information, including your operating system username, Git username, and Git email.