Skip to main content

Angular 2–Angular CLI

With the availability of Angular 2, I started experimenting with Angular CLI, a CLI for Angular 2 applications based on the ember-cli project. The project is still young and I encountered a lot of issues along the way.

Here are some tips and lesssons I learned:

  • Update Node to the latest LTS version(you need at least version 4 or later).
  • Run ng in a command prompt with Admin permissions
  • Be patient. The initial installation as well as ng new take a looooong time.
  • On Windows you need to run the build and serve commands with Admin permissions, otherwise the performance is awful.

Some errors I got:

  • “ng is not recognized as an internal or external command”
    • Check that %AppData%\npm is added to the PATH variable.
  • “SyntaxError: Use of const in strict mode.”
    • You are still using an older Node version that doesn’t support some of the new ES2015 features
  • “Error: Cannot find module 'exists-sync'”
    • For an unknown reason NPM still couldn’t find some packages. I installed them manually using the following command
      • npm install --save exists-sync
  • “The Broccoli Plugin: [BroccoliTypeScriptCompiler] failed with:Error: EMFILE: too many open files”
    • This happened when I tried to run ng test. As a workaround you can run ng build first and then run ng test –-watch false. This will run ng test without watching for file changes.

Popular posts from this blog

.NET 8–Keyed/Named Services

A feature that a lot of IoC container libraries support but that was missing in the default DI container provided by Microsoft is the support for Keyed or Named Services. This feature allows you to register the same type multiple times using different names, allowing you to resolve a specific instance based on the circumstances. Although there is some controversy if supporting this feature is a good idea or not, it certainly can be handy. To support this feature a new interface IKeyedServiceProvider got introduced in .NET 8 providing 2 new methods on our ServiceProvider instance: object? GetKeyedService(Type serviceType, object? serviceKey); object GetRequiredKeyedService(Type serviceType, object? serviceKey); To use it, we need to register our service using one of the new extension methods: Resolving the service can be done either through the FromKeyedServices attribute: or by injecting the IKeyedServiceProvider interface and calling the GetRequiredKeyedServic...

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

Kubernetes–Limit your environmental impact

Reducing the carbon footprint and CO2 emission of our (cloud) workloads, is a responsibility of all of us. If you are running a Kubernetes cluster, have a look at Kube-Green . kube-green is a simple Kubernetes operator that automatically shuts down (some of) your pods when you don't need them. A single pod produces about 11 Kg CO2eq per year( here the calculation). Reason enough to give it a try! Installing kube-green in your cluster The easiest way to install the operator in your cluster is through kubectl. We first need to install a cert-manager: kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml Remark: Wait a minute before you continue as it can take some time before the cert-manager is up & running inside your cluster. Now we can install the kube-green operator: kubectl apply -f https://github.com/kube-green/kube-green/releases/latest/download/kube-green.yaml Now in the namespace where we want t...