This project has not been built nor maintained since December 2020 and has been archived
If you are interested in working on the project, even when archived you can still create a fork of it.
a Concourse resource for caching dependencies downloaded by NPM - built on mhart/alpine-node and git-resource.
Tag | From | Bower | Yarn | Maintained |
---|---|---|---|---|
latest | mhart/alpine-node:latest | Yes | Yes | Yes |
15 | mhart/alpine-node:15 | Yes | Yes | Yes |
14 | mhart/alpine-node:14 | Yes | Yes | Yes |
12 | mhart/alpine-node:12 | Yes | Yes | Yes |
10 | mhart/alpine-node:10 | Yes | Yes | Yes |
9 | mhart/alpine-node:9 | No | Yes | No |
8 | mhart/alpine-node:8 | No | Yes | No |
7 | mhart/alpine-node:7 | No | No | No |
6 | mhart/alpine-node:6 | No | No | No |
4 | mhart/alpine-node:4 | No | No | No |
0.12 | mhart/alpine-node:0.12 | No | No | No |
0.10 | mhart/alpine-node:0.10 | No | No | No |
resource_types:
- name: npm-cache
type: docker-image
source: {repository: ymedlop/npm-cache-resource, tag: "12"}
<<:
: Required. The source is the same as the corresponding git resource
private_key
: Required. Private key.
username_key
: Required. Username for HTTP(S) auth. This is needed when only HTTP/HTTPS protocol for git is available (which does not support private key auth) and auth is required.password_key
: Required. Password for HTTP(S) auth.skip_ssl_verification
: Optional. Skips git ssl verification by exporting GIT_SSL_NO_VERIFY=true.
registry-url
: Optional. Private NPM registry to log in to (Default: https://registry.npmjs.org)registry-user
: Required. Registry Username.registry-pass
: Required. Registry User Password.registry-email
: Required. Registry User Email.registry-scope
: Optional. Registry Scope.
registry
: Required. The location our private npm registry.token
: Required. Our npm token.
node-env
: Set NODE_ENV. (Default: development)
project-path
: Optional Relative path of subdirectory containing the project (i.e. where thepackage.json
is).
npm-args
: Optional Allow to add extra args to npm i / npm ci command. (Default: "-q")
npm-ci-support
: Optional Allow to use npm ci instead of npm install to install the npm modules into our resource. (Default: false)
yarn-support
: Optional Allow to use yarn to install the npm modules into our resource. (Default: false)yarn-args
: Optional Allow to add extra args to yarn install command. (Default: "")
bower-support
: Optional Allow to use bower to install packages into our resource (Bower dependency has to be in our package.json). (Default: false)bower-args
: Optional Allow to add extra args to bower install command. (Default: "-q --allow-root")
Whatever tool you use to generate the encoded username and password string, try to encode the string admin:admin123, which should result in YWRtaW46YWRtaW4xMjM=. `
Another example for a valid setup is jane:testpassword123 resulting in amFuZTp0ZXN0cGFzc3dvcmQxMjM=.
In our demo we are using admin:123456 resulting in YWRtaW46MTIzNDU2
resources:
# a perfectly normal source repository with lashings and lashings of dependencies
- name: repo
type: git
source: &repo-source # apply a YAML anchor so we can refer to this in the cache resource
uri: https://github.com/ymedlop/npm-cache-resource.git
branch: npm-package-example
# a resource caching the dependencies listed in the source repository
- name: npm-repo-cache
type: npm-cache # as defined above
source:
<<: *repo-source # the source is the same as the corresponding git resource ...
paths: # ... except that it's only interested in files listing dependencies
- package.json
The repository is cloned (or pulled if already present), and any commits from the given version on are returned. If no version is given, the ref for HEAD is returned.
Any commits that contain the string [ci skip] will be ignored. This allows you to commit to your repository without triggering a new version.
Clones the repository to the destination, and locks it down to a given ref. It will return the same given ref as version. And fetch npm package from the package.json`.
jobs:
- name: cache
plan:
- get: repo
trigger: true
- get: npm-repo-cache
- name: test
plan:
- get: repo
trigger: true
passed: [cache]
- get: npm-repo-cache
passed: [cache]
- task: run tests
config:
platform: linux
image_resource:
type: docker-image
source: {repository: mhart/alpine-node, tag: "12"}
inputs:
- name: repo
path: /src
- name: npm-repo-cache
path: /cache
run:
path: sh
args:
- -exc
- |
mv cache/node_modules src
cd src && npm test
- name: build
plan:
- get: repo
trigger: true
passed: [cache]
- get: npm-repo-cache
passed: [cache]
- task: run build
config:
platform: linux
image_resource:
type: docker-image
source: {repository: mhart/alpine-node, tag: "12"}
inputs:
- name: repo
path: /src
- name: npm-repo-cache
path: /cache
run:
path: sh
args:
- -exc
- |
mv cache/node_modules src
cd src && npm run build
You can see more examples here.
- concourse git resource
- projectfalcon/gradle-cache-resource We are following this resource to create our npm cache resource.
See the LICENSE file for license text and copyright information.