Adding or updating a package requires some extra step if its part of dependencies or devDependencies.
- Go to
packages/content/migrations/migration.json - make and entry like below
"next-analog-version": {
"version": "current-analog-version",
"description": "Add/Updates package - description about why its needed",
"packages": {
"package-name": {
"version": "^package-version",
"alwaysAddToPackageJson": true
}
}- Go to
packages/create-analog - There are 2 templates as of now
packages/create-analog/template-angular-v17packages/create-analog/template-blog
- Go to
package.jsonand Add/Update the package in both templates
- Go to
packages/nx-plugin/src/generators/app/versions - There are folders for each version of Nx
- Choose the folder where this package needs to be added
- For Nx 17 the folder is
packages/nx-plugin/src/generators/app/versions/nx_17_X - Open
version.tsand make an Key-Value entry likeexport const V17_X_PACKAGENAME = '^package-version';if the package already exists, update thepackage-version. - Next open
packages/nx-plugin/src/generators/app/versions/dependencies.tsif its part of dependecies. - If this is an existing package no change is needed, but if its a new package, import the
Key-Valueentry you made
import{
..., ---> existing list
V17_X_PACKAGENAME,
} from './nx_17_X/versions';- Find the return statement for the Nx Version, for Nx 17 it may look like below, notice the comment
// return latest 17.X deps for versions >= 17.0.0
return {
'@angular/platform-server': angularVersion,
'@analogjs/content': V17_X_ANALOG_JS_CONTENT,
'@analogjs/router': V17_X_ANALOG_JS_ROUTER,
'front-matter': V17_X_FRONT_MATTER,
marked: V17_X_MARKED,
'marked-gfm-heading-id': V17_X_MARKED_GFM_HEADING_ID,
'marked-highlight': V17_X_MARKED_HIGHLIGHT,
mermaid: V17_X_MERMAID,
prismjs: V17_X_PRISMJS,
};- For new packge make an entry into the return array
// return latest 17.X deps for versions >= 17.0.0
return {
'@angular/platform-server': angularVersion,
'@analogjs/content': V17_X_ANALOG_JS_CONTENT,
'@analogjs/router': V17_X_ANALOG_JS_ROUTER,
'front-matter': V17_X_FRONT_MATTER,
marked: V17_X_MARKED,
'marked-gfm-heading-id': V17_X_MARKED_GFM_HEADING_ID,
'marked-highlight': V17_X_MARKED_HIGHLIGHT,
mermaid: V17_X_MERMAID,
prismjs: V17_X_PRISMJS,
packagename: V17_X_PACKAGENAME,
};- Next step is to update tests
- Go to
packages/nx-plugin/src/generators/app/generator.spec.ts - Search for the current version on Nx, for Nx17 you will find
const verifyCoreDependenciesNxV17_AngularV16_X - Add the current package into the const
expect(dependencies['packagename']).toBe('^package-version');
expect(devDependencies['packagename']).toBe('^package-version');