In this demo, we will:
company-repo
company-domain
python-repo
Python package repository
company-domain
mkdir codeartifact-demo
cd codeartifact-demo
cat ~/.npmrc
codeartifact-user
codeartifact
PAUSE AND CONFIGURE AWS COMMAND LINE
aws configure
aws codeartifact login --tool npm --repository company-repo --domain company-domain --region us-east-1 --domain-owner <AWS-ACCOUNT-ID>
cat ~/.npmrc
npm config list
npm ping
npm install lodash
npm list lodash
mkdir my-company-utils
cd my-company-utils
npm init -y
mv package.json package.json.backup
{
"name": "@company/utils",
"version": "1.0.0",
"description": "Company utility functions",
"main": "index.js",
"scripts": {
"co:login": "aws codeartifact login --tool npm --repository company-repo --domain company-domain",
"prepare": "npm run co:login"
},
"keywords": ["utilities", "company"],
"author": "Your Name",
"license": "MIT"
}
// index.js
function formatCurrency(amount, currency = 'USD') {
return new Intl.NumberFormat('en-US', {
style: 'currency',
currency: currency
}).format(amount);
}
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
module.exports = {
formatCurrency,
validateEmail
};
npm publish
cd ..
aws codeartifact login --tool pip --repository python-repo --domain company-domain --region us-east-1 --domain-owner
pip config list
pip install requests
mkdir package-test
cd package-test
export CODEARTIFACT_AUTH_TOKEN=$(aws codeartifact get-authorization-token --domain company-domain --query authorizationToken --output text)
echo $CODEARTIFACT_AUTH_TOKEN
npm init -y
npm install @company/utils
code .
const { formatCurrency, validateEmail } = require('@company/utils');
console.log(formatCurrency(1234.56)); // $1,234.56
console.log(validateEmail('test@example.com')); // true
console.log(validateEmail('invalid-email')); // false
node test.js
npm config delete registry
npm config delete //company-domain-211125437318.d.codeartifact.us-east-1.amazonaws.com/npm/company-repo/:_authToken
pip config unset global.index-url
rm -rf my-company-utils
rm -rf package-test
confirm