Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/drop-deno-docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@hebilicious/cssforge": patch
---

Document the JSR channel for Node package managers only. The README no longer describes Deno usage; the package is still published to JSR at the same version as npm.
23 changes: 0 additions & 23 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,26 +108,3 @@ jobs:

- name: Smoke test the packed package on the supported engine floor
run: moon run cssforge:smoke-test -- --node "$(command -v node)"

jsr-entries:
name: JSR entry points
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup toolchain
uses: moonrepo/setup-toolchain@v0
with:
moon-version: "2.0.0"
auto-install: true

- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: v2.x

- name: Smoke test the JSR entry points with Deno
run: moon run cssforge:jsr-smoke -- --require-deno
5 changes: 0 additions & 5 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,6 @@ jobs:
moon-version: "2.0.0"
auto-install: true

- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: v2.x

- name: Check release metadata consistency
run: moon run --force cssforge:version-check

Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ convert.ts
/.cssforge
TODO.md
.worktrees
.jsr-smoke-*
.artifact-build-*
6 changes: 2 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
{
"deno.enable": true,
"deno.lint": true,
"editor.formatOnSave": true,
"[typescript]": {
"editor.defaultFormatter": "denoland.vscode-deno"
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.defaultFormatter": "denoland.vscode-deno"
"editor.defaultFormatter": "biomejs.biome"
},
"oxc.enable": false
}
29 changes: 9 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,30 +56,20 @@ npx cssforge --mode all # npm

The rest of this document writes commands as `cssforge <args>`.

### Alternative installation (Deno and JSR)
### Alternative installation (JSR)

CSS Forge is also published to [JSR](https://jsr.io/@hebilicious/cssforge) at the same version
as npm. Use it for Deno projects and for JSR-native imports:
as npm. Use it for JSR-native imports:

```bash
# Deno
deno add jsr:@hebilicious/cssforge

# npm (10.9 +) or pnpm
# npm
npx jsr add @hebilicious/cssforge
pnpm i jsr:@hebilicious/cssforge
```

The `jsr:` specifier replaces the package name in imports, and the published CLI entry
point runs directly with Deno:

```bash
deno run -A jsr:@hebilicious/cssforge/cli --mode all
# pnpm 10.9+
pnpm i jsr:@hebilicious/cssforge
```

```typescript
import { defineConfig } from "jsr:@hebilicious/cssforge";
```
Both keep the package name, so imports stay `import { defineConfig } from "@hebilicious/cssforge";`.

## Contributing Workflow

Expand All @@ -97,8 +87,7 @@ moon run cssforge:jsr-dry-run
```

`cssforge:smoke-test` packs the package and installs that tarball in clean npm and pnpm
projects, and `cssforge:jsr-smoke` exercises the JSR entry points (with Deno when it is
installed).
projects, and `cssforge:jsr-smoke` runs the JSR entry points with Node.

## Quick Start

Expand Down Expand Up @@ -272,8 +261,8 @@ The plugin calls the same `generateCSS` implementation as the CLI, so `virtual:c
`cssforge --mode css` output byte for byte. The served stylesheet is unlayered, and
`@import "virtual:cssforge.css" layer(cssforge)` does not work because a CSS import resolves to a
file; set `write` and import the written file with `layer(cssforge)` to keep the tokens in a layer.
The CLI stays the integration path for everything else: Deno and JSR, Style Dictionary, CI steps, and
tools without a bundler.
The CLI stays the integration path for everything else: JSR, Style Dictionary, CI steps, and tools
without a bundler.

## Output Formats

Expand Down
29 changes: 9 additions & 20 deletions packages/cssforge/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,30 +56,20 @@ npx cssforge --mode all # npm

The rest of this document writes commands as `cssforge <args>`.

### Alternative installation (Deno and JSR)
### Alternative installation (JSR)

CSS Forge is also published to [JSR](https://jsr.io/@hebilicious/cssforge) at the same version
as npm. Use it for Deno projects and for JSR-native imports:
as npm. Use it for JSR-native imports:

```bash
# Deno
deno add jsr:@hebilicious/cssforge

# npm (10.9 +) or pnpm
# npm
npx jsr add @hebilicious/cssforge
pnpm i jsr:@hebilicious/cssforge
```

The `jsr:` specifier replaces the package name in imports, and the published CLI entry
point runs directly with Deno:

```bash
deno run -A jsr:@hebilicious/cssforge/cli --mode all
# pnpm 10.9+
pnpm i jsr:@hebilicious/cssforge
```

```typescript
import { defineConfig } from "jsr:@hebilicious/cssforge";
```
Both keep the package name, so imports stay `import { defineConfig } from "@hebilicious/cssforge";`.

## Contributing Workflow

Expand All @@ -97,8 +87,7 @@ moon run cssforge:jsr-dry-run
```

`cssforge:smoke-test` packs the package and installs that tarball in clean npm and pnpm
projects, and `cssforge:jsr-smoke` exercises the JSR entry points (with Deno when it is
installed).
projects, and `cssforge:jsr-smoke` runs the JSR entry points with Node.

## Quick Start

Expand Down Expand Up @@ -272,8 +261,8 @@ The plugin calls the same `generateCSS` implementation as the CLI, so `virtual:c
`cssforge --mode css` output byte for byte. The served stylesheet is unlayered, and
`@import "virtual:cssforge.css" layer(cssforge)` does not work because a CSS import resolves to a
file; set `write` and import the written file with `layer(cssforge)` to keep the tokens in a layer.
The CLI stays the integration path for everything else: Deno and JSR, Style Dictionary, CI steps, and
tools without a bundler.
The CLI stays the integration path for everything else: JSR, Style Dictionary, CI steps, and tools
without a bundler.

## Output Formats

Expand Down
Loading
Loading