* fix(webhook-notifier): add build step and export built files
The webhook-notifier plugin exported raw TypeScript source from its
package.json exports (./sandbox pointed to src/sandbox-entry.ts).
When the Vite plugin resolved this at site build time, it embedded
unbuilt TypeScript into the sandbox module, causing "Unexpected token
'{'" errors at runtime.
Add a tsdown build step (matching sandboxed-test's pattern) and update
the exports map to point to dist/*.mjs.
Fixes #150
* fix(core): reject unbuilt source in sandbox module generator and bundle validator
Add two validation checks to prevent plugins with misconfigured exports
from silently breaking site builds:
1. generateSandboxedPluginsModule() now throws a clear error if a
sandbox entrypoint resolves to a TypeScript/JSX source file instead
of pre-built JavaScript. This catches the problem at site build time
with an actionable message.
2. The `emdash bundle` command now validates that all package.json
exports point to built files (.js/.mjs), not source (.ts/.tsx/.jsx).
This catches the misconfiguration at plugin publish time, before
consumers are affected.
Fixes #150
* chore: add changeset for sandbox source validation
* fix: use slash syntax for e18e rule override in oxlintrc
The test file override for e18e/prefer-static-regex used parenthesis
syntax ("e18e(prefer-static-regex)") which is the diagnostic display
format, not the config format. Changed to slash syntax to match the
top-level rule declarations so the override actually takes effect.
* test: add tests for sandbox source validation
Add tests for both validation checks:
- generateSandboxedPluginsModule: verifies it embeds pre-built JS,
rejects .ts/.tsx/.mts source files, and includes the plugin ID in
error messages.
- findSourceExports: verifies it flags .ts/.tsx/.mts/.cts/.jsx exports,
accepts .mjs/.js exports, and handles conditional export maps.
Also extracts findSourceExports() from the inline bundle.ts validation
into bundle-utils.ts so it can be tested without the CLI harness.
* fix(atproto, audit-log): add build step and export built files
Same issue as webhook-notifier — both plugins exported raw TypeScript
source from their package.json sandbox exports. Add tsdown build steps
and update exports to point to dist/*.mjs.
* refactor(smoke): replace sequential per-site astro builds with recursive pnpm build
The build verification section was running `astro build` individually
and sequentially for every demo and template (~12 sites). Replace with
a single `pnpm run --recursive --filter {./demos/*} --filter
{./templates/*} build` which pnpm parallelizes automatically.
49 lines
1.0 KiB
JSON
49 lines
1.0 KiB
JSON
{
|
|
"name": "@emdash-cms/plugin-atproto",
|
|
"version": "0.1.0",
|
|
"description": "AT Protocol / standard.site syndication plugin for EmDash CMS",
|
|
"type": "module",
|
|
"main": "dist/index.mjs",
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/index.mjs",
|
|
"types": "./dist/index.d.mts"
|
|
},
|
|
"./sandbox": "./dist/sandbox-entry.mjs"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"keywords": [
|
|
"emdash",
|
|
"cms",
|
|
"plugin",
|
|
"atproto",
|
|
"bluesky",
|
|
"standard-site",
|
|
"syndication",
|
|
"fediverse"
|
|
],
|
|
"author": "Matt Kane",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"emdash": "workspace:*"
|
|
},
|
|
"devDependencies": {
|
|
"tsdown": "catalog:",
|
|
"typescript": "catalog:",
|
|
"vitest": "catalog:"
|
|
},
|
|
"scripts": {
|
|
"build": "tsdown src/index.ts src/sandbox-entry.ts --format esm --dts --clean",
|
|
"dev": "tsdown src/index.ts src/sandbox-entry.ts --format esm --dts --watch",
|
|
"test": "vitest run",
|
|
"typecheck": "tsgo --noEmit"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/emdash-cms/emdash.git",
|
|
"directory": "packages/plugins/atproto"
|
|
}
|
|
}
|