@ankhorage/templates 1.9.2 → 2.1.0
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/CHANGELOG.md +12 -0
- package/README.md +19 -178
- package/dist/generators/create-category-app.d.ts +1 -1
- package/dist/generators/create-category-app.d.ts.map +1 -1
- package/dist/generators/create-category-app.js +2 -1
- package/dist/generators/create-category-app.js.map +1 -1
- package/dist/internal/defaults.d.ts +1 -1
- package/dist/internal/defaults.d.ts.map +1 -1
- package/dist/internal/defaults.js +5 -11
- package/dist/internal/defaults.js.map +1 -1
- package/dist/templates/starter/categories/business-productivity/urban-water-monitor/template.d.ts.map +1 -1
- package/dist/templates/starter/categories/business-productivity/urban-water-monitor/template.js +13 -5
- package/dist/templates/starter/categories/business-productivity/urban-water-monitor/template.js.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/template.d.ts.map +1 -1
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/template.js +0 -14
- package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/template.js.map +1 -1
- package/package.json +10 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ankhorage/templates
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- cbf1c5a: Emit the canonical `infra.secretStore.provider = "supabase-vault"` selection from one shared Supabase infra preset across every generated first-party category manifest.
|
|
8
|
+
|
|
9
|
+
## 2.0.0
|
|
10
|
+
|
|
11
|
+
### Major Changes
|
|
12
|
+
|
|
13
|
+
- 7a1d9ad: Generate authentication flow only under `infra.auth.flow`, resolve default OAuth routes through the contracts helper, remove implicit authorization from first-party templates, and reject reintroduction of `settings.authFlow`.
|
|
14
|
+
|
|
3
15
|
## 1.9.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,186 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
<!-- markdownlint-disable MD013 MD033 -->
|
|
2
|
+
<!-- This file is generated by Paradox. Do not edit manually. -->
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
# TEMPLATES
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
        
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
template catalog.
|
|
8
|
+
Reusable Ankhorage app templates, presets, and manifest generators.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## Installation
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
|
|
14
|
-
ankh templates list --category games
|
|
15
|
-
|
|
16
|
-
ankh templates inspect games/chess
|
|
17
|
-
|
|
18
|
-
ankh templates create my-app --template games/chess
|
|
19
|
-
|
|
20
|
-
bunx @ankhorage/templates list
|
|
21
|
-
bunx @ankhorage/templates inspect games/chess
|
|
22
|
-
bunx @ankhorage/templates create my-app --template games/chess
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Canonical selector syntax is strict:
|
|
26
|
-
|
|
27
|
-
- use `<category>/<templateId>`
|
|
28
|
-
- examples: `games/default`, `games/chess`, `social_community/creator`
|
|
29
|
-
- `create` and `inspect` reject bare ids like `chess`
|
|
30
|
-
- CLI/provider commands do not silently fall back from invalid selectors
|
|
31
|
-
|
|
32
|
-
`create` is manifest-first only in this package. It writes:
|
|
33
|
-
|
|
34
|
-
```txt
|
|
35
|
-
my-app/
|
|
36
|
-
ankh.config.json
|
|
37
|
-
ankh.template.json
|
|
38
|
-
README.md
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
It does not scaffold a full runnable app/workspace, install dependencies, or depend on Studio.
|
|
42
|
-
Root-level `ankh create ...` remains a later composition concern outside this package.
|
|
43
|
-
|
|
44
|
-
## Usage
|
|
45
|
-
|
|
46
|
-
```ts
|
|
47
|
-
import {
|
|
48
|
-
createCategoryAppManifest,
|
|
49
|
-
createStarterTemplate,
|
|
50
|
-
listStarterTemplatesByCategory,
|
|
51
|
-
} from '@ankhorage/templates';
|
|
52
|
-
|
|
53
|
-
const manifest = createCategoryAppManifest('social_community');
|
|
54
|
-
|
|
55
|
-
const creatorManifest = createStarterTemplate(seed, {
|
|
56
|
-
templateId: 'creator',
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
const gameTemplates = listStarterTemplatesByCategory('games');
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Category Starter Templates
|
|
63
|
-
|
|
64
|
-
Starter templates are category-aware. A category can expose one or more template variants.
|
|
65
|
-
For example, `social_community` provides a default community starter and a `creator`
|
|
66
|
-
starter, while `games` provides the default quest-loop starter and a `chess` starter.
|
|
67
|
-
|
|
68
|
-
Use `listStarterTemplatesByCategory(category)` when an editor or generator needs a selectable
|
|
69
|
-
list for one category. It returns summaries only, not factories:
|
|
70
|
-
|
|
71
|
-
```ts
|
|
72
|
-
const templates = listStarterTemplatesByCategory('games');
|
|
73
|
-
// [
|
|
74
|
-
// { id: 'default', category: 'games', label: 'Quest loop', ... },
|
|
75
|
-
// { id: 'chess', category: 'games', label: 'Chess', ... },
|
|
76
|
-
// ]
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Use `listStarterTemplateSummaries()` when a tool needs all registered starter choices.
|
|
80
|
-
|
|
81
|
-
Default resolution is deterministic:
|
|
82
|
-
|
|
83
|
-
- no `templateId` selects `default`
|
|
84
|
-
- an unknown template id falls back to that category's `default`
|
|
85
|
-
- an unregistered category falls back to `fallback/default`
|
|
86
|
-
|
|
87
|
-
The generated manifest includes category-specific routes, screens, copy, and route icons.
|
|
88
|
-
Icons use the existing route `icon: IconSpec` property from `@ankhorage/contracts`:
|
|
89
|
-
|
|
90
|
-
```ts
|
|
91
|
-
{
|
|
92
|
-
name: 'groups',
|
|
93
|
-
screenId: 'social_community-community-starter-groups',
|
|
94
|
-
label: 'Groups',
|
|
95
|
-
icon: { provider: 'material-community', name: 'account-group-outline' },
|
|
96
|
-
}
|
|
13
|
+
bunx @ankhorage/templates
|
|
97
14
|
```
|
|
98
15
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
| `business_productivity` | `drawer` | Dashboard · Projects · Tasks · Calendar · Reports · Settings | `view-dashboard-outline` · `folder-multiple-outline` · `clipboard-check-outline` · `calendar-month-outline` · `chart-box-outline` · `cog-outline` |
|
|
112
|
-
| `developer_tools` | `drawer` | Dashboard · Builds · Incidents · Environments · Deployments · Settings | `view-dashboard-outline` · `hammer-wrench` · `alert-circle-outline` · `server-network` · `rocket-launch-outline` · `cog-outline` |
|
|
113
|
-
| `education_learning` | `tabs` | Courses · Study · Practice · Progress · Profile | `book-education-outline` · `school-outline` · `pencil-box-outline` · `chart-line` · `account-circle-outline` |
|
|
114
|
-
| `entertainment_media` | `tabs` | Discover · Watchlist · Now · Library · Profile | `compass-outline` · `bookmark-outline` · `play-circle-outline` · `movie-open-outline` · `account-circle-outline` |
|
|
115
|
-
| `finance_money` | `tabs` | Overview · Accounts · Transactions · Budget · Insights | `view-dashboard-outline` · `bank-outline` · `swap-horizontal` · `wallet-outline` · `chart-donut` |
|
|
116
|
-
| `food_drink` | `tabs` | Discover · Menu · Reservations · Orders · Profile | `silverware-fork-knife` · `book-open-page-variant-outline` · `calendar-clock-outline` · `receipt-text-outline` · `account-heart-outline` |
|
|
117
|
-
| `games` | `tabs` | Home · Quests · Inventory · Friends · Profile | `gamepad-variant-outline` · `flag-outline` · `treasure-chest-outline` · `account-multiple-outline` · `account-circle-outline` |
|
|
118
|
-
| `graphics_design` | `drawer` | Dashboard · Briefs · Assets · Reviews · Brand · Settings | `view-dashboard-outline` · `file-document-outline` · `image-multiple-outline` · `comment-check-outline` · `palette-outline` · `cog-outline` |
|
|
119
|
-
| `health_fitness` | `tabs` | Today · Plans · Progress · Coach · Profile | `calendar-today-outline` · `clipboard-list-outline` · `chart-line` · `message-processing-outline` · `account-circle-outline` |
|
|
120
|
-
| `kids_family` | `tabs` | Home · Routines · Discover · Favorites · Parents | `home-outline` · `calendar-check-outline` · `compass-outline` · `heart-outline` · `shield-account-outline` |
|
|
121
|
-
| `lifestyle` | `tabs` | Dashboard · Collections · Plans · Explore · Profile | `view-dashboard-outline` · `bookmark-multiple-outline` · `calendar-star` · `compass-outline` · `account-circle-outline` |
|
|
122
|
-
| `medical` | `tabs` | Appointments · Care Team · Records · Messages · Profile | `calendar-check-outline` · `account-heart-outline` · `file-document-outline` · `message-processing-outline` · `account-circle-outline` |
|
|
123
|
-
| `music_audio` | `tabs` | Home · Search · Library · Player · Profile | `music-note-outline` · `magnify` · `playlist-music-outline` · `play-circle-outline` · `account-circle-outline` |
|
|
124
|
-
| `navigation_travel` | `tabs` | Destinations · Itinerary · Bookings · Map · Profile | `map-marker-outline` · `timeline-outline` · `ticket-outline` · `map-outline` · `account-circle-outline` |
|
|
125
|
-
| `news_magazines` | `tabs` | Headlines · Topics · Saved · Search · Profile | `newspaper-variant-outline` · `tag-multiple-outline` · `bookmark-outline` · `magnify` · `account-circle-outline` |
|
|
126
|
-
| `photo_video` | `tabs` | Capture · Library · Edit · Share · Profile | `camera-outline` · `image-multiple-outline` · `movie-edit-outline` · `share-variant-outline` · `account-circle-outline` |
|
|
127
|
-
| `reference` | `drawer` | Browse · Search · Categories · Saved · History · Settings | `book-open-variant` · `magnify` · `shape-outline` · `bookmark-outline` · `clock-outline` · `cog-outline` |
|
|
128
|
-
| `shopping_commerce` | `tabs` | Browse · Search · Sell · Orders · Profile | `shopping-outline` · `magnify` · `store-plus-outline` · `package-variant-closed` · `account-circle-outline` |
|
|
129
|
-
| `social_community` | `tabs` | Feed · Groups · Messages · Profile · Settings | `newspaper-variant-outline` · `account-group-outline` · `message-text-outline` · `account-circle-outline` · `cog-outline` |
|
|
130
|
-
| `sports` | `tabs` | Scores · Schedule · Standings · Teams · Profile | `scoreboard-outline` · `calendar-month-outline` · `format-list-numbered` · `soccer-field` · `account-circle-outline` |
|
|
131
|
-
| `utilities_tools` | `drawer` | Dashboard · Tools · Shortcuts · Storage · Diagnostics · Settings | `view-dashboard-outline` · `wrench-outline` · `lightning-bolt-outline` · `folder-multiple-outline` · `stethoscope` · `cog-outline` |
|
|
132
|
-
| `weather` | `tabs` | Now · Forecast · Alerts · Locations | `weather-partly-cloudy` · `weather-cloudy-clock` · `weather-cloudy-alert` · `map-marker-outline` |
|
|
133
|
-
|
|
134
|
-
The fallback template remains available and is used only for unknown runtime category strings:
|
|
135
|
-
|
|
136
|
-
- `fallback/default`: Home · Details · Settings (stack)
|
|
137
|
-
|
|
138
|
-
Additional variants:
|
|
139
|
-
|
|
140
|
-
- `business_productivity/urban-water-monitor`: Project. This urban water monitoring concept
|
|
141
|
-
starter uses a single `project` route and keeps API strategy as Project screen copy only.
|
|
142
|
-
- `games/chess`: Home · Settings. The Home screen renders a `ChessBoard` node with a static
|
|
143
|
-
initial FEN and requires generated apps to provide `@ankhorage/zora-chess` through their
|
|
144
|
-
extension registry.
|
|
145
|
-
- `food_drink/nutrition-catalog-scan`: Products · Scan · Stats · Profile. This restricted product
|
|
146
|
-
barcode nutrition scanner starter uses `infra.auth.scope = "global"`, Supabase auth, native
|
|
147
|
-
RBAC, and an app-facing `profiles` table. Generated apps should keep identity in Supabase Auth,
|
|
148
|
-
browse products through `GET /products`, look up barcodes through
|
|
149
|
-
`GET /products/by-barcode/:barcode`, create missing products through `POST /products`, and
|
|
150
|
-
handle duplicate barcode conflicts by opening the existing product id. Native barcode scanning
|
|
151
|
-
can use an app camera adapter such as `expo-camera`, while visible scanner and permission UI
|
|
152
|
-
should use ZORA scanner primitives.
|
|
153
|
-
- `social_community/creator`: Studio · Posts · Audience · Insights · Settings
|
|
154
|
-
|
|
155
|
-
Only categories that exist in `AppCategory` are registered. New category literals should be added
|
|
156
|
-
in `@ankhorage/contracts` before this package registers templates for them.
|
|
157
|
-
|
|
158
|
-
## Adding A Category Template
|
|
159
|
-
|
|
160
|
-
Add category-owned default files under `src/templates/starter/categories/<category>/`:
|
|
161
|
-
|
|
162
|
-
- `content.ts` for category-specific copy and placeholder data
|
|
163
|
-
- `routes.ts` for route names, labels, screen ids, and icons
|
|
164
|
-
- `screens.ts` for ZORA node trees
|
|
165
|
-
- `default.template.ts` for manifest assembly
|
|
166
|
-
- `index.ts` for `CategoryStarterTemplateDefinition` metadata
|
|
167
|
-
|
|
168
|
-
Add named non-default variants in their own folder:
|
|
169
|
-
|
|
170
|
-
- `src/templates/starter/categories/<category>/<template-id>/content.ts`
|
|
171
|
-
- `src/templates/starter/categories/<category>/<template-id>/routes.ts`
|
|
172
|
-
- `src/templates/starter/categories/<category>/<template-id>/screens.ts`
|
|
173
|
-
- `src/templates/starter/categories/<category>/<template-id>/template.ts`
|
|
174
|
-
- `src/templates/starter/categories/<category>/<template-id>/index.ts`
|
|
175
|
-
|
|
176
|
-
Register the category in `src/templates/starter/starter.registry.ts`. Keep shared behavior in
|
|
177
|
-
`src/templates/shared/*`; category wording and navigation should stay inside the category folder.
|
|
178
|
-
|
|
179
|
-
## Verification
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
bun run typecheck
|
|
183
|
-
bun run build
|
|
184
|
-
bun run lint
|
|
185
|
-
bun run test
|
|
186
|
-
```
|
|
16
|
+
## Generated documentation
|
|
17
|
+
|
|
18
|
+
- [Interactive documentation app](././docs/index.html)
|
|
19
|
+
- [Public API reference](././docs/exports.md)
|
|
20
|
+
- [Component registry](././docs/components.md)
|
|
21
|
+
- [Architecture overview](././docs/diagrams/architecture-overview.mmd)
|
|
22
|
+
- [Module relationships](././docs/diagrams/module-relationships.mmd)
|
|
23
|
+
- [Export graph](././docs/diagrams/export-graph.mmd)
|
|
24
|
+
- [ankhorage-templates sequence](././docs/diagrams/sequences/ankhorage-templates.mmd)
|
|
25
|
+
- [createStarterTemplate sequence](././docs/diagrams/sequences/create-starter-template.mmd)
|
|
26
|
+
- [listStarterTemplatesByCategory sequence](././docs/diagrams/sequences/list-starter-templates-by-category.mmd)
|
|
27
|
+
- [resolveStarterTemplate sequence](././docs/diagrams/sequences/resolve-starter-template.mmd)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AppCategory, type AppManifest } from '@ankhorage/contracts';
|
|
2
2
|
import type { AppManifestOverrides } from '../internal/overrides';
|
|
3
3
|
import { type TemplateKind } from '../templates/starter';
|
|
4
4
|
export declare function createCategoryAppManifest(category: AppCategory, template?: TemplateKind, overrides?: AppManifestOverrides): AppManifest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-category-app.d.ts","sourceRoot":"","sources":["../../src/generators/create-category-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"create-category-app.d.ts","sourceRoot":"","sources":["../../src/generators/create-category-app.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAIjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAQlE,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AA2HhF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,WAAW,EACrB,QAAQ,GAAE,YAAwB,EAClC,SAAS,CAAC,EAAE,oBAAoB,GAC/B,WAAW,CAGb"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveAuthFlow, } from '@ankhorage/contracts';
|
|
1
2
|
import { mergeAppManifest } from '../internal/merge';
|
|
2
3
|
import { CATEGORY_PRESETS } from '../presets/category-presets';
|
|
3
4
|
import { createScreen } from '../templates/shared/screen';
|
|
@@ -47,7 +48,7 @@ function addProviderEntryScreen(manifest) {
|
|
|
47
48
|
providers.length === 0) {
|
|
48
49
|
return manifest;
|
|
49
50
|
}
|
|
50
|
-
const screenId = manifest.
|
|
51
|
+
const screenId = resolveAuthFlow(manifest.infra.auth.flow).signInRoute;
|
|
51
52
|
if (manifest.screens[screenId] !== undefined) {
|
|
52
53
|
return manifest;
|
|
53
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-category-app.js","sourceRoot":"","sources":["../../src/generators/create-category-app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-category-app.js","sourceRoot":"","sources":["../../src/generators/create-category-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AppManifest, type InfraManifest } from '@ankhorage/contracts';
|
|
2
2
|
export declare const DEFAULT_TEMPLATE_VERSION = "1.0.0";
|
|
3
3
|
export declare const DEFAULT_THEME_ID = "default";
|
|
4
4
|
export declare const DEFAULT_THEME_NAME = "Default";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/internal/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/internal/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAqB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/F,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAChD,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAC1C,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,UAAU,EAAE,aAoCxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,UAAU,CAKjD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_AUTH_FLOW } from '@ankhorage/contracts';
|
|
1
2
|
export const DEFAULT_TEMPLATE_VERSION = '1.0.0';
|
|
2
3
|
export const DEFAULT_THEME_ID = 'default';
|
|
3
4
|
export const DEFAULT_THEME_NAME = 'Default';
|
|
@@ -10,6 +11,9 @@ export const BASE_INFRA = {
|
|
|
10
11
|
provider: 'auto',
|
|
11
12
|
buckets: ['media'],
|
|
12
13
|
},
|
|
14
|
+
secretStore: {
|
|
15
|
+
provider: 'supabase-vault',
|
|
16
|
+
},
|
|
13
17
|
deployment: {
|
|
14
18
|
target: 'minikube',
|
|
15
19
|
monitoring: false,
|
|
@@ -17,10 +21,7 @@ export const BASE_INFRA = {
|
|
|
17
21
|
auth: {
|
|
18
22
|
provider: 'supabase',
|
|
19
23
|
scope: 'global',
|
|
20
|
-
|
|
21
|
-
kind: 'ABAC',
|
|
22
|
-
engine: 'cerbos',
|
|
23
|
-
},
|
|
24
|
+
flow: { ...DEFAULT_AUTH_FLOW },
|
|
24
25
|
signIn: {
|
|
25
26
|
identifiers: ['email'],
|
|
26
27
|
},
|
|
@@ -39,13 +40,6 @@ export const BASE_INFRA = {
|
|
|
39
40
|
plugins: [],
|
|
40
41
|
};
|
|
41
42
|
export const BASE_SETTINGS = {
|
|
42
|
-
authFlow: {
|
|
43
|
-
unauthorizedRoute: 'sign-in',
|
|
44
|
-
signInRoute: 'sign-in',
|
|
45
|
-
signUpRoute: 'sign-up',
|
|
46
|
-
signOutRoute: 'sign-out',
|
|
47
|
-
postSignInRoute: 'index',
|
|
48
|
-
},
|
|
49
43
|
localization: {
|
|
50
44
|
defaultLocale: 'en',
|
|
51
45
|
locales: ['en'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/internal/defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/internal/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAsB,MAAM,sBAAsB,CAAC;AAE/F,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,KAAK;KACZ;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,CAAC,OAAO,CAAC;KACnB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,gBAAgB;KAC3B;IACD,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,KAAK;KAClB;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE;QAC9B,MAAM,EAAE;YACN,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB;QACD,MAAM,EAAE;YACN,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YACrC,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;YACzC,YAAY,EAAE,YAAY;SAC3B;QACD,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC;SAC3C;KACF;IACD,UAAU,EAAE;QACV,GAAG,EAAE,KAAK;KACX;IACD,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,YAAY,EAAE;QACZ,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,CAAC,IAAI,CAAC;KAChB;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/business-productivity/urban-water-monitor/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/business-productivity/urban-water-monitor/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CA8BtF"}
|
package/dist/templates/starter/categories/business-productivity/urban-water-monitor/template.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveAuthFlow } from '@ankhorage/contracts/auth';
|
|
1
2
|
import { DEFAULT_TEMPLATE_VERSION } from '../../../../../internal/defaults';
|
|
2
3
|
import { createManifestShell, createTheme } from '../../../../shared';
|
|
3
4
|
import { createUrbanWaterMonitorNavigator, createUrbanWaterMonitorScreenIds } from './routes';
|
|
@@ -13,13 +14,20 @@ export function createUrbanWaterMonitorStarterTemplate(seed) {
|
|
|
13
14
|
navigator: createUrbanWaterMonitorNavigator(screenIds),
|
|
14
15
|
screens: createUrbanWaterMonitorScreens(idPrefix, screenIds),
|
|
15
16
|
});
|
|
17
|
+
const auth = manifest.infra.auth;
|
|
18
|
+
if (auth === undefined) {
|
|
19
|
+
return manifest;
|
|
20
|
+
}
|
|
16
21
|
return {
|
|
17
22
|
...manifest,
|
|
18
|
-
|
|
19
|
-
...manifest.
|
|
20
|
-
|
|
21
|
-
...
|
|
22
|
-
|
|
23
|
+
infra: {
|
|
24
|
+
...manifest.infra,
|
|
25
|
+
auth: {
|
|
26
|
+
...auth,
|
|
27
|
+
flow: {
|
|
28
|
+
...resolveAuthFlow(auth.flow),
|
|
29
|
+
postSignInRoute: 'index',
|
|
30
|
+
},
|
|
23
31
|
},
|
|
24
32
|
},
|
|
25
33
|
};
|
package/dist/templates/starter/categories/business-productivity/urban-water-monitor/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/business-productivity/urban-water-monitor/template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/business-productivity/urban-water-monitor/template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,UAAU,sCAAsC,CAAC,IAAkB;IACvE,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,sBAAsB,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACnC,IAAI;QACJ,KAAK;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,wBAAwB;QACjD,SAAS,EAAE,gCAAgC,CAAC,SAAS,CAAC;QACtD,OAAO,EAAE,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC;KAC7D,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,KAAK;YACjB,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,IAAI,EAAE;oBACJ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC7B,eAAe,EAAE,OAAO;iBACzB;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/templates/starter/categories/food-drink/nutrition-catalog-scan/template.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CA8CzF"}
|
|
@@ -26,10 +26,6 @@ export function createNutritionCatalogScanStarterTemplate(seed) {
|
|
|
26
26
|
auth: {
|
|
27
27
|
scope: 'global',
|
|
28
28
|
provider: 'supabase',
|
|
29
|
-
authorization: {
|
|
30
|
-
kind: 'RBAC',
|
|
31
|
-
engine: 'native',
|
|
32
|
-
},
|
|
33
29
|
flow: {
|
|
34
30
|
signInRoute: 'sign-in',
|
|
35
31
|
signUpRoute: 'sign-up',
|
|
@@ -53,16 +49,6 @@ export function createNutritionCatalogScanStarterTemplate(seed) {
|
|
|
53
49
|
},
|
|
54
50
|
},
|
|
55
51
|
},
|
|
56
|
-
settings: {
|
|
57
|
-
...manifest.settings,
|
|
58
|
-
authFlow: {
|
|
59
|
-
signInRoute: 'sign-in',
|
|
60
|
-
signUpRoute: 'sign-up',
|
|
61
|
-
signOutRoute: 'sign-out',
|
|
62
|
-
postSignInRoute: '/products',
|
|
63
|
-
unauthorizedRoute: 'sign-in',
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
52
|
};
|
|
67
53
|
}
|
|
68
54
|
//# sourceMappingURL=template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,mCAAmC,EAAE,mCAAmC,EAAE,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAC;AAE9D,MAAM,UAAU,yCAAyC,CAAC,IAAkB;IAC1E,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,yBAAyB,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACnC,IAAI;QACJ,KAAK;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,wBAAwB;QACjD,SAAS,EAAE,mCAAmC,CAAC,SAAS,CAAC;QACzD,OAAO,EAAE,iCAAiC,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;KACtE,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,kCAAkC,CAAC,QAAQ,CAAC;QAC1D,WAAW,EAAE,qCAAqC,EAAE;QACpD,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,KAAK;YACjB,IAAI,EAAE;gBACJ,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,UAAU;gBACpB,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../../src/templates/starter/categories/food-drink/nutrition-catalog-scan/template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,mCAAmC,EAAE,mCAAmC,EAAE,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAC;AAE9D,MAAM,UAAU,yCAAyC,CAAC,IAAkB;IAC1E,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,yBAAyB,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACnC,IAAI;QACJ,KAAK;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,wBAAwB;QACjD,SAAS,EAAE,mCAAmC,CAAC,SAAS,CAAC;QACzD,OAAO,EAAE,iCAAiC,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;KACtE,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,kCAAkC,CAAC,QAAQ,CAAC;QAC1D,WAAW,EAAE,qCAAqC,EAAE;QACpD,KAAK,EAAE;YACL,GAAG,QAAQ,CAAC,KAAK;YACjB,IAAI,EAAE;gBACJ,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE;oBACJ,WAAW,EAAE,SAAS;oBACtB,WAAW,EAAE,SAAS;oBACtB,YAAY,EAAE,UAAU;oBACxB,eAAe,EAAE,WAAW;oBAC5B,iBAAiB,EAAE,SAAS;iBAC7B;gBACD,MAAM,EAAE;oBACN,WAAW,EAAE,CAAC,OAAO,CAAC;iBACvB;gBACD,MAAM,EAAE;oBACN,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC;oBACpD,YAAY,EAAE,qBAAqB;iBACpC;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;oBAC7C,KAAK,EAAE,UAAU;oBACjB,UAAU,EAAE,YAAY;oBACxB,cAAc,EAAE,SAAS;oBACzB,cAAc,EAAE,KAAK;iBACtB;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/templates",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Reusable Ankhorage app templates, presets, and manifest generators.",
|
|
5
5
|
"homepage": "https://github.com/ankhorage/templates#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -22,7 +22,10 @@
|
|
|
22
22
|
"manifest",
|
|
23
23
|
"app-generator",
|
|
24
24
|
"react-native",
|
|
25
|
-
"expo"
|
|
25
|
+
"expo",
|
|
26
|
+
"supabase",
|
|
27
|
+
"vault",
|
|
28
|
+
"secret-store"
|
|
26
29
|
],
|
|
27
30
|
"sideEffects": false,
|
|
28
31
|
"files": [
|
|
@@ -57,6 +60,9 @@
|
|
|
57
60
|
},
|
|
58
61
|
"scripts": {
|
|
59
62
|
"build": "bun x tsc -p tsconfig.json",
|
|
63
|
+
"changeset": "changeset",
|
|
64
|
+
"changeset:status": "changeset status --since=origin/main",
|
|
65
|
+
"docs": "bunx @ankhorage/paradox@0.1.16 && ankhorage-prettier --write docs README.md",
|
|
60
66
|
"knip": "ankhorage-knip",
|
|
61
67
|
"lint": "ankhorage-eslint . --max-warnings=0",
|
|
62
68
|
"lint:fix": "ankhorage-eslint . --max-warnings=0 --fix",
|
|
@@ -68,12 +74,13 @@
|
|
|
68
74
|
"version-packages": "changeset version"
|
|
69
75
|
},
|
|
70
76
|
"dependencies": {
|
|
71
|
-
"@ankhorage/contracts": "^1.
|
|
77
|
+
"@ankhorage/contracts": "^2.1.0",
|
|
72
78
|
"@ankhorage/zora": "^2.8.0"
|
|
73
79
|
},
|
|
74
80
|
"devDependencies": {
|
|
75
81
|
"@ankhorage/ankh": "^0.4.0",
|
|
76
82
|
"@ankhorage/devtools": "^1.0.6",
|
|
83
|
+
"@ankhorage/paradox": "^0.1.16",
|
|
77
84
|
"@changesets/cli": "^2.31.0",
|
|
78
85
|
"@types/bun": "^1.3.13",
|
|
79
86
|
"@types/node": "^25.2.3",
|