GIT
Main project: https://git.magnolia-cms.com/projects/SERVICES/repos/uxf/browse
HA Templates: https://git.magnolia-cms.com/projects/SERVICES/repos/ha-templates/browse
HA config: https://git.magnolia-cms.com/projects/SERVICES/repos/ha-config/browse
HA wrapper: https://github.com/mgnlsol/ha-cli-wrapper
Documentation: https://gitlab.com/magnolia-services/uxf
CI/CD documentation "deploy": https://bitbucket.org/scot_rhodes/uxf/src/master/
Contributing to UXF
Build
yarn build
yarn install
npm install @magnolia-ea/ha-cli -g
navigate to ha-cli and run npm link
to check that you are using your local file, change the version in package.json and run ha -version see if it prints the version you set
Publish
by hand - at the moment ha-cli is with npm publish
and uxf-core stuff with lerna publish
NEW NPM PRIVATE REPO
I'm not sure is all this steps are mandatory, this is what has worked for me:
To publish to the new npm repo, you need to do the following:
remove your user/.npmrc file
run the following command:
npm config set registry https://npm.magnolia-cms.com/repository/npm-enterprise/
npm login --registry=https://npm.magnolia-cms.com/repository/npm-enterprise/
generate base64 of your nexus password like this:
echo -n 'admin:admin123' | openssl base64
edit your .npmrc file so it looks like this
@magnolia-ea:registry=https://npm.magnolia-cms.com/repository/npm-enterprise/
//npm.magnolia-cms.com/repository/npm-enterprise/:always-auth=true
//npm.magnolia-cms.com/repository/npm-enterprise/:_auth=(output of echo -n 'admin:admin123' | openssl base64)
after that you can publish like this:
- for ha-cli
cd uxf/packages/ha-cli
npm publish --registry=https://npm.magnolia-cms.com/repository/npm-enterprise/ --tag xxx
- for the uxf-core
cd uxf
yarn lerna version 1.0.0 (or any other) creates a tag in git
yarn lerna publish --registry=https://npm.magnolia-cms.com/repository/npm-enterprise/
NOTE: if you get the following error:
ERR! code E401 npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"
just remove the generated token in your npmrc file