Metadata-Version: 2.4
Name: edwarp
Version: 0.1.0
Summary: Python-only static file (js, css) bundler core library
Project-URL: Documentation, https://github.com/educationwarehouse/edwarp#readme
Project-URL: Issues, https://github.com/educationwarehouse/edwarp/issues
Project-URL: Source, https://github.com/educationwarehouse/edwarp
Author-email: Robin van der Noord <robin.vdn@educationwarehouse.nl>, Remco Boerma <remco.b@educationwarehouse.nl>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.12
Requires-Dist: configuraptor>=1.28.0
Requires-Dist: expandvars<2
Requires-Dist: python-dotenv
Requires-Dist: pyyaml
Requires-Dist: quickjs-ng
Requires-Dist: requests
Requires-Dist: rjsmin
Requires-Dist: sassquatch>=1.0.1
Requires-Dist: termcolor
Requires-Dist: tomlkit
Provides-Extra: dev
Requires-Dist: hatch; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: python-semantic-release<8; extra == 'dev'
Description-Content-Type: text/markdown

# edwarp

`edwarp` is the non-CLI reusable core extracted from `edwh-bundler-plugin`.

## What it contains

- JS/CSS content extraction and bundling helpers
- TypeScript transpilation and dependency inlining
- SCSS/SASS conversion and variable injection
- Config loading from `bundle.yaml`, `bundle.toml`, or `pyproject.toml` (`tool.edwarp.bundle`)

## Basic usage

```python
from edwarp import bundle_js, bundle_css

js = bundle_js(["https://unpkg.com/htmx.org@1.9.2/dist/htmx.min.js"], minify=True)
css = bundle_css(["./styles.scss"], minify=True, scss_variables={"primary": "#000"})
```

```python
from edwarp import build

# builds using bundle.yaml/bundle.toml/pyproject config in cwd
build(config="bundle.yaml", verbose=True)
```
