Private repository access

Bryntum components are commercial products, hosted in a private Bryntum repository. To get repository access, you need to complete these two steps:

You may access the repository with a single login, or if your team contains multiple developers, you may follow the instructions in the multi-user access section.

Important: Repository scope configuration

When you configure npm for the @bryntum scope to use the private repository, all @bryntum packages in your project will be loaded from that repository. You cannot mix packages from public and private repositories in the same project.

Both repositories contain identical packages (trial packages and framework wrappers), so you can use them from either source. However, licensed packages (without the -trial suffix) are only available from the private repository.

If you previously used trial packages from the public npm registry and are switching to the private repository, you need to run a project cleanup. See the Troubleshooting guide for cleanup instructions.

Repositories

Bryntum has two repositories located in Europe and US:

https://npm.bryntum.com

Please change repository URL for the commands in this guide accordingly.

Configure npm

Configure npm to download packages for the @bryntum scope from the Bryntum registry with this command which will store the npm configuration in your local machine:

npm config set "@bryntum:registry=https://npm.bryntum.com"

Do not forget to put the config value in quotes as shown above (required for Windows PowerShell).

Check that npm uses correct Bryntum repository setting with:

npm config list

Command console output should contain this setting:

@bryntum:registry = "https://npm.bryntum.com"

Check npm-config online documentation.

Login

Login to the registry using this command, which will create and store login credentials on your local machine:

npm login --registry=https://npm.bryntum.com

Login example:

Do not use user..yourdomain.com and [email protected] from the example below to login! Use your own email address.

Use your email as the login but replace the @ with .. (double dot) and use trial as password.

For example, if your email is [email protected], use the following:

Europe location:

$ npm login --registry=https://npm.bryntum.com
npm notice Log in on https://npm.bryntum.com/
Username: user..yourdomain.com
Password: trial

US location:

$ npm login --registry=https://npm-us.bryntum.com
npm notice Log in on https://npm-us.bryntum.com/
Username: user..yourdomain.com
Password: trial

If you see a rotating spinner after the password prompt in the console (introduced in npm 10.7), enter your password and press [Enter]. The spinner is not indicating any progress, it's a part of the prompt display waiting for your input.

Multi-user access

The Bryntum npm repository requires authentication to install packages. For teams working on projects with Bryntum Suite packages, there are two recommended approaches to manage repository access:

  1. Individual Developer Access: Each team member can set up their own login through the Bryntum Customer Zone. Navigate to Licenses - Seats - Manage to add/remove team members and manage user licenses. However, using individual developer credentials for repository access is not recommended for shared projects or development teams since package-lock.json will contain user-specific authentication hashes. Instead, use shared access tokens as described in option 2 below.

  2. Shared Token Access: For CI/CD pipelines or development teams, use access tokens for authentication. These secure tokens can be:

  • Stored in individual .npmrc files in each developer's home directory. This allows access to be shared with a limited number of developers
  • Added to a shared .npmrc file in the project directory and committed to version control. This enables access for everyone working on the project
  • Used in CI/CD pipeline configurations. The pipeline can copy the token file into the project folder before running npm install, limiting token exposure to the CI/CD process without sharing it with the entire development team

Tokens provide several benefits:

  • No expiration date
  • Can be created or deleted as needed
  • More secure than sharing login credentials
  • Ideal for automated build processes
  • One developer seat/license in the Bryntum Customer Zone allows the creation of an unlimited number of tokens for accessing the repository

For detailed instructions on using tokens in CI/CD pipelines, please see Access tokens for CI/CD and Artifactory integration guides.

Access tokens

Access tokens may be used instead of password authentication for CI/CD environment or multi-user repository access for secure authorization to the Bryntum repository.

You can create a token and save it as a .npmrc file in your project directory to be able to install Bryntum packages with npm or yarn. Please follow the instructions below.

See also npm token documentation.

Creating an access token

To create a new token using the command line, run:

$ npm token create --registry=https://npm.bryntum.com
npm password: Enter your password here

Copy the token from the console, which is displayed after this command:

+----------+-------------------------+
| token    | eyJhb...                |
+----------+-------------------------+
| user     | user..example.com       |
+----------+-------------------------+
| cidr     |                         |
+----------+-------------------------+
| readonly | false                   |
+----------+-------------------------+
| created  | 2021-07-20T01:02:03.00Z |
+----------+-------------------------+

Viewing access tokens

To view all available tokens using the command line, run:

npm token list --registry=https://npm.bryntum.com

All available tokens will be displayed in the console:

+--------+---------+------------+----------+----------------+
| id     | token   | created    | readonly | CIDR whitelist |
+--------+---------+------------+----------+----------------+
| b54f12 | eyJhb.. | 2021-07-20 | no       |                |
+--------+---------+------------+----------+----------------+

Removing an access token

To remove a created token using the command line, run:

Replace tokenId with id from the tokens table displayed after npm token list command

npm token delete tokenId --registry=https://npm.bryntum.com

.npmrc locations

The npm package manager uses a configuration file named .npmrc that stores information of repositories, authTokens and other configuration options. npm uses this file from the following locations in this order:

  • per-project config file (/path/to/my/project/.npmrc)
  • per-user config file (~/.npmrc)
  • global config file ($PREFIX/etc/npmrc)
  • npm builtin config file (/path/to/npm/npmrc)

See also npmrc documentation.

Listing the npm configuration

Use npm config ls to see the following information:

; "user" config from /Users/user/.npmrc
@bryntum:registry = "https://npm.bryntum.com"
//npm.bryntum.com/:_authToken = (protected)
; node bin location = /Users/user/.nvm/versions/node/v12.22.1/bin/node
; cwd = /Users/Shared/data/devel/bryntum-suite
; HOME = /Users/user
; Run <code>npm config ls -l</code> to show all defaults.

The first line shows that the .npmrc from the user's home directory will be used and we can also see that we have configured the registry for @bryntum namespace and that we have logged-in because we have an authToken.

If we had .npmrc in the project directory, /Users/Shared/data/devel/bryntum-suite in this case, then the output would look like:

; "user" config from /Users/user/.npmrc
@bryntum:registry = "https://npm.bryntum.com"
//npm.bryntum.com/:_authToken = (protected)
; "project" config from /Users/Shared/data/devel/bryntum-suite/.npmrc
legacy-peer-deps = true
; node bin location = /Users/user/.nvm/versions/node/v12.22.1/bin/node
; cwd = /Users/Shared/data/devel/bryntum-suite
; HOME = /Users/user
; Run <code>npm config ls -l</code> to show all defaults.

Both user and project configs are used at this time, legacy-peer-deps configured in the project directory and repository and authToken used from the user home directory.