In this demo, we will:
company-repocompany-domainpython-repoPython package repositorycompany-domainmkdir codeartifact-demo
cd codeartifact-democat ~/.npmrccodeartifact-usercodeartifactPAUSE AND CONFIGURE AWS COMMAND LINE
aws configureaws codeartifact login --tool npm --repository company-repo --domain company-domain --region us-east-1 --domain-owner <AWS-ACCOUNT-ID>cat ~/.npmrcnpm config listnpm pingnpm install lodashnpm list lodashmkdir my-company-utils
cd my-company-utilsnpm init -ymv 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 publishcd ..aws codeartifact login --tool pip --repository python-repo --domain company-domain --region us-east-1 --domain-ownerpip config listpip install requestsmkdir package-test
cd package-testexport CODEARTIFACT_AUTH_TOKEN=$(aws codeartifact get-authorization-token --domain company-domain --query authorizationToken --output text)
echo $CODEARTIFACT_AUTH_TOKENnpm init -ynpm install @company/utilscode .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')); // falsenode test.jsnpm config delete registrynpm config delete //company-domain-211125437318.d.codeartifact.us-east-1.amazonaws.com/npm/company-repo/:_authTokenpip config unset global.index-urlrm -rf my-company-utils
rm -rf package-testconfirm