@meadow-studio/platform 0.0.0-stage → 0.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/MeadowPlatform.podspec +17 -0
- package/Package.swift +23 -0
- package/README.md +147 -2
- package/android/build.gradle +42 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/java/app/meadow/platform/MeadowAppRatingPlugin.java +38 -0
- package/dist/cli/commands.d.ts +74 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +1062 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/config.d.ts +123 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +428 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/meadow.d.ts +8 -0
- package/dist/cli/meadow.d.ts.map +1 -0
- package/dist/cli/meadow.js +463 -0
- package/dist/cli/meadow.js.map +1 -0
- package/dist/cli/recipes.d.ts +10 -0
- package/dist/cli/recipes.d.ts.map +1 -0
- package/dist/cli/recipes.js +575 -0
- package/dist/cli/recipes.js.map +1 -0
- package/dist/cli/sync.d.ts +14 -0
- package/dist/cli/sync.d.ts.map +1 -0
- package/dist/cli/sync.js +310 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/cli/templates.d.ts +27 -0
- package/dist/cli/templates.d.ts.map +1 -0
- package/dist/cli/templates.js +1246 -0
- package/dist/cli/templates.js.map +1 -0
- package/dist/cli/website.d.ts +5 -0
- package/dist/cli/website.d.ts.map +1 -0
- package/dist/cli/website.js +262 -0
- package/dist/cli/website.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/notifications.d.ts +119 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/notifications.js +320 -0
- package/dist/notifications.js.map +1 -0
- package/dist/platform.d.ts +163 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +623 -0
- package/dist/platform.js.map +1 -0
- package/dist/purchases.d.ts +88 -0
- package/dist/purchases.d.ts.map +1 -0
- package/dist/purchases.js +296 -0
- package/dist/purchases.js.map +1 -0
- package/dist/ui/app-build.component.d.ts +18 -0
- package/dist/ui/app-build.component.d.ts.map +1 -0
- package/dist/ui/app-build.component.js +56 -0
- package/dist/ui/app-build.component.js.map +1 -0
- package/dist/ui/app-build.model.d.ts +11 -0
- package/dist/ui/app-build.model.d.ts.map +1 -0
- package/dist/ui/app-build.model.js +18 -0
- package/dist/ui/app-build.model.js.map +1 -0
- package/dist/ui/app-links.component.d.ts +14 -0
- package/dist/ui/app-links.component.d.ts.map +1 -0
- package/dist/ui/app-links.component.js +77 -0
- package/dist/ui/app-links.component.js.map +1 -0
- package/dist/ui/app-links.model.d.ts +18 -0
- package/dist/ui/app-links.model.d.ts.map +1 -0
- package/dist/ui/app-links.model.js +17 -0
- package/dist/ui/app-links.model.js.map +1 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +5 -0
- package/dist/ui/index.js.map +1 -0
- package/docs/CLI.md +376 -0
- package/docs/PLATFORM_GUIDE.md +422 -0
- package/docs/POC_FINDINGS.md +218 -0
- package/docs/PROJECT_BRIEF.md +501 -0
- package/docs/RELEASING.md +49 -0
- package/docs/V0.1_PATH.md +310 -0
- package/ios/Sources/MeadowPlatformPlugin/MeadowAppRatingPlugin.swift +39 -0
- package/package.json +89 -4
- package/schema/meadow-config.schema.json +250 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/cli/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MeadowProjectConfig } from './config.js';
|
|
2
|
+
export declare const MEADOW_WEBSITE_MARKER = "website/.meadow-website";
|
|
3
|
+
export declare function websiteConfig(config: MeadowProjectConfig): string;
|
|
4
|
+
export declare function websiteFiles(config: MeadowProjectConfig): ReadonlyMap<string, string>;
|
|
5
|
+
//# sourceMappingURL=website.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../src/cli/website.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAE/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAOjE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BrF"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
export const MEADOW_WEBSITE_MARKER = 'website/.meadow-website';
|
|
2
|
+
export function websiteConfig(config) {
|
|
3
|
+
return `${JSON.stringify({
|
|
4
|
+
name: config.app.name,
|
|
5
|
+
description: config.app.description,
|
|
6
|
+
url: config.links.websiteUrl ?? null,
|
|
7
|
+
supportEmail: config.links.supportEmail ?? 'oestbalmer@gmail.com',
|
|
8
|
+
}, null, 2)}\n`;
|
|
9
|
+
}
|
|
10
|
+
export function websiteFiles(config) {
|
|
11
|
+
return new Map([
|
|
12
|
+
[MEADOW_WEBSITE_MARKER, 'Generated by Meadow Platform. App-owned page content lives in website/src.\n'],
|
|
13
|
+
['website/package.json', `${JSON.stringify({
|
|
14
|
+
name: `${config.app.slug}-website`,
|
|
15
|
+
version: '0.1.0',
|
|
16
|
+
private: true,
|
|
17
|
+
type: 'module',
|
|
18
|
+
scripts: {
|
|
19
|
+
build: 'node scripts/build.mjs',
|
|
20
|
+
check: 'node scripts/build.mjs',
|
|
21
|
+
prestart: 'npm run build',
|
|
22
|
+
start: 'node scripts/serve.mjs',
|
|
23
|
+
},
|
|
24
|
+
engines: { node: '>=24.15 <25' },
|
|
25
|
+
}, null, 2)}\n`],
|
|
26
|
+
['website/site.config.json', websiteConfig(config)],
|
|
27
|
+
['website/README.md', websiteReadme()],
|
|
28
|
+
['website/.gitignore', 'dist/\n'],
|
|
29
|
+
['website/scripts/build.mjs', buildScript()],
|
|
30
|
+
['website/scripts/serve.mjs', serveScript()],
|
|
31
|
+
['website/src/styles.css', siteStyles()],
|
|
32
|
+
['website/src/index.html', pageTemplate('Home', homeContent())],
|
|
33
|
+
['website/src/support/index.html', pageTemplate('Support', supportContent())],
|
|
34
|
+
['website/src/privacy/index.html', pageTemplate('Privacy', privacyContent(config))],
|
|
35
|
+
['website/src/terms/index.html', pageTemplate('Terms', legalContent('Terms of service'))],
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
function websiteReadme() {
|
|
39
|
+
return `# Companion website
|
|
40
|
+
|
|
41
|
+
This is the companion website for the app in the repository root. It has home, support,
|
|
42
|
+
privacy, and terms pages. The privacy page includes a reusable explanation of Meadow's
|
|
43
|
+
Firebase Analytics and Crashlytics consent model. It remains a draft: complete the
|
|
44
|
+
marked publisher, app-data, retention, and hosting details and verify the final native
|
|
45
|
+
configuration before publishing. The terms page is also a draft.
|
|
46
|
+
|
|
47
|
+
Run from this directory:
|
|
48
|
+
|
|
49
|
+
\`\`\`sh
|
|
50
|
+
npm start
|
|
51
|
+
npm run check
|
|
52
|
+
\`\`\`
|
|
53
|
+
|
|
54
|
+
\`npm start\` serves the built site at http://localhost:4300. \`npm run build\` writes
|
|
55
|
+
deployable static files to \`dist/\`. Edit the pages and styles in \`src/\`.
|
|
56
|
+
The root \`meadow.config.json\` owns the planned website URL, app name, description,
|
|
57
|
+
and support email. Run \`meadow sync\` at the repository root after changing it.
|
|
58
|
+
|
|
59
|
+
To use a subdomain such as \`flockbook.meadow-development.app\`, set the
|
|
60
|
+
website base domain during creation or put the complete URL in
|
|
61
|
+
\`meadow.config.json → links.websiteUrl\`. DNS, hosting, TLS, and publication are
|
|
62
|
+
configured separately after the domain is acquired. Add the final support,
|
|
63
|
+
privacy, and terms URLs to the app config only after those pages are ready.
|
|
64
|
+
`;
|
|
65
|
+
}
|
|
66
|
+
function pageTemplate(title, content) {
|
|
67
|
+
return `<!doctype html>
|
|
68
|
+
<html lang="en">
|
|
69
|
+
<head>
|
|
70
|
+
<meta charset="utf-8" />
|
|
71
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
72
|
+
<meta name="robots" content="noindex" />
|
|
73
|
+
<title>${title} · {{APP_NAME}}</title>
|
|
74
|
+
<meta name="description" content="{{APP_DESCRIPTION}}" />
|
|
75
|
+
<link rel="stylesheet" href="/styles.css" />
|
|
76
|
+
</head>
|
|
77
|
+
<body>
|
|
78
|
+
<header class="site-header">
|
|
79
|
+
<a class="brand" href="/">{{APP_NAME}}</a>
|
|
80
|
+
<nav aria-label="Main navigation">
|
|
81
|
+
<a href="/support/">Support</a>
|
|
82
|
+
<a href="/privacy/">Privacy</a>
|
|
83
|
+
<a href="/terms/">Terms</a>
|
|
84
|
+
</nav>
|
|
85
|
+
</header>
|
|
86
|
+
<main>${content}</main>
|
|
87
|
+
<footer><span>{{APP_NAME}}</span><span>Part of Meadow Development</span></footer>
|
|
88
|
+
</body>
|
|
89
|
+
</html>
|
|
90
|
+
`;
|
|
91
|
+
}
|
|
92
|
+
function homeContent() {
|
|
93
|
+
return `
|
|
94
|
+
<section class="hero">
|
|
95
|
+
<p class="eyebrow">A Meadow Development app</p>
|
|
96
|
+
<h1>{{APP_NAME}}</h1>
|
|
97
|
+
<p class="lede">{{APP_DESCRIPTION}}</p>
|
|
98
|
+
<p class="note">This site is being prepared. App details and store links will be added before launch.</p>
|
|
99
|
+
</section>
|
|
100
|
+
`;
|
|
101
|
+
}
|
|
102
|
+
function supportContent() {
|
|
103
|
+
return `
|
|
104
|
+
<section class="page">
|
|
105
|
+
<p class="eyebrow">Help</p>
|
|
106
|
+
<h1>Support for {{APP_NAME}}</h1>
|
|
107
|
+
<p>For questions or help with the app, contact {{SUPPORT_CONTACT}}.</p>
|
|
108
|
+
<p class="note">Replace this draft with app-specific support and data deletion instructions before launch.</p>
|
|
109
|
+
</section>
|
|
110
|
+
`;
|
|
111
|
+
}
|
|
112
|
+
function privacyContent(config) {
|
|
113
|
+
const firebaseSections = config.services.firebase.enabled
|
|
114
|
+
? `
|
|
115
|
+
<section aria-labelledby="analytics-title">
|
|
116
|
+
<h2 id="analytics-title">Optional app analytics</h2>
|
|
117
|
+
<p>With your separate analytics choice, {{APP_NAME}} uses Google Analytics for Firebase to understand how the app is used and improve it. Analytics can process app opens, sessions, app version, device and operating-system details, approximate region, and an identifier for this installation. Depending on the app and platform configuration, it can also record purchase events and device identifiers.</p>
|
|
118
|
+
<p>The app may send additional product events chosen by its developer. <strong>Before publication:</strong> list the actual events and properties sent by this app, and check whether advertising identifiers or optional Analytics features are enabled.</p>
|
|
119
|
+
</section>
|
|
120
|
+
<section aria-labelledby="crash-title">
|
|
121
|
+
<h2 id="crash-title">Optional crash reports</h2>
|
|
122
|
+
<p>With your separate crash-reporting choice, {{APP_NAME}} uses Firebase Crashlytics to find and fix errors. Reports can include stack traces, relevant app and device state, operating-system and app versions, installation identifiers, and the time of a failure. The app may also attach handled errors and short diagnostic messages.</p>
|
|
123
|
+
<p><strong>Before publication:</strong> review any diagnostic messages or context added by this app so that private app content is not included.</p>
|
|
124
|
+
</section>
|
|
125
|
+
<section aria-labelledby="choices-title">
|
|
126
|
+
<h2 id="choices-title">Your choices</h2>
|
|
127
|
+
<p>Analytics and crash reporting start disabled in the Meadow-generated native app. The app asks for two separate choices before enabling either service in production. You can decline either choice and still use the app. You can change your choices in the app's privacy settings; withdrawing a choice stops future collection for that service, but does not by itself erase data already sent to Google.</p>
|
|
128
|
+
<p><strong>Before publication:</strong> confirm the finished app presents those choices, provides a way to change them, and behaves as described on both iOS and Android.</p>
|
|
129
|
+
</section>
|
|
130
|
+
<section aria-labelledby="firebase-title">
|
|
131
|
+
<h2 id="firebase-title">Service provider and storage</h2>
|
|
132
|
+
<p>Google provides Analytics and Crashlytics through Firebase. Google may process service data in locations outside your country. Read Google's <a href="https://firebase.google.com/support/privacy" rel="external">Firebase privacy and security information</a> and <a href="https://support.google.com/firebase/answer/6318039" rel="external">Analytics data-collection explanation</a> for more detail.</p>
|
|
133
|
+
<p><strong>Before publication:</strong> state the production project's Analytics retention setting, any exports or linked Google products, applicable international-transfer information, and the app's process for deletion requests.</p>
|
|
134
|
+
</section>`
|
|
135
|
+
: '';
|
|
136
|
+
return `
|
|
137
|
+
<article class="page policy">
|
|
138
|
+
<p class="eyebrow">Privacy</p>
|
|
139
|
+
<h1>Privacy policy for {{APP_NAME}}</h1>
|
|
140
|
+
<p class="note"><strong>Draft for review.</strong> Complete every “Before publication” item, verify this text against the finished app and its service configuration, and remove this notice and the page's noindex tag before publishing.</p>
|
|
141
|
+
<section aria-labelledby="publisher-title">
|
|
142
|
+
<h2 id="publisher-title">Who is responsible</h2>
|
|
143
|
+
<p>{{APP_NAME}} is published by Søren Oest Balmer, trading as Meadow Development. For privacy questions or requests, contact {{SUPPORT_CONTACT}}. <strong>Before publication:</strong> add the publisher's required postal address and confirm these details are current.</p>
|
|
144
|
+
</section>
|
|
145
|
+
<section aria-labelledby="app-data-title">
|
|
146
|
+
<h2 id="app-data-title">Data used by the app</h2>
|
|
147
|
+
<p><strong>Before publication:</strong> explain what this app itself stores or sends, where that data is kept, whether accounts or purchases are used, and how users can export or delete their data. This varies between Meadow apps.</p>
|
|
148
|
+
</section>${firebaseSections}
|
|
149
|
+
<section aria-labelledby="website-title">
|
|
150
|
+
<h2 id="website-title">This website</h2>
|
|
151
|
+
<p>The starter website has no analytics script or contact form. Its hosting provider may process technical request information, such as an IP address, to deliver the pages. <strong>Before publication:</strong> describe the chosen host, its logs, retention, and any scripts or forms added to this site.</p>
|
|
152
|
+
</section>
|
|
153
|
+
<section aria-labelledby="rights-title">
|
|
154
|
+
<h2 id="rights-title">Your privacy rights</h2>
|
|
155
|
+
<p>Depending on the law that applies to you, you may ask for access, correction, deletion, restriction, or a copy of your personal data. You may also withdraw consent for optional collection and raise a concern with a data-protection authority. Contact {{SUPPORT_CONTACT}} to make a request. Installation-based Firebase reports may be difficult to connect to a particular person without additional information.</p>
|
|
156
|
+
</section>
|
|
157
|
+
<section aria-labelledby="updates-title">
|
|
158
|
+
<h2 id="updates-title">Policy updates</h2>
|
|
159
|
+
<p>We will update this page when the app's data practices change. <strong>Before publication:</strong> add the effective date, intended audience or children's-privacy information, and any other details required for the places where the app is offered.</p>
|
|
160
|
+
</section>
|
|
161
|
+
</article>
|
|
162
|
+
`;
|
|
163
|
+
}
|
|
164
|
+
function legalContent(name) {
|
|
165
|
+
return `
|
|
166
|
+
<section class="page">
|
|
167
|
+
<p class="eyebrow">Legal</p>
|
|
168
|
+
<h1>${name}</h1>
|
|
169
|
+
<p>This page is a draft. Add the final ${name.toLowerCase()} for {{APP_NAME}} before publishing.</p>
|
|
170
|
+
</section>
|
|
171
|
+
`;
|
|
172
|
+
}
|
|
173
|
+
function siteStyles() {
|
|
174
|
+
return `:root { color-scheme: light; font-family: system-ui, sans-serif; color: #20362e; background: #f6f8f3; }
|
|
175
|
+
* { box-sizing: border-box; }
|
|
176
|
+
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
|
|
177
|
+
a { color: inherit; }
|
|
178
|
+
.site-header, footer { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding: 1.25rem max(1.5rem, calc((100vw - 70rem) / 2)); }
|
|
179
|
+
.site-header { border-bottom: 1px solid #dce5dc; }
|
|
180
|
+
.brand { font-weight: 750; text-decoration: none; font-size: 1.15rem; }
|
|
181
|
+
nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
|
|
182
|
+
nav a { text-underline-offset: .2em; }
|
|
183
|
+
main { flex: 1; width: min(100% - 3rem, 70rem); margin: auto; }
|
|
184
|
+
.hero, .page { padding: clamp(4rem, 10vw, 9rem) 0; max-width: 45rem; }
|
|
185
|
+
.eyebrow { color: #4b765e; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
|
|
186
|
+
h1 { font-size: clamp(2.8rem, 8vw, 5.5rem); letter-spacing: -.055em; line-height: 1; margin: .6rem 0 1.5rem; }
|
|
187
|
+
.lede { font-size: clamp(1.2rem, 2.5vw, 1.65rem); line-height: 1.5; }
|
|
188
|
+
.note { background: #e9efe7; border-radius: .75rem; padding: 1rem 1.25rem; line-height: 1.5; }
|
|
189
|
+
.policy { max-width: 49rem; }
|
|
190
|
+
.policy section { margin-top: 2.5rem; }
|
|
191
|
+
.policy h2 { font-size: clamp(1.35rem, 3vw, 1.85rem); letter-spacing: -.025em; }
|
|
192
|
+
.policy p { line-height: 1.65; }
|
|
193
|
+
.policy a { color: #285c43; text-underline-offset: .2em; }
|
|
194
|
+
footer { border-top: 1px solid #dce5dc; color: #597064; font-size: .9rem; }
|
|
195
|
+
@media (max-width: 40rem) { .site-header, footer { align-items: flex-start; flex-direction: column; } }
|
|
196
|
+
`;
|
|
197
|
+
}
|
|
198
|
+
function buildScript() {
|
|
199
|
+
return `import { cpSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
200
|
+
import { dirname, join, relative, resolve } from 'node:path';
|
|
201
|
+
|
|
202
|
+
const root = resolve(import.meta.dirname, '..');
|
|
203
|
+
const source = resolve(root, 'src');
|
|
204
|
+
const output = resolve(root, 'dist');
|
|
205
|
+
const config = JSON.parse(readFileSync(resolve(root, 'site.config.json'), 'utf8'));
|
|
206
|
+
if (typeof config.name !== 'string' || !config.name.trim()) throw new Error('site.config.json needs an app name.');
|
|
207
|
+
if (config.url !== null && (typeof config.url !== 'string' || !config.url.startsWith('https://'))) {
|
|
208
|
+
throw new Error('site.config.json URL must be HTTPS or null.');
|
|
209
|
+
}
|
|
210
|
+
const values = {
|
|
211
|
+
APP_NAME: config.name,
|
|
212
|
+
APP_DESCRIPTION: config.description?.trim() || 'App details are coming soon.',
|
|
213
|
+
SUPPORT_CONTACT: config.supportEmail?.trim() || 'the app support team',
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
rmSync(output, { recursive: true, force: true });
|
|
217
|
+
mkdirSync(output, { recursive: true });
|
|
218
|
+
copyDirectory(source);
|
|
219
|
+
|
|
220
|
+
function copyDirectory(directory) {
|
|
221
|
+
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
|
222
|
+
const path = join(directory, entry.name);
|
|
223
|
+
if (entry.isDirectory()) { copyDirectory(path); continue; }
|
|
224
|
+
if (!entry.isFile()) continue;
|
|
225
|
+
const target = resolve(output, relative(source, path));
|
|
226
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
227
|
+
if (!path.endsWith('.html')) { cpSync(path, target); continue; }
|
|
228
|
+
const html = readFileSync(path, 'utf8').replace(/{{([A-Z_]+)}}/g, (_match, key) => {
|
|
229
|
+
if (!(key in values)) throw new Error('Unknown website template value: ' + key);
|
|
230
|
+
return escapeHtml(values[key]);
|
|
231
|
+
});
|
|
232
|
+
writeFileSync(target, html);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function escapeHtml(value) {
|
|
237
|
+
return String(value).replaceAll('&', '&').replaceAll('<', '<')
|
|
238
|
+
.replaceAll('>', '>').replaceAll('"', '"').replaceAll("'", ''');
|
|
239
|
+
}
|
|
240
|
+
`;
|
|
241
|
+
}
|
|
242
|
+
function serveScript() {
|
|
243
|
+
return `import { createServer } from 'node:http';
|
|
244
|
+
import { readFileSync } from 'node:fs';
|
|
245
|
+
import { extname, resolve, sep } from 'node:path';
|
|
246
|
+
|
|
247
|
+
const root = resolve(import.meta.dirname, '../dist');
|
|
248
|
+
const types = { '.html': 'text/html; charset=utf-8', '.css': 'text/css; charset=utf-8' };
|
|
249
|
+
const port = Number(process.env.PORT || 4300);
|
|
250
|
+
createServer((request, response) => {
|
|
251
|
+
const pathname = new URL(request.url || '/', 'http://localhost').pathname;
|
|
252
|
+
const candidate = resolve(root, '.' + decodeURIComponent(pathname), 'index.html');
|
|
253
|
+
const file = extname(pathname) ? resolve(root, '.' + decodeURIComponent(pathname)) : candidate;
|
|
254
|
+
if (file !== root && !file.startsWith(root + sep)) { response.writeHead(403).end(); return; }
|
|
255
|
+
try {
|
|
256
|
+
const body = readFileSync(file);
|
|
257
|
+
response.writeHead(200, { 'content-type': types[extname(file)] || 'application/octet-stream' }).end(body);
|
|
258
|
+
} catch { response.writeHead(404).end('Not found'); }
|
|
259
|
+
}).listen(port, '127.0.0.1', () => console.log('Website preview: http://localhost:' + port));
|
|
260
|
+
`;
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=website.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/cli/website.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MEADOW_PLATFORM_CONFIG, MeadowAnalyticsService, MeadowAppRatingService, MeadowCrashReportingService, MeadowAppInfoService, provideMeadowPlatform, type MeadowAnalyticsConfig, type MeadowAnalyticsEvent, type MeadowAnalyticsParams, type MeadowAnalyticsTransport, type MeadowAnalyticsValue, type MeadowAppRatingTransport, type MeadowAppConfig, type MeadowAppInfo, type MeadowConsentStatus, type MeadowCrashContextValue, type MeadowCrashReport, type MeadowCrashReportingConfig, type MeadowCrashReportingTransport, type MeadowEnvironment, type MeadowPlatformConfig, type MeadowRuntimePlatform, } from './platform.js';
|
|
2
|
+
export { MeadowPurchaseService, type MeadowEntitlementState, type MeadowPurchaseErrorCategory, type MeadowPurchaseOutcome, type MeadowPurchaseProduct, type MeadowPurchasesConfig, type MeadowPurchaseStatus, type MeadowPurchaseTransport, type MeadowPurchaseTransportProduct, } from './purchases.js';
|
|
3
|
+
export { MeadowNotificationService, type MeadowNotification, type MeadowNotificationAction, type MeadowNotificationCalendarSchedule, type MeadowNotificationChannel, type MeadowNotificationDateSchedule, type MeadowNotificationErrorCategory, type MeadowNotificationPermission, type MeadowNotificationSchedule, type MeadowNotificationScheduleOutcome, type MeadowNotificationsConfig, type MeadowNotificationStatus, type MeadowNotificationTransport, type MeadowNotificationTransportNotification, type MeadowNotificationValue, type MeadowPendingNotification, } from './notifications.js';
|
|
4
|
+
export declare const MEADOW_PLATFORM_VERSION = "0.1.0";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,uCAAuC,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MEADOW_PLATFORM_CONFIG, MeadowAnalyticsService, MeadowAppRatingService, MeadowCrashReportingService, MeadowAppInfoService, provideMeadowPlatform, } from './platform.js';
|
|
2
|
+
export { MeadowPurchaseService, } from './purchases.js';
|
|
3
|
+
export { MeadowNotificationService, } from './notifications.js';
|
|
4
|
+
export const MEADOW_PLATFORM_VERSION = '0.1.0';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,GAiBtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,qBAAqB,GAStB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,GAgB1B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export interface MeadowNotificationsConfig {
|
|
2
|
+
readonly enabled: boolean;
|
|
3
|
+
}
|
|
4
|
+
export type MeadowNotificationPermission = 'unavailable' | 'prompt' | 'granted' | 'denied';
|
|
5
|
+
export type MeadowNotificationStatus = 'unavailable' | 'idle' | 'checking' | 'ready' | 'error';
|
|
6
|
+
export type MeadowNotificationValue = string | number | boolean | null;
|
|
7
|
+
export interface MeadowNotificationCalendarSchedule {
|
|
8
|
+
readonly on: {
|
|
9
|
+
readonly year?: number;
|
|
10
|
+
readonly month?: number;
|
|
11
|
+
readonly day?: number;
|
|
12
|
+
readonly weekday?: number;
|
|
13
|
+
readonly hour?: number;
|
|
14
|
+
readonly minute?: number;
|
|
15
|
+
readonly second?: number;
|
|
16
|
+
};
|
|
17
|
+
readonly repeats: true;
|
|
18
|
+
readonly allowWhileIdle?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface MeadowNotificationDateSchedule {
|
|
21
|
+
readonly at: Date;
|
|
22
|
+
readonly allowWhileIdle?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export type MeadowNotificationSchedule = MeadowNotificationDateSchedule | MeadowNotificationCalendarSchedule;
|
|
25
|
+
export interface MeadowNotificationChannel {
|
|
26
|
+
readonly id: string;
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly description?: string;
|
|
29
|
+
readonly importance?: 'min' | 'low' | 'default' | 'high' | 'max';
|
|
30
|
+
readonly visibility?: 'secret' | 'private' | 'public';
|
|
31
|
+
readonly vibration?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface MeadowNotification {
|
|
34
|
+
/** Must be a signed 32-bit integer because Android uses the value as its native identifier. */
|
|
35
|
+
readonly id: number;
|
|
36
|
+
readonly title: string;
|
|
37
|
+
readonly body: string;
|
|
38
|
+
readonly schedule: MeadowNotificationSchedule;
|
|
39
|
+
readonly data?: Readonly<Record<string, MeadowNotificationValue>>;
|
|
40
|
+
readonly channel?: MeadowNotificationChannel;
|
|
41
|
+
readonly autoCancel?: boolean;
|
|
42
|
+
readonly foreground?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface MeadowPendingNotification {
|
|
45
|
+
readonly id: number;
|
|
46
|
+
readonly title: string;
|
|
47
|
+
readonly body: string;
|
|
48
|
+
readonly data: Readonly<Record<string, MeadowNotificationValue>>;
|
|
49
|
+
}
|
|
50
|
+
export interface MeadowNotificationAction {
|
|
51
|
+
readonly id: number;
|
|
52
|
+
readonly actionId: string;
|
|
53
|
+
readonly inputValue?: string;
|
|
54
|
+
readonly data: Readonly<Record<string, MeadowNotificationValue>>;
|
|
55
|
+
}
|
|
56
|
+
export type MeadowNotificationErrorCategory = 'invalid' | 'permission' | 'provider' | 'unknown';
|
|
57
|
+
export type MeadowNotificationScheduleOutcome = {
|
|
58
|
+
readonly status: 'scheduled';
|
|
59
|
+
readonly ids: readonly number[];
|
|
60
|
+
} | {
|
|
61
|
+
readonly status: 'permission_required';
|
|
62
|
+
readonly permission: 'prompt' | 'denied';
|
|
63
|
+
} | {
|
|
64
|
+
readonly status: 'unavailable';
|
|
65
|
+
} | {
|
|
66
|
+
readonly status: 'failed';
|
|
67
|
+
readonly category: MeadowNotificationErrorCategory;
|
|
68
|
+
};
|
|
69
|
+
export interface MeadowNotificationTransportNotification {
|
|
70
|
+
readonly id: number;
|
|
71
|
+
readonly title: string;
|
|
72
|
+
readonly body: string;
|
|
73
|
+
readonly schedule: MeadowNotificationSchedule;
|
|
74
|
+
readonly data?: Readonly<Record<string, MeadowNotificationValue>>;
|
|
75
|
+
readonly channelId?: string;
|
|
76
|
+
readonly autoCancel?: boolean;
|
|
77
|
+
readonly foreground?: boolean;
|
|
78
|
+
}
|
|
79
|
+
/** Provider-neutral delivery boundary owned by Meadow Platform. */
|
|
80
|
+
export interface MeadowNotificationTransport {
|
|
81
|
+
isAvailable(): boolean;
|
|
82
|
+
checkPermission(): Promise<'prompt' | 'granted' | 'denied'>;
|
|
83
|
+
requestPermission(): Promise<'prompt' | 'granted' | 'denied'>;
|
|
84
|
+
createChannel(channel: MeadowNotificationChannel): Promise<void>;
|
|
85
|
+
schedule(notifications: readonly MeadowNotificationTransportNotification[]): Promise<void>;
|
|
86
|
+
cancel(ids: readonly number[]): Promise<void>;
|
|
87
|
+
pending(): Promise<readonly MeadowPendingNotification[]>;
|
|
88
|
+
addActionListener(listener: (action: MeadowNotificationAction) => void): Promise<void>;
|
|
89
|
+
}
|
|
90
|
+
/** Safe local-notification lifecycle for app-owned reminders, content, and navigation. */
|
|
91
|
+
export declare class MeadowNotificationService {
|
|
92
|
+
private readonly config;
|
|
93
|
+
private readonly transport;
|
|
94
|
+
private readonly permissionState;
|
|
95
|
+
private readonly statusState;
|
|
96
|
+
private readonly actionState;
|
|
97
|
+
private initializeRequest?;
|
|
98
|
+
private listenerRegistered;
|
|
99
|
+
readonly permission: import("@angular/core").Signal<MeadowNotificationPermission>;
|
|
100
|
+
readonly status: import("@angular/core").Signal<MeadowNotificationStatus>;
|
|
101
|
+
readonly lastAction: import("@angular/core").Signal<MeadowNotificationAction | null>;
|
|
102
|
+
constructor(config: Readonly<MeadowNotificationsConfig> | undefined, transport?: MeadowNotificationTransport);
|
|
103
|
+
isSupported(): boolean;
|
|
104
|
+
initialize(): Promise<boolean>;
|
|
105
|
+
/** Refresh permission state without displaying an operating-system prompt. */
|
|
106
|
+
refreshPermission(): Promise<MeadowNotificationPermission>;
|
|
107
|
+
/** Show the native permission prompt. Call only from an app-owned user action. */
|
|
108
|
+
requestPermission(): Promise<MeadowNotificationPermission>;
|
|
109
|
+
schedule(notification: MeadowNotification | readonly MeadowNotification[]): Promise<MeadowNotificationScheduleOutcome>;
|
|
110
|
+
replace(notification: MeadowNotification | readonly MeadowNotification[]): Promise<MeadowNotificationScheduleOutcome>;
|
|
111
|
+
cancel(ids: number | readonly number[]): Promise<boolean>;
|
|
112
|
+
pending(): Promise<readonly MeadowPendingNotification[]>;
|
|
113
|
+
clearLastAction(): void;
|
|
114
|
+
private initializeInternal;
|
|
115
|
+
private deliver;
|
|
116
|
+
}
|
|
117
|
+
export declare const NOOP_NOTIFICATION_TRANSPORT: MeadowNotificationTransport;
|
|
118
|
+
export declare const CAPACITOR_LOCAL_NOTIFICATION_TRANSPORT: MeadowNotificationTransport;
|
|
119
|
+
//# sourceMappingURL=notifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
|