You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Trying to publish to private npm repo from bitbucket. The bundle is built and added to a folder called dist.
image: node:14
pipelines:
default:
- parallel:
- step:
name: Build and Test
caches:
- node
script:
- npm install
- npm test
- step:
name: Lint the node package
script:
- npm install eslint
- npx eslint .
caches:
- node
branches:
master:
- parallel:
- step:
name: Build and Test
caches:
- node
script:
- npm install
- npm run build
- step:
name: Security Scan
script:
# Run a security scan for sensitive data.
# See more security tools at https://bitbucket.org/product/features/pipelines/integrations?&category=security
- pipe: atlassian/git-secrets-scan:0.5.1
- step:
name: Deploy to Production
deployment: Production
script:
# Bump versions before publishing
- npm --no-git-tag-version version "2.0.$BITBUCKET_BUILD_NUMBER" -m "Upgrade to new version"
# Publish package
- pipe: atlassian/npm-publish:0.3.2
variables:
NPM_TOKEN: $NPM_TOKEN
Problem is that publishing to npm, dist folder is not published.
Folder structure after building (locally and expected)
- package-name
- dist
- index.ts
- package.json
But with the Bitbucket pipeline, only package.json is added to the package, and dist is ignored.
Inside package.json, I've added the property
"files": [
"dist"
]
According to npm docs , files always take precedence over gitignore and npmrc.
Verified with npm publish --dry-run locally to make sure the right files are built. And it is working fine in that case.
I was able to make it work by adding entries in npmignore files (not adding dist in npmignore and adding in gitignore). But this creates a lot of redundancy.
Will Bitbucket pipeline consider files attribute in package.json?
@Justin George hi.Thanks for question. Try to use folder parameter according to the docs:
script: - pipe: atlassian/npm-publish:0.3.2 variables: NPM_TOKEN: $NPM_TOKEN FOLDER: 'dist'
Regards, Igor
Needed a few changes to get this working.
- Used artifacts to retain the dist folder
- used LOCAL_PATH instead of FOLDER
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
would you post a whole example pleae, not sure what would artifacts part look like
EDIT:
figured it out, and if it'll help anyone else :
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.