This document guides a contributor through creating a release of JupyterLab.
Review CONTRIBUTING.md
. Make sure all the tools needed to generate the
built JavaScript files are properly installed.
We publish the npm packages, a Python source package, and a Python universal binary wheel. We also publish a conda package on conda-forge (see below). See the Python docs on package uploading for twine setup instructions and for why twine is the recommended method.
The command below ensures the latest dependencies and built files,
then prompts you to select package versions. When one package has an
effective major release, the packages that depend on it should also get a
major release, to prevent consumers that are using the ^
semver
requirement from getting a conflict.
jlpm run publish
jupyterlab/_version.py
with an rc
versionjlpm run build:update
rm -rf dist
python setup.py sdist
python setup.py bdist_wheel --universal
twine upload dist/*
rc
in a clean environmentnpm access public @jupyterlab/<name>
to make it public.style/
in the files:
of a package (it will fail on the jupyter lab build
command because
webpack cannot find the referenced styles to import.jupyterlab/_version.py
with a final versionjupyterlab/_version.py
with a dev
versionjlpm integrity
to update the dev_mode
versiongit checkout --orphan name-of-branch
git rm -rf .
git clean -dfx
cookiecutter path-to-local-extension-cookiecutter-ts
# Fill in the values from the previous branch package.json
cp -r jupyterlab_xkcd .
rm -rf jupyterlab_xkcd
0.28-01-show-a-panel
LICENSE
and README
files from the previous branch, as well as the package.json
fields up to
license
.If you make a mistake and need to start over, clear the tags using the following pattern:
git tag | grep 0.xx | xargs git tag -d
shasum -a 256 dist/*.tar.gz
recipe/meta.yaml
with the new version and md5 and reset the build number to 0./packages/package-folder-name
:jlpm run patch:release package-folder-name