@ampless/runtime 0.2.0-alpha.7 → 0.2.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +86 -0
- package/README.md +3 -0
- package/package.json +3 -3
package/README.ja.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
> English: [README.md](./README.md)
|
|
2
|
+
>
|
|
3
|
+
|
|
4
|
+
# @ampless/runtime
|
|
5
|
+
|
|
6
|
+
[ampless](https://github.com/heavymoons/ampless) 向けパブリックサイドランタイム。投稿取得クライアント、サイト設定、テーマ解決、SEO メタデータ集約、ミドルウェア、パブリックルートハンドラーを `createAmpless()` ひとつのファクトリーにまとめます。
|
|
7
|
+
|
|
8
|
+
> **プレリリース / アルファ版。** v1.0 まではマイナーバージョンでも破壊的変更が入る可能性があります。
|
|
9
|
+
|
|
10
|
+
テンプレートから切り出すことで、スキャフォールドされたファイルに触れずに `npm update @ampless/runtime` でアップデートできます — パブリックサイトの動作改善はスキャフォールダーの再実行ではなく、パッケージを通じて届きます。
|
|
11
|
+
|
|
12
|
+
## インストール
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @ampless/runtime@alpha ampless@alpha
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`@ampless/runtime` は `next`(15+)、`react`(18/19)、`aws-amplify`(6+)、`@aws-amplify/adapter-nextjs`(1+)をピア依存として宣言します。CLI スキャフォールダーがテンプレートの `package.json` に互換バージョンをピン留めします。
|
|
19
|
+
|
|
20
|
+
## 使い方
|
|
21
|
+
|
|
22
|
+
テンプレートは `lib/ampless.ts` に共有インスタンスを 1 つ作成します:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import outputs from '../amplify_outputs.json'
|
|
26
|
+
import cmsConfig from '../cms.config'
|
|
27
|
+
import { themes, DEFAULT_THEME } from '../themes-registry'
|
|
28
|
+
import { createAmpless } from '@ampless/runtime'
|
|
29
|
+
|
|
30
|
+
export const ampless = createAmpless({
|
|
31
|
+
outputs,
|
|
32
|
+
cmsConfig,
|
|
33
|
+
themes: { themes, defaultTheme: DEFAULT_THEME },
|
|
34
|
+
})
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
`app/site/[siteId]/` 以下のルートとディスパッチャーはワンライナーのファクトリー呼び出しになります:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
// app/site/[siteId]/page.tsx
|
|
41
|
+
import { ampless } from '@/lib/ampless'
|
|
42
|
+
import {
|
|
43
|
+
createThemeHomeDispatcher,
|
|
44
|
+
createThemeHomeMetadata,
|
|
45
|
+
} from '@ampless/runtime/dispatchers'
|
|
46
|
+
|
|
47
|
+
export const dynamic = 'force-dynamic'
|
|
48
|
+
export const generateMetadata = createThemeHomeMetadata(ampless)
|
|
49
|
+
export default createThemeHomeDispatcher(ampless)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
// app/site/[siteId]/og/[slug]/route.ts
|
|
54
|
+
import { ampless } from '@/lib/ampless'
|
|
55
|
+
import { createOgRouteHandler } from '@ampless/runtime/routes'
|
|
56
|
+
|
|
57
|
+
export const runtime = 'nodejs'
|
|
58
|
+
export const dynamic = 'force-dynamic'
|
|
59
|
+
export const GET = createOgRouteHandler(ampless)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
ミドルウェア:
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
// middleware.ts
|
|
66
|
+
import cmsConfig from './cms.config'
|
|
67
|
+
import { createAmplessMiddleware, defaultMatcherConfig } from '@ampless/runtime/middleware'
|
|
68
|
+
|
|
69
|
+
export const middleware = createAmplessMiddleware({ cmsConfig })
|
|
70
|
+
export const config = defaultMatcherConfig
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## サブパス
|
|
74
|
+
|
|
75
|
+
- `@ampless/runtime` — `createAmpless`、ランタイム型、`renderBody`・`renderThemeCss`・フォーマットコンバーターの再エクスポート
|
|
76
|
+
- `@ampless/runtime/middleware` — `createAmplessMiddleware`、`defaultMatcherConfig`
|
|
77
|
+
- `@ampless/runtime/routes` — `createOgRouteHandler`、`createSitemapRouteHandler`、`createFeedRouteHandler`、`createRawRouteHandler`
|
|
78
|
+
- `@ampless/runtime/dispatchers` — `createThemeHomeDispatcher`、`createThemePostDispatcher`、`createThemeTagDispatcher`(それぞれ対応する `*Metadata` ファクトリーあり)
|
|
79
|
+
|
|
80
|
+
## テンプレートに残るもの
|
|
81
|
+
|
|
82
|
+
管理側モジュール(投稿プロバイダー、テーマアクション、認証、KV 書き込み)とテーマコンポーネントはスキャフォールドに残ります。これらは後のリリースで `@ampless/admin` に移行する予定です。それまでは、これらのファイルへの変更はユーザーのプロジェクト内で行ってください。
|
|
83
|
+
|
|
84
|
+
## ライセンス
|
|
85
|
+
|
|
86
|
+
MIT
|
package/README.md
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
> 日本語版: [README.ja.md](./README.ja.md)
|
|
2
|
+
>
|
|
3
|
+
|
|
1
4
|
# @ampless/runtime
|
|
2
5
|
|
|
3
6
|
Public-side runtime for [ampless](https://github.com/heavymoons/ampless). Bundles the post-fetching client, site settings, theme resolution, SEO metadata aggregation, middleware, and public route handlers behind a single `createAmpless()` factory.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ampless/runtime",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.9",
|
|
4
4
|
"description": "Public-side runtime for ampless: post fetching, theme dispatch, middleware, public route handlers",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"clsx": "^2.1.1",
|
|
49
49
|
"lucide-react": "^1.16.0",
|
|
50
50
|
"tailwind-merge": "^3.6.0",
|
|
51
|
-
"ampless": "0.2.0-alpha.
|
|
52
|
-
"@ampless/plugin-og-image": "0.2.0-alpha.
|
|
51
|
+
"ampless": "0.2.0-alpha.6",
|
|
52
|
+
"@ampless/plugin-og-image": "0.2.0-alpha.6"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"next": "^15 || ^16",
|