# Introduction
This package builds JavaScript projects any JS tooling you might happen to use.
It contains a [`zest.releaser`](http://pypi.org/project/zest.releaser)
entry point and a stand-alone command line tool.
## Goal
You want to release a package that has a `packages.json` on it
and to build the final assets you only have two commands:
- install (dependencies)
- build (the assets)
Usually one does not want to keep the generated files on VCS,
but you want them when releasing with `zest.releaser`.
## Configuration
For that to work you need to add a `yarn.build` section on `setup.cfg`
with the following configuration options:
```ini
[yarn.build]
folder = src/my/package/frontend
install = pnpm install --frozen-lockfile
build = pnpm build
```
- `folder`: is a path to where the `package.json` is located
- `install`: is the command to install the dependencies that your frontend code needs
- `build`: is the command that generates your assets
## Credits
This package is a direct inspiration from
[`zest.pocompile`](https://pypi.org/project/zest.pocompile) from Maurits van Rees.
Thanks!
## To Do
Add tests
# Changelog
## 3.0.0 (2024-10-01)
### Breaking changes
- configuration options are mandatory,
autodiscovery of `packages.json` has been removed
- it is no longer tied to `yarn`, nor to `yarn build` to generate the assets,
you can use whichever tooling you want, please refer to the `README`
## 2.0.0 (2024-03-01)
- Nothing changed since the alpha release.
## 2.0.0a1 (2024-02-22)
- Add linting with `pre-commit` / `tox` / GitHub Actions
- Rename the main module to something else than `build` as it clashes with the distribution https://pypi.org/project/build/
- Update the syntax to python 3.11 and use `pathlib`
## 1.0.0 (2019-02-11)
- No changes since last release
## 1.0b3 (2018-11-09)
- Fix logic, to not try to build a project if no package.json could be found
- Be more quiet if no `yarn.build` section is found on `setup.cfg`
## 1.0b2 (2018-11-09)
- Change option to `folder` as package.json is expected to be there, i.e.
```ini
[yarn.build]
folder = path/to/folder/
```
## 1.0b1.post0 (2018-11-09)
- Fix (hopefully), pypi rendering
## 1.0b1 (2018-11-09)
- Allow to configure where package.json is located via a setup.cfg section
```ini
[yarn.build]
file = path-to/package.json
```
## 1.0a6 (2017-01-06)
- Create universal wheels again
## 1.0a5 (2017-01-06)
- Pass the parent folder where package.json is
## 1.0a4 (2017-01-06)
- Typos are fun...
## 1.0a3 (2017-01-06)
- Ditch wheels by now, only source releases
## 1.0a2 (2017-01-06)
- Be more verbose
## 1.0a1 (2017-01-05)
- Initial release
Raw data
{
"_id": null,
"home_page": "https://github.com/gforcada/yarn.build",
"name": "yarn.build",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "yarn javascript compile build release zest.releaser",
"author": "Gil Forcada Codinachs",
"author_email": "gil.gnome@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/33/30/bf0e73d9ef5ee047f6d61c87f6f39d25655b97bb7f04f6f2ae78eec9b97c/yarn.build-3.0.0.tar.gz",
"platform": null,
"description": "\n# Introduction\n\nThis package builds JavaScript projects any JS tooling you might happen to use.\nIt contains a [`zest.releaser`](http://pypi.org/project/zest.releaser)\nentry point and a stand-alone command line tool.\n\n## Goal\n\nYou want to release a package that has a `packages.json` on it\nand to build the final assets you only have two commands:\n\n- install (dependencies)\n- build (the assets)\n\nUsually one does not want to keep the generated files on VCS,\nbut you want them when releasing with `zest.releaser`.\n\n## Configuration\n\nFor that to work you need to add a `yarn.build` section on `setup.cfg`\nwith the following configuration options:\n\n```ini\n[yarn.build]\nfolder = src/my/package/frontend\ninstall = pnpm install --frozen-lockfile\nbuild = pnpm build\n```\n\n- `folder`: is a path to where the `package.json` is located\n- `install`: is the command to install the dependencies that your frontend code needs\n- `build`: is the command that generates your assets\n\n## Credits\n\nThis package is a direct inspiration from\n[`zest.pocompile`](https://pypi.org/project/zest.pocompile) from Maurits van Rees.\n\nThanks!\n\n## To Do\n\nAdd tests\n\n\n# Changelog\n\n## 3.0.0 (2024-10-01)\n\n### Breaking changes\n\n- configuration options are mandatory,\n autodiscovery of `packages.json` has been removed\n- it is no longer tied to `yarn`, nor to `yarn build` to generate the assets,\n you can use whichever tooling you want, please refer to the `README`\n\n## 2.0.0 (2024-03-01)\n\n- Nothing changed since the alpha release.\n\n## 2.0.0a1 (2024-02-22)\n\n- Add linting with `pre-commit` / `tox` / GitHub Actions\n\n- Rename the main module to something else than `build` as it clashes with the distribution https://pypi.org/project/build/\n\n- Update the syntax to python 3.11 and use `pathlib`\n\n## 1.0.0 (2019-02-11)\n\n- No changes since last release\n\n## 1.0b3 (2018-11-09)\n\n- Fix logic, to not try to build a project if no package.json could be found\n\n- Be more quiet if no `yarn.build` section is found on `setup.cfg`\n\n## 1.0b2 (2018-11-09)\n\n- Change option to `folder` as package.json is expected to be there, i.e.\n\n```ini\n[yarn.build]\nfolder = path/to/folder/\n```\n\n## 1.0b1.post0 (2018-11-09)\n\n- Fix (hopefully), pypi rendering\n\n## 1.0b1 (2018-11-09)\n\n- Allow to configure where package.json is located via a setup.cfg section\n\n```ini\n[yarn.build]\nfile = path-to/package.json\n```\n\n## 1.0a6 (2017-01-06)\n\n- Create universal wheels again\n\n## 1.0a5 (2017-01-06)\n\n- Pass the parent folder where package.json is\n\n## 1.0a4 (2017-01-06)\n\n- Typos are fun...\n\n## 1.0a3 (2017-01-06)\n\n- Ditch wheels by now, only source releases\n\n## 1.0a2 (2017-01-06)\n\n- Be more verbose\n\n## 1.0a1 (2017-01-05)\n\n- Initial release\n\n",
"bugtrack_url": null,
"license": "GPL version 3",
"summary": "Build JS artifacts with yarn",
"version": "3.0.0",
"project_urls": {
"Homepage": "https://github.com/gforcada/yarn.build"
},
"split_keywords": [
"yarn",
"javascript",
"compile",
"build",
"release",
"zest.releaser"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "10ffa4929b4febe7c36c875edc9ddd9e13a41ac878da3ee43a641786547d25b0",
"md5": "011471e67fbf8e72aa59c1200d73beb9",
"sha256": "96ea9a3b9609afe3de25557d923ed7cfafd075026a56627566a79045c27bd8d8"
},
"downloads": -1,
"filename": "yarn.build-3.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "011471e67fbf8e72aa59c1200d73beb9",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.11",
"size": 3699,
"upload_time": "2024-10-01T19:34:36",
"upload_time_iso_8601": "2024-10-01T19:34:36.939472Z",
"url": "https://files.pythonhosted.org/packages/10/ff/a4929b4febe7c36c875edc9ddd9e13a41ac878da3ee43a641786547d25b0/yarn.build-3.0.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3330bf0e73d9ef5ee047f6d61c87f6f39d25655b97bb7f04f6f2ae78eec9b97c",
"md5": "7c35254167eba35e8a7927bee3f18897",
"sha256": "60b3e14839344b2bf086d4b4575d67733cbcf8b204c359a75ebbf0415b0a262f"
},
"downloads": -1,
"filename": "yarn.build-3.0.0.tar.gz",
"has_sig": false,
"md5_digest": "7c35254167eba35e8a7927bee3f18897",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 3758,
"upload_time": "2024-10-01T19:34:38",
"upload_time_iso_8601": "2024-10-01T19:34:38.074156Z",
"url": "https://files.pythonhosted.org/packages/33/30/bf0e73d9ef5ee047f6d61c87f6f39d25655b97bb7f04f6f2ae78eec9b97c/yarn.build-3.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-01 19:34:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gforcada",
"github_project": "yarn.build",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "yarn.build"
}