@minnovate/shadow-publisher 0.11.0 → 0.11.2
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-publisher",
|
|
3
3
|
"displayName": "Git Publisher",
|
|
4
|
-
"version": "0.11.
|
|
4
|
+
"version": "0.11.2",
|
|
5
5
|
"description": "Publish an app folder's Git history to the serverless Git publishing backend and keep it updated (\"publish my app\", \"update my app\", \"fetch the engineered version\").",
|
|
6
6
|
"author": { "name": "git-publisher project" },
|
|
7
7
|
"keywords": ["git", "publish", "deploy", "serverless"]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: publish-app
|
|
3
3
|
description: Publish or update the user's app (a folder) with the publisher. Use when the user says "publish my app", "update my app", "save my changes", "push my changes", "save this version online", or asks to resolve an interrupted publication. Handles first-time setup, every later update, interruption recovery and conflicts by running the `publisher` command; never uses git to commit or push.
|
|
4
|
-
allowed-tools: Bash(publisher *), Bash(npm install -g @minnovate/shadow-publisher*), Bash(git status *), Bash(git diff *), Bash(git log *)
|
|
4
|
+
allowed-tools: Bash(publisher *), Bash(mkdir -p *), Bash(npm install -g @minnovate/shadow-publisher*), Bash(git status *), Bash(git diff *), Bash(git log *)
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Publish or update the user's app
|
|
@@ -101,16 +101,27 @@ have; when it is not null it is already phrased for them, so pass it on rather t
|
|
|
101
101
|
If they name an environment ("publish to dev"), pass `--profile dev` on each command rather than
|
|
102
102
|
changing their default.
|
|
103
103
|
|
|
104
|
-
## 2.
|
|
104
|
+
## 2. A new app: make it before you write it
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
When the person asks for a NEW app, make it before you write a file. Do step 1 first, then:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
mkdir -p <folder>
|
|
110
|
+
publisher init <folder> --name "<app name>" --json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`init` makes the app and links the folder to it. It publishes nothing and starts no checks. While
|
|
114
|
+
you write the app, the platform prepares its hosting, so the first publication goes live in
|
|
115
|
+
seconds, not in a minute. The folder must exist, and it can be empty. Its output names the app
|
|
116
|
+
under `appId`. Then write the app into that folder, and publish it with step 3, without `--name`.
|
|
117
|
+
|
|
118
|
+
If the app is already written and was never published, `init` gains nothing. Run step 3 in the
|
|
119
|
+
app folder and add `--name "<app name>"`: that one `sync` makes the app, and then publishes it.
|
|
109
120
|
|
|
110
121
|
The first `sync` prepares the folder with an explicit file selection: it excludes `.git`,
|
|
111
122
|
`node_modules`, build caches, `.env*`, keys/certificates and files larger than 50 MB, and it
|
|
112
|
-
respects `.gitignore`. Show the user the
|
|
113
|
-
|
|
123
|
+
respects `.gitignore`. Show the user the excluded files it reports so they know what was left out
|
|
124
|
+
(the exclusion rules are a safety net, not a secret scanner).
|
|
114
125
|
|
|
115
126
|
## 3. Every publish, the first one included
|
|
116
127
|
|
|
@@ -231,7 +242,7 @@ publisher list --json
|
|
|
231
242
|
|
|
232
243
|
`apps[]` lists what they published, newest first, each with its `name` and a `checkout` command.
|
|
233
244
|
Ask which one only if the name does not settle it, then run its `checkout` command and work in that
|
|
234
|
-
folder. Never `sync` an empty new folder in its place: that makes a second app.
|
|
245
|
+
folder. Never `init` or `sync` an empty new folder in its place: that makes a second app.
|
|
235
246
|
|
|
236
247
|
## If the service cannot be reached
|
|
237
248
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minnovate/shadow-publisher",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.2",
|
|
4
4
|
"description": "publisher: publish an app's Git history to the serverless Git backend",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
21
|
"build": "tsc -b tsconfig.json && pnpm run bundle",
|
|
22
|
+
"typecheck": "tsc -p tsconfig.test.json",
|
|
22
23
|
"test": "vitest run --project unit --root ../.. packages/cli/",
|
|
23
24
|
"bundle": "esbuild src/main.ts --bundle --platform=node --target=node22 --format=cjs --outfile=dist/publisher.cjs --banner:js=\"#!/usr/bin/env node\" --log-level=warning && pnpm run skills",
|
|
24
25
|
"skills": "rm -rf dist/claude && mkdir -p dist/claude && cp -R ../../integrations/claude/.claude-plugin ../../integrations/claude/plugin dist/claude/",
|