- Notifications
You must be signed in to change notification settings - Fork12
A "how to" guide for private submodules on Vercel
beeinger/vercel-private-submodule
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Short and easy tutorial for using private submodules on Vercel
Edit your.gitmodules to follow this schema:
[submodule "<repo-name>"]path = <folder-name>url = https://<github-token>@github.com/<owner-name>/<repo-name>.gitThe important part is the<github-token> inhttps://<github-token>@github.com/<owner-name>/<repo-name>.git
You can use either a classic token or a fine-grained token with necessary permissions.
💡 TIP: If you dont know how to get ithave a look at this
Use this trick - add.gitmodules to.gitignore and then put the whole contents of the.gitmodules in a GitHub Secret or a secret on Vercel, and then when installing dependencies and doing setup, do smthn likeecho '${{ secrets.GITMODULES }}' > .gitmodules
🤝🏽 Thanks@FrameMuse [Issue:#7]
copy the ./vercel-submodule-workaround.sh to the root of your project
make sure the file is executable - run this command:
chmod u+x vercel-submodule-workaround.sh
in your package.json add a script:
{"scripts":{"vercel-install":"./vercel-submodule-workaround.sh && yarn --ignore-scripts --production=false", }}Info:
--production=false ensures that dev-dependencies will be installed, if you dont need your dev-dependencies to install then just delete this flag.
--ignore-scripts ignores pre and post install scripts if you want the scripts to run delete this flag.
Tell Vercel to use vercel-install instead of the defalt install command
project -> Settings -> General => Build & Development Settings
in INSTALL COMMAND type
yarn vercel-install# ornpm vercel-install- toggle OVERRIDE on
Create a Github access token
Settings -> Developer settings -> Personal access tokens
Generate new token
set a note (eg. vercel)
set expiration to whatever you see fit (eg. No expiration)
select repo
[x] repo - Full control of private repositories
copy the generated token
Add the token to Vercel Environment Variables
Project -> Settings -> Environment Variables
add a new variable called GITHUB_ACCESS_TOKEN and with value of the token you just copied
I haven't added support for multiple submodules but it should be easy enough, try edditing this part and then the rest of the script.
# get submodule commitoutput=`git submodule status --recursive`# get submodule infono_prefix=${output#*-}# get rid of the prefixCOMMIT=${no_prefix%*}# get rid of the suffix
About
A "how to" guide for private submodules on Vercel
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.