@willbooster/wb 22.9.0 → 22.11.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/README.md +11 -7
- package/bin/railway.d.ts +4 -0
- package/bin/railway.js +30 -0
- package/dist/error-CBsvD8TI.js +2 -0
- package/dist/index.js +48 -46
- package/dist/slidevTextlint-B49X6oR5.js +144 -0
- package/package.json +3 -2
- package/dist/error-CkSfqFuk.js +0 -2
- package/dist/slidevTextlint-B75Sxakk.js +0 -144
package/README.md
CHANGED
|
@@ -20,11 +20,14 @@ Commands:
|
|
|
20
20
|
environments with this command to fail fast on
|
|
21
21
|
missing secrets.
|
|
22
22
|
wb concurrently <commands...> Run commands concurrently
|
|
23
|
-
wb deploy Deploy
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
wb deploy Deploy to the WB_ENV environment. A Cloudflare
|
|
24
|
+
Workers app (vinext or plain Worker): validate
|
|
25
|
+
secrets, build, apply remote D1 migrations,
|
|
26
|
+
then deploy code and secrets atomically. A
|
|
27
|
+
Railway service (.railway/railway.ts): check
|
|
28
|
+
the IaC plan, sync fnox variables, apply the
|
|
29
|
+
plan, then railway up; --dry-run only checks
|
|
30
|
+
the plan of every environment.
|
|
28
31
|
wb dotenv [args..] Load environment variables from fnox and run a
|
|
29
32
|
command.
|
|
30
33
|
wb gen-code Generate code for the current project
|
|
@@ -195,7 +198,7 @@ the working directory (or `--working-dir`). Page selection within a deck is not
|
|
|
195
198
|
decks before running tests, without applying fixes.
|
|
196
199
|
|
|
197
200
|
The bundled textlint rules check half-width kana, invalid control characters,
|
|
198
|
-
|
|
201
|
+
zero-width spaces (U+200B), and Chinese or Korean text mixed into Japanese. Numeric inch marks, sentence fragments, omitted final punctuation, long technical terms,
|
|
199
202
|
polite/plain style, sentence length, and cautious wording are allowed. No local
|
|
200
203
|
textlint configuration or extra textlint installation is needed; repository
|
|
201
204
|
`.textlintrc` files do not affect these slide checks.
|
|
@@ -206,7 +209,8 @@ lines, columns, and rule names. Slidev's parser rejects import paths outside tho
|
|
|
206
209
|
roots before reading them. This check compares paths without resolving symlink
|
|
207
210
|
targets. Slidev frontmatter,
|
|
208
211
|
comments/speaker notes, and code are excluded. Parsing uses the standard Markdown
|
|
209
|
-
textlint plugin; raw HTML blocks and HTML tag attributes are
|
|
212
|
+
textlint plugin; raw HTML blocks and HTML tag attributes are checked only for Chinese
|
|
213
|
+
or Korean text, excluding `<code>`, `<pre>`, `<script>`, and `<style>` elements. Slidev-specific
|
|
210
214
|
syntax is not interpreted: Vue expressions and MDC attributes may be checked
|
|
211
215
|
when the Markdown parser treats their source as prose (for example,
|
|
212
216
|
`{{ "テスト" }}` or `[visible]{title="テスト"}`). Half-width kana is checked in plain paragraph and list text, but not in headings
|
package/bin/railway.d.ts
ADDED
package/bin/railway.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the `env` of a Railway service in `.railway/railway.ts`, evaluated through `wb deploy`.
|
|
3
|
+
* Call it inside the default-exported function that only the Railway CLI evaluates (e.g. the callback
|
|
4
|
+
* of `railway/iac`'s `defineRailway`), never at module scope: `wb` imports the file for
|
|
5
|
+
* `railwayTarget` before it passes the variable names.
|
|
6
|
+
*
|
|
7
|
+
* Every variable `wb deploy` syncs from fnox is declared with `preserve()`, so Railway keeps the
|
|
8
|
+
* value `wb deploy` pushed and plans a deletion for any variable neither here nor in fnox.
|
|
9
|
+
* `railwayOnlyVariables` adds values Railway supplies: literals that only Railway reads, or
|
|
10
|
+
* `railway/iac` references such as a linked database's `DATABASE_URL`. Such a key must not be
|
|
11
|
+
* exported by the deployed fnox profile (e.g. `KEY = { env = false }` in its profile table).
|
|
12
|
+
*
|
|
13
|
+
* @param {() => unknown} preserve `preserve` from `railway/iac`.
|
|
14
|
+
* @param {Record<string, unknown>} [railwayOnlyVariables]
|
|
15
|
+
* @returns {Record<string, unknown>}
|
|
16
|
+
*/
|
|
17
|
+
export function railwayVariables(preserve, railwayOnlyVariables = {}) {
|
|
18
|
+
const namesJson = process.env.WB_RAILWAY_VARIABLE_NAMES;
|
|
19
|
+
if (namesJson === undefined) {
|
|
20
|
+
throw new Error(
|
|
21
|
+
'railwayVariables() needs the fnox variable names that `wb deploy` passes to the Railway CLI: call it inside the default-exported function (e.g. the callback of defineRailway), not at module scope, and plan through `wb deploy`.'
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
const names = JSON.parse(namesJson);
|
|
25
|
+
const duplicatedNames = names.filter((name) => Object.hasOwn(railwayOnlyVariables, name));
|
|
26
|
+
if (duplicatedNames.length > 0) {
|
|
27
|
+
throw new Error(`Declare each variable in either fnox or railway.ts, not both: ${duplicatedNames.join(', ')}`);
|
|
28
|
+
}
|
|
29
|
+
return { ...Object.fromEntries(names.map((name) => [name, preserve()])), ...railwayOnlyVariables };
|
|
30
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e,t){return n(()=>e instanceof Error?e.message:t??String(e))??t??n(()=>Object.prototype.toString.call(e))??`Unknown error`}function t(e,t){return typeof e==`object`&&!!e&&`code`in e&&e.code===t}function n(e){try{return e()}catch{}}async function r(e){try{return await e()}catch(e){if(t(e,`ENOENT`))return;throw e}}export{t as n,r,e as t};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItQ0JzdkQ4VEkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc2hhcmVkLWxpYi9zcmMvZXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2xlZXAgfSBmcm9tICcuL3NsZWVwLmpzJztcblxuLyoqXG4gKiBDb252ZXJ0IGFuIG9iamVjdCB0byBhbiBlcnJvci5cbiAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byBjb252ZXJ0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXJyb3JpZnkob2JqOiB1bmtub3duKTogRXJyb3Ige1xuICBpZiAob2JqIGluc3RhbmNlb2YgRXJyb3IpIHJldHVybiBvYmo7XG4gIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykgcmV0dXJuIG5ldyBFcnJvcihvYmopO1xuICAvLyBgSlNPTi5zdHJpbmdpZnlgIGFuc3dlcnMgYHVuZGVmaW5lZGAgZm9yIGB1bmRlZmluZWRgLCBhIHN5bWJvbCBhbmQgYSBmdW5jdGlvbiwgYW5kIHRocm93c1xuICAvLyBvbiBhIGJpZ2ludCBvciBhIGN5Y2xlOyBgbmV3IEVycm9yKHVuZGVmaW5lZClgIGhhcyBhbiBlbXB0eSBtZXNzYWdlLCB3aGljaCB3b3VsZCBkcm9wIHRoZVxuICAvLyBvbmx5IGRpYWdub3N0aWMgYSBjYWxsZXIgaGFzIGFib3V0IHN1Y2ggYSB0aHJvd24gdmFsdWUuIE5laXRoZXIgcmVwcmVzZW50YXRpb24gbWF5IHRocm93XG4gIC8vIG91dCBvZiBoZXJlOiB0aGlzIHJ1bnMgaW4gYSBjYXRjaCBibG9jaywgd2hlcmUgaXQgd291bGQgcmVwbGFjZSB0aGUgZXJyb3IgaXQgY29udmVydHMuXG4gIHJldHVybiBuZXcgRXJyb3IoaWdub3JlRXJyb3IoKCkgPT4gSlNPTi5zdHJpbmdpZnkob2JqKSkgPz8gaWdub3JlRXJyb3IoKCkgPT4gU3RyaW5nKG9iaikpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtZXNzYWdlIG9mIGEgdGhyb3duIGBFcnJvcmA7IGZvciBhbnkgb3RoZXIgdGhyb3duIHZhbHVlLCBgZmFsbGJhY2tgIGlmIGdpdmVuLCBvciBlbHNlIGl0cyBzdHJpbmcgZm9ybS5cbiAqIGBmYWxsYmFja2AgaXMgYWxzbyByZXR1cm5lZCB3aGVuIHJlYWRpbmcgdGhlIG1lc3NhZ2UgdGhyb3dzLiBOZXZlciB0aHJvd3MsIHNvIGl0IGlzIHNhZmUgdG8gY2FsbCBpbiBhIGNhdGNoIGJsb2NrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlKGVycm9yOiB1bmtub3duLCBmYWxsYmFjaz86IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIGBTdHJpbmdgIHRocm93cyBmb3IgYW4gb2JqZWN0IHdpdGhvdXQgYSBwcm90b3R5cGUsIGFuZCBldmVuIGBpbnN0YW5jZW9mYCwgYSBgbWVzc2FnZWAgZ2V0dGVyLCBhbmRcbiAgLy8gYE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdgIHRocm93IGZvciBhIHByb3h5IG9yIG9iamVjdCB3aG9zZSB0cmFwcyBvciBnZXR0ZXJzIHRocm93LlxuICByZXR1cm4gKFxuICAgIGlnbm9yZUVycm9yKCgpID0+IChlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IChmYWxsYmFjayA/PyBTdHJpbmcoZXJyb3IpKSkpID8/XG4gICAgZmFsbGJhY2sgPz9cbiAgICBpZ25vcmVFcnJvcigoKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZXJyb3IpKSA/P1xuICAgICdVbmtub3duIGVycm9yJ1xuICApO1xufVxuXG4vKiogV2hldGhlciBhIHRocm93biB2YWx1ZSBjYXJyaWVzIHRoZSBnaXZlbiBgY29kZWAsIHN1Y2ggYXMgYSBOb2RlLmpzIGVycm5vIGNvZGUgKGBFTk9FTlRgLCBgRUVYSVNUYCwgLi4uKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNFcnJvckNvZGU8QyBleHRlbmRzIHN0cmluZz4oZXJyb3I6IHVua25vd24sIGNvZGU6IEMpOiBlcnJvciBpcyB7IGNvZGU6IEMgfSB7XG4gIHJldHVybiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmIGVycm9yICE9PSBudWxsICYmICdjb2RlJyBpbiBlcnJvciAmJiBlcnJvci5jb2RlID09PSBjb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWdub3JlRXJyb3I8VD4oZm46ICgpID0+IFQpOiBUIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpZ25vcmVFbm9lbnQ8VD4oZm46ICgpID0+IFQpOiBUIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoaGFzRXJyb3JDb2RlKGVycm9yLCAnRU5PRU5UJykpIHJldHVybjtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaWdub3JlRXJyb3JBc3luYzxUPihmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VCB8IHVuZGVmaW5lZD4ge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBmbigpO1xuICB9IGNhdGNoIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlnbm9yZUVub2VudEFzeW5jPFQ+KGZuOiAoKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGZuKCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGhhc0Vycm9yQ29kZShlcnJvciwgJ0VOT0VOVCcpKSByZXR1cm47XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXRyeU9wdGlvbnMge1xuICBiZWZvcmVSZXRyeT86IChlcnJvcjogdW5rbm93bikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgaGFuZGxlRXJyb3I/OiAoZXJyb3I6IHVua25vd24pID0+IFByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdG90YWwgYXR0ZW1wdHMsIGluY2x1ZGluZyB0aGUgaW5pdGlhbCBhdHRlbXB0LlxuICAgKiBGb3IgZXhhbXBsZSwgYHJldHJ5Q291bnQ6IDNgIHJ1bnMgdGhlIGZ1bmN0aW9uIGF0IG1vc3QgMyB0aW1lczogMSBpbml0aWFsIGF0dGVtcHQgYW5kIHVwIHRvIDIgcmV0cmllcy5cbiAgICovXG4gIHJldHJ5Q291bnQ/OiBudW1iZXI7XG4gIHJldHJ5TG9nZ2VyPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgc2hvdWxkUmV0cnk/OiAoZXJyb3I6IHVua25vd24pID0+IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWNpZGVzIGhvdyBsb25nIHRvIHdhaXQgYmVmb3JlIHJldHJ5aW5nIGFmdGVyIGBlcnJvcmAsIGdpdmVuIHRoZSBiYWNrb2ZmIGBzbGVlcE1pbGxpc2Vjb25kc2AgaXQgd291bGQgb3RoZXJ3aXNlIHdhaXQsXG4gICAqIGUuZy4gYChlcnJvciwgbXMpID0+IE1hdGgubWF4KG1zLCByZXRyeUF0T2YoZXJyb3IpIC0gRGF0ZS5ub3coKSlgIHRvIGhvbm9yIGEgcmV0cnkgdGltZSBzZW50IGJ5IGEgc2VydmVyLlxuICAgKiBJdCBkb2VzIG5vdCBhZmZlY3QgdGhlIGJhY2tvZmYgdGhhdCBgdXBkYXRlU2xlZXBNaWxsaXNlY29uZHNgIGFkdmFuY2VzLlxuICAgKi9cbiAgZ2V0U2xlZXBNaWxsaXNlY29uZHM/OiAoZXJyb3I6IHVua25vd24sIHNsZWVwTWlsbGlzZWNvbmRzOiBudW1iZXIpID0+IG51bWJlcjtcbiAgc2xlZXBNaWxsaXNlY29uZHM/OiBudW1iZXI7XG4gIHVwZGF0ZVNsZWVwTWlsbGlzZWNvbmRzPzogKHNsZWVwTWlsbGlzZWNvbmRzOiBudW1iZXIpID0+IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXRyeSB0aGUgZ2l2ZW4gZnVuY3Rpb24uXG4gKiBAcGFyYW0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmV0cnkuXG4gKiBAcGFyYW0gYmVmb3JlUmV0cnkgVGhlIGZ1bmN0aW9uIHRvIGNhbGwgaW1tZWRpYXRlbHkgYmVmb3JlIHJldHJ5aW5nLlxuICogQHBhcmFtIGhhbmRsZUVycm9yIFRoZSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gYW4gZXJyb3Igb2NjdXJzLlxuICogQHBhcmFtIHJldHJ5Q291bnQgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRvdGFsIGF0dGVtcHRzLCBpbmNsdWRpbmcgdGhlIGluaXRpYWwgYXR0ZW1wdC5cbiAqIEBwYXJhbSByZXRyeUxvZ2dlciBUaGUgZnVuY3Rpb24gdG8gbG9nIHJldHJ5aW5nLlxuICogQHBhcmFtIHNsZWVwTWlsbGlzZWNvbmRzIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHNsZWVwIGJlZm9yZSByZXRyeWluZy5cbiAqIEBwYXJhbSB1cGRhdGVTbGVlcE1pbGxpc2Vjb25kcyBUaGUgZnVuY3Rpb24gdG8gdXBkYXRlIHNsZWVwIG1pbGxpc2Vjb25kcyBhZnRlciBlYWNoIHJldHJ5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2l0aFJldHJ5PFQ+KFxuICBmdW5jOiAoZmFpbGVkQ291bnQ6IG51bWJlcikgPT4gVCB8IFByb21pc2U8VD4sXG4gIHtcbiAgICBiZWZvcmVSZXRyeSxcbiAgICBoYW5kbGVFcnJvcixcbiAgICByZXRyeUNvdW50ID0gMyxcbiAgICByZXRyeUxvZ2dlcixcbiAgICBzaG91bGRSZXRyeSxcbiAgICBnZXRTbGVlcE1pbGxpc2Vjb25kcyxcbiAgICBzbGVlcE1pbGxpc2Vjb25kcyA9IDAsXG4gICAgdXBkYXRlU2xlZXBNaWxsaXNlY29uZHMsXG4gIH06IFJldHJ5T3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPFQ+IHtcbiAgbGV0IGZhaWxlZENvdW50ID0gMDtcbiAgZm9yICg7Oykge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgZnVuYyhmYWlsZWRDb3VudCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGF3YWl0IGhhbmRsZUVycm9yPy4oZXJyb3IpO1xuICAgICAgZmFpbGVkQ291bnQrKztcbiAgICAgIGlmIChmYWlsZWRDb3VudCA+PSByZXRyeUNvdW50KSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgICAgaWYgKHNob3VsZFJldHJ5ICYmICFzaG91bGRSZXRyeShlcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgICBjb25zdCBjdXJyZW50U2xlZXBNaWxsaXNlY29uZHMgPSBnZXRTbGVlcE1pbGxpc2Vjb25kcz8uKGVycm9yLCBzbGVlcE1pbGxpc2Vjb25kcykgPz8gc2xlZXBNaWxsaXNlY29uZHM7XG4gICAgICBpZiAoY3VycmVudFNsZWVwTWlsbGlzZWNvbmRzID4gMCkge1xuICAgICAgICBhd2FpdCBzbGVlcChjdXJyZW50U2xlZXBNaWxsaXNlY29uZHMpO1xuICAgICAgfVxuICAgICAgaWYgKHVwZGF0ZVNsZWVwTWlsbGlzZWNvbmRzKSB7XG4gICAgICAgIHNsZWVwTWlsbGlzZWNvbmRzID0gdXBkYXRlU2xlZXBNaWxsaXNlY29uZHMoc2xlZXBNaWxsaXNlY29uZHMpO1xuICAgICAgfVxuICAgICAgcmV0cnlMb2dnZXI/LihgUmV0cnkgZHVlIHRvOiAke2Vycm9yfVxuJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gJy0tLVxcbicgKyAoZXJyb3Iuc3RhY2sgPz8gJycpIDogJyd9YCk7XG4gICAgICBhd2FpdCBiZWZvcmVSZXRyeT8uKGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBb0JBLFNBQWdCLEVBQWdCLEVBQWdCLEVBQTJCLENBR3pFLE9BQ0UsTUFBbUIsYUFBaUIsTUFBUSxFQUFNLFFBQVcsR0FBWSxPQUFPLENBQUssQ0FBRyxHQUN4RixHQUNBLE1BQWtCLE9BQU8sVUFBVSxTQUFTLEtBQUssQ0FBSyxDQUFDLEdBQ3ZELGVBRUosQ0FHQSxTQUFnQixFQUErQixFQUFnQixFQUErQixDQUM1RixPQUFPLE9BQU8sR0FBVSxZQUFZLEdBQWtCLFNBQVUsR0FBUyxFQUFNLE9BQVMsQ0FDMUYsQ0FFQSxTQUFnQixFQUFlLEVBQTRCLENBQ3pELEdBQUksQ0FDRixPQUFPLEVBQUcsQ0FDWixNQUFRLENBRVIsQ0FDRixDQW1CQSxlQUFzQixFQUFxQixFQUE4QyxDQUN2RixHQUFJLENBQ0YsT0FBTyxNQUFNLEVBQUcsQ0FDbEIsT0FBUyxFQUFPLENBQ2QsR0FBSSxFQUFhLEVBQU8sUUFBUSxFQUFHLE9BQ25DLE1BQU0sQ0FDUixDQUNGIn0=
|