create-einja-app 0.2.11 → 0.2.13

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-einja-app",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "description": "CLI tool to create new projects with Einja Management Template",
5
5
  "type": "module",
6
6
  "bin": {
@@ -15,11 +15,18 @@ DOTENV_PUBLIC_KEY_CI="02c888edf6b766c5a9781ab2966c142b5f401e9a9d534aab37d6c0fa5c
15
15
  # ============================================
16
16
 
17
17
  # NextAuth設定
18
- NEXTAUTH_SECRET=encrypted:BDqRRvYcNnJ5rYo4c8Zhu/lThghcW8b6+7u4+MeaJNlkDWHlWeXwVkMf4NJ61mXSCWckIfyg6CrGsgbt78qJ18mEvf2yBmQr1TZxi+byzT34thNOoks8NCE7YudmVaLv7UCZyncLltOl3ida24BxVKv0TA==
19
- NEXTAUTH_URL=encrypted:BIsPWaPuZKcIShhWg/mkQ4hAIb5XfJxHq8434VrnPEpqnJMeV9PDvUFd/Ra1sg99z6/dpK49jPCLBjK/Uz0t9AKXUMWNd3f2LgoAViktW/0z8WDRhv7vmSt3TA8vwCWBo09NNweIQovudjbR96xJREShBBIKYA==
18
+ NEXTAUTH_SECRET=encrypted:BE5okc8s1H3DEle7Nb1MQybvn2KcTL2gTf1+Nd513LIRisBPPrxmE53QLV30BB64jkUsvhfC7Lgp22Hv3NL9QjgOttZxiWtVvwQyIVbIHEEdd/ett7mQxSzqw851VbMvy0TUxZ+uWvmsc55vLsy9OzUjGA==
19
+ NEXTAUTH_URL=encrypted:BAx6JGRICeXVikbQhLPuF8v3RyvLhJpA36lcvVMWmbj73YnTX3jLhd7lWYgFoJVFnhtM/0ivfklrWSQW6sTS3iN+8LsQeOW0nR/LwBA9HtpbX9mb4eU8vs0cL0oB/Ev/duDjJdTEYtDgmStrZn+3jnUJw8gdUg==
20
20
 
21
21
  # データベース設定(CI用SQLite/PostgreSQL)
22
- DATABASE_URL="encrypted:BBCXNkJ8IKIWFGCSg/QG1xwAI0NdhSAiOL96KreYtcRPeySngZecHQpHm8LUF3/MvjnyjJMcSBzfiPtDbiaUl4dXxOE8l4z0t+96IfgzOIsXxqy/eQW0qZ3YcZq4L3ioz4+D/jfLPX0BdQ9dh5KLB1KgoT0lydCo4v1jAmQ6Fs/RNQmp42XyKp6o4lNoxQN+BAnmBfASxVzirjLgJ7/JzsFaXRQx6Mo="
22
+ DATABASE_URL="encrypted:BGQiR+EvdBFF0QXCwpexpZX0orPNntDQAUc37se1ZLzalhQrKcAvOZMhtFwGN0CAL21rzLHxmMN7ndiTDfHy9a8hr+Gpgk2sar1miUp+CI5l3VKQFOzgcCIe9uGoHIYU/p5yYSh9ROL6HBhCTCPlqe5Jyz+md9nkNhApqyedHmdmK5Vr5yC5cmEWltG2Krj/WBDw4hAkIST+Vzh355ZS3QT5oBVr53c="
23
23
 
24
24
  # アプリケーション設定
25
- NODE_ENV=encrypted:BGqfAinM4i1q4jyFHGgDieBnatHXGHLbMsC16tSgMdHLCrnPSsdCS3xddycesRH/jQYR2+pbyAstYbhhL87dDiTXcr66/5QHSVkCSZYzf3Ud/abIT82GqXuvgiLDvlum9YhFNEw=
25
+ NODE_ENV=encrypted:BMz9t7QSXJ+dMA5otX1d9bLq/2JR4/j4QwAsCmfiPXtUfwANtPlyigFGcq9fCOdtmTZ5pHgKtGFsO3LQ8JmTgutx9dj0IeeVnFFaVKkEBhsrBzIsrnm4kAgvtA/PqwGXeNT5UE0=
26
+
27
+ VERCEL_TOKEN=
28
+ VERCEL_ORG_ID=
29
+ VERCEL_WEB_PROJECT_ID_WEB=
30
+
31
+ TURBO_TOKEN=encrypted:BCX+8GLR1/VqhVW3JzqOXHP8JD6PjQhkodGY3W3gDzz64H/kI2HRQyBviTa7x5gsjXF7FqggzxZ/zkC//ixrFlvLQa1beC/5odd8rBEvs+ZGHWEeLG8c5XxudVsTsHIWjA==
32
+ TURBO_TEAM=encrypted:BMSAczdJn8VnXxSvrIqn38ubQ334pbFtFyeKkmK2995mvj7B17YE5oCYmKIUxQdzkbD7NWLhOrjTkAqAXODpxVxi9JGjy8T2d7a8F6lurz7AY84jVY3tlcuYKWyw2RIrOA==
@@ -0,0 +1,25 @@
1
+ #/-------------------[DOTENV_PUBLIC_KEY]--------------------/
2
+ #/ public-key encryption for .env files /
3
+ #/ [how it works](https://dotenvx.com/encryption) /
4
+ #/----------------------------------------------------------/
5
+ DOTENV_PUBLIC_KEY_PREVIEW="02c67d6a9b0801daaa8da8b6551ca9926caaabe66bc026eef21fe2978fee7885a1"
6
+
7
+ # .env.preview
8
+ # ============================================
9
+ # Preview Environment
10
+ # ============================================
11
+ # プレビュー環境用
12
+ # dotenvxで暗号化されます
13
+ #
14
+ # 編集方法: pnpm env:update → 「環境設定を変更」→「プレビュー環境」
15
+ # ============================================
16
+
17
+ # NextAuth設定
18
+ NEXTAUTH_SECRET=encrypted:BMKN/5u9wfDSKiM59bDYhUGJWXsfx8WK0gjBQh7lrUc3fJQq8xUU3V9nIquJp6ItgdsaLxnbYfDHDIMatqZMHywPjrRLLYjlwM3PgOQd8eyO7I5USMVoIi0zJ8OzxThFxtnRCciibEPZdc77p4hvUOd2oVJffQEVXaCFUKA=
19
+ NEXTAUTH_URL=encrypted:BKfwQ8NiyWCxEY3KbCkt7HylNjt2fSbzDqba46P2HXLqCrj/3fZFc9M/p29ZhQ6EiXPzsT9ULfCZwCaRA1+FmQDE5aejR4vAad5csHbozTnFJgkMmigeHpKbLJK0nhQjIQ==
20
+
21
+ # データベース設定
22
+ DATABASE_URL="encrypted:BFLDc6fRsdz0mfkrXWFk3p2ECSzyaTHea4IC3gSJ90uTaAPwc02JYnI5MMmj1iJFFyxgIs8gLrmINxl1dP2KYW/QnvgmqEl/cIRq1jwmFnRPLLU4Amv/AGGtmGyau9XICJgaWv3w2t8nAiPDgmZpz1cdeHXA563Qx0YJovzW3CJgWaga/sFerRUXyaQGLRy0+8r5uasBJAAWw4tn27ZlwIhsLLNVTC+kBz5EnVx+BeReEb0="
23
+
24
+ # アプリケーション設定
25
+ NODE_ENV=encrypted:BBJfTcYKXYjk8LsfO1qSdICzPMxhTHSg9aDFb+udaIFwAQxuIGMOrARuG2gPMv0+e8338j0NAdXdqbd2XWfD0XwYHWD3csBn7IT5aDdSZDduX23NHb6ONFSzsgUv3P9PKEBTRV4EXI4Dk0Y=
@@ -2,7 +2,6 @@ name: CI
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [main]
6
5
  pull_request:
7
6
  branches: [main]
8
7
 
@@ -50,3 +49,76 @@ jobs:
50
49
 
51
50
  - name: Run tests
52
51
  run: pnpm test
52
+
53
+ deploy-web:
54
+ needs: test
55
+ if: github.event_name == 'push'
56
+ runs-on: ubuntu-latest
57
+ env:
58
+ DOTENV_PRIVATE_KEY_CI: ${{ secrets.DOTENV_PRIVATE_KEY_CI }}
59
+ steps:
60
+ - name: Checkout code
61
+ uses: actions/checkout@v4
62
+
63
+ - name: Setup pnpm
64
+ uses: pnpm/action-setup@v4
65
+ with:
66
+ version: 10.14.0
67
+
68
+ - name: Setup Node.js
69
+ uses: actions/setup-node@v4
70
+ with:
71
+ node-version: '22.16.0'
72
+ cache: 'pnpm'
73
+
74
+ - name: Install dependencies
75
+ run: pnpm install --frozen-lockfile
76
+
77
+ - name: Install Vercel CLI
78
+ run: pnpm add -g vercel@latest
79
+
80
+ - name: Resolve deploy environment
81
+ id: deploy_env
82
+ run: |
83
+ BRANCH="${GITHUB_REF_NAME}"
84
+ if [ "$BRANCH" = "main" ]; then
85
+ echo "vercel_env=production" >> "$GITHUB_OUTPUT"
86
+ echo "dotenv_file=../../.env.production" >> "$GITHUB_OUTPUT"
87
+ echo "vercel_args=--prod" >> "$GITHUB_OUTPUT"
88
+ elif [ "$BRANCH" = "staging" ]; then
89
+ echo "vercel_env=preview" >> "$GITHUB_OUTPUT"
90
+ echo "dotenv_file=../../.env.staging" >> "$GITHUB_OUTPUT"
91
+ echo "vercel_args=" >> "$GITHUB_OUTPUT"
92
+ elif [ "$BRANCH" = "develop" ]; then
93
+ echo "vercel_env=preview" >> "$GITHUB_OUTPUT"
94
+ echo "dotenv_file=../../.env.development" >> "$GITHUB_OUTPUT"
95
+ echo "vercel_args=" >> "$GITHUB_OUTPUT"
96
+ else
97
+ echo "vercel_env=preview" >> "$GITHUB_OUTPUT"
98
+ echo "dotenv_file=../../.env.preview" >> "$GITHUB_OUTPUT"
99
+ echo "vercel_args=" >> "$GITHUB_OUTPUT"
100
+ fi
101
+
102
+ - name: Pull Vercel Environment Information
103
+ run: |
104
+ npx dotenvx run -f ../../.env.ci -- \
105
+ vercel pull --yes --environment=${{ steps.deploy_env.outputs.vercel_env }}
106
+ working-directory: apps/web
107
+
108
+ - name: Build Project Artifacts
109
+ run: |
110
+ npx dotenvx run -f ../../.env.ci -f ${{ steps.deploy_env.outputs.dotenv_file }} -- \
111
+ vercel build ${{ steps.deploy_env.outputs.vercel_args }}
112
+ working-directory: apps/web
113
+ env:
114
+ DOTENV_PRIVATE_KEY_CI: ${{ secrets.DOTENV_PRIVATE_KEY_CI }}
115
+ DOTENV_PRIVATE_KEY_DEVELOPMENT: ${{ secrets.DOTENV_PRIVATE_KEY_DEVELOPMENT }}
116
+ DOTENV_PRIVATE_KEY_STAGING: ${{ secrets.DOTENV_PRIVATE_KEY_STAGING }}
117
+ DOTENV_PRIVATE_KEY_PREVIEW: ${{ secrets.DOTENV_PRIVATE_KEY_PREVIEW }}
118
+ DOTENV_PRIVATE_KEY_PRODUCTION: ${{ secrets.DOTENV_PRIVATE_KEY_PRODUCTION }}
119
+
120
+ - name: Deploy to Vercel
121
+ run: |
122
+ npx dotenvx run -f ../../.env.ci -- \
123
+ vercel deploy --prebuilt ${{ steps.deploy_env.outputs.vercel_args }}
124
+ working-directory: apps/web
@@ -46,6 +46,9 @@
46
46
  - Day-to-day dev flow and checkpoints: `docs/einja/steering/development-workflow.md`.
47
47
  - System overview and major boundaries: `docs/einja/steering/architecture.md`.
48
48
  - Environment variable policy and storage: `docs/einja/steering/infrastructure/environment-variables.md`.
49
+ - Publishing guidance:
50
+ - `create-einja-app`: `packages/create-einja-app/RELEASING.md`.
51
+ - `dev-cli`: `packages/cli/RELEASING.md` and `packages/cli/docs/PUBLISHING.md`.
49
52
 
50
53
  ## Security & Configuration Tips
51
54
  - Manage env files via `pnpm env:update`; encrypted secrets require `.env.keys`.
@@ -1,6 +1,11 @@
1
1
  import { baseAuthOptions, mergeAuthOptions } from "{{packageName}}/front-core/auth";
2
2
  import NextAuth from "next-auth";
3
3
 
4
+ if (!process.env.NEXTAUTH_URL && process.env.VERCEL_URL) {
5
+ // Preview deployments use branch-specific URLs on Vercel.
6
+ process.env.NEXTAUTH_URL = `https://${process.env.VERCEL_URL}`;
7
+ }
8
+
4
9
  /**
5
10
  * アプリ固有のNextAuth設定
6
11
  * baseAuthOptionsを拡張してアプリ固有の設定を追加
@@ -25,6 +25,7 @@ const ENVIRONMENTS: EnvironmentConfig[] = [
25
25
  { name: "local", file: ".env.local", privateKeyEnv: "DOTENV_PRIVATE_KEY_LOCAL" },
26
26
  { name: "development", file: ".env.development", privateKeyEnv: "DOTENV_PRIVATE_KEY_DEVELOPMENT" },
27
27
  { name: "staging", file: ".env.staging", privateKeyEnv: "DOTENV_PRIVATE_KEY_STAGING" },
28
+ { name: "preview", file: ".env.preview", privateKeyEnv: "DOTENV_PRIVATE_KEY_PREVIEW" },
28
29
  { name: "production", file: ".env.production", privateKeyEnv: "DOTENV_PRIVATE_KEY_PRODUCTION" },
29
30
  { name: "ci", file: ".env.ci", privateKeyEnv: "DOTENV_PRIVATE_KEY_CI" },
30
31
  ];
@@ -45,6 +45,12 @@ export const ENVIRONMENTS: EnvironmentConfig[] = [
45
45
  privateKeyEnv: "DOTENV_PRIVATE_KEY_STAGING",
46
46
  description: "ステージング環境",
47
47
  },
48
+ {
49
+ name: "preview",
50
+ file: ".env.preview",
51
+ privateKeyEnv: "DOTENV_PRIVATE_KEY_PREVIEW",
52
+ description: "プレビュー環境",
53
+ },
48
54
  {
49
55
  name: "production",
50
56
  file: ".env.production",