I have set up a pipeline so that when I commit my angular-cli project it will run tests. No matter what I try though I always get this error:
Cannot find module 'typescript' from '/opt/atlassian/pipelines'
Here is my config file. it has gone through many iterations but always the same error.
# This is a sample build configuration for JavaScript.
# Check our guides at https://confluence.atlassian.com/x/14UWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: node:6.9.4
pipelines:
default:
- step:
caches:
- node
script: # Modify the commands below to build your repository.
- npm install -g typescript @angular/cli
- npm install --unsafe-perm
- npm run test:ci
the test:ci command is this:
"test:ci": "ng test --browser=Headless_Chrome --code-coverage=true --single-run=true",
angular cli is not installed in our docker image. Use this configuration:
image: trion/ng-cli # Any docker image from dokerhub with angular cli installed.
pipelines:
default:
- step:
caches:
- node
script: # Modify the commands below to build your repository.
- npm install
- npm run build
what i do is i use the latest node image (8.11 in my current yml), and install the cli in the scripts with
image: node:8.11
pipelines:
default:
- step:
name: Build app
script: # The script below will build the application.
- npm install
- npm install -g @angular/cli
- ng build --prod --build-optimizer --progress=false
'- npm install' will install package.json packages from your app/branch
'- npm install -g @angular/cli' will install the latest angular cli globaly
afterwards you can use all the cli functionality you need.
This is an example of my build script, the last line '- ng build ...- you can replace with your own lines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.