@embrace-ai/infra-api-schema-sync 1.0.1 → 1.0.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.0.2](https://github.com/Embrace-AI/infra-api-schema-sync/compare/v1.0.1...v1.0.2) (2025-10-07)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **cli:** use process.stderr for logs, and output logs to file ([#13](https://github.com/Embrace-AI/infra-api-schema-sync/issues/13)) ([84b30d0](https://github.com/Embrace-AI/infra-api-schema-sync/commit/84b30d05cc922912edf34c3c1f3e50f5cbc65644))
9
+
3
10
  ## [1.0.1](https://github.com/Embrace-AI/infra-api-schema-sync/compare/v1.0.0...v1.0.1) (2025-06-19)
4
11
 
5
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema-url.d.ts","sourceRoot":"","sources":["../../src/generate-schema-url.js"],"names":[],"mappings":"AAWO,yDALJ;IAAwB,KAAK,EAArB,MAAM;IACU,OAAO,EAAvB,MAAM;IACU,IAAI,EAApB,MAAM;CACd,GAAU,MAAM,CAwBlB;AAkGM,qDA8BN"}
1
+ {"version":3,"file":"generate-schema-url.d.ts","sourceRoot":"","sources":["../../src/generate-schema-url.js"],"names":[],"mappings":"AAYO,yDALJ;IAAwB,KAAK,EAArB,MAAM;IACU,OAAO,EAAvB,MAAM;IACU,IAAI,EAApB,MAAM;CACd,GAAU,MAAM,CAwBlB;AAkGM,qDA2CN"}
@@ -1,5 +1,6 @@
1
1
  import { execSync } from "child_process";
2
- import path from "path";
2
+ import * as fs from "fs";
3
+ import * as path from "path";
3
4
  export const buildSchemaUrl = ({ stage = "dev", service, repo }) => {
4
5
  if (!repo) {
5
6
  repo = detectRepositoryName();
@@ -67,18 +68,34 @@ const extractServiceName = (repo) => {
67
68
  export const generateSchemaUrl = (opts) => {
68
69
  try {
69
70
  const { stage, service, repo } = opts;
70
- console.log("🔧 Generating schema URL...");
71
71
  const detectedRepo = repo || detectRepositoryName();
72
72
  const detectedService = service || extractServiceName(detectedRepo);
73
- console.log(`📁 Repository: ${detectedRepo}`);
74
- console.log(`🏷️ Service: ${detectedService}`);
75
- console.log(`🚀 Stage: ${stage}`);
76
73
  const url = buildSchemaUrl({
77
74
  stage,
78
75
  service: detectedService,
79
76
  repo: detectedRepo,
80
77
  });
81
- console.log(`🌐 Generated URL: ${url}`);
78
+ const summaryPath = process.env.GITHUB_STEP_SUMMARY;
79
+ if (summaryPath) {
80
+ const md = [
81
+ "### Schema URL Generation",
82
+ "",
83
+ `- Repository: ${detectedRepo}`,
84
+ `- Service: ${detectedService}`,
85
+ `- Stage: ${stage}`,
86
+ `- URL: ${url}`,
87
+ "",
88
+ ].join("\n");
89
+ try {
90
+ fs.appendFileSync(summaryPath, md);
91
+ }
92
+ catch (e) {
93
+ console.warn("Failed to write summary:", e.message);
94
+ }
95
+ }
96
+ else {
97
+ process.stderr.write("::notice::Generated schema URL\n");
98
+ }
82
99
  process.stdout.write(url);
83
100
  return url;
84
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema-url.js","sourceRoot":"","sources":["../../src/generate-schema-url.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-schema-url.js","sourceRoot":"","sources":["../../src/generate-schema-url.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embrace-ai/infra-api-schema-sync",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "bin": {
5
5
  "api-tool": "./dist/src/index.js"
6
6
  },
@@ -1,5 +1,6 @@
1
1
  import { execSync } from "child_process";
2
- import path from "path";
2
+ import * as fs from "fs";
3
+ import * as path from "path";
3
4
 
4
5
  /**
5
6
  * Generate a dynamic GraphQL schema URL based on repository and deployment stage
@@ -133,23 +134,36 @@ export const generateSchemaUrl = (opts) => {
133
134
  try {
134
135
  const { stage, service, repo } = opts;
135
136
 
136
- console.log("🔧 Generating schema URL...");
137
-
138
137
  // Detect values if not provided
139
138
  const detectedRepo = repo || detectRepositoryName();
140
139
  const detectedService = service || extractServiceName(detectedRepo);
141
140
 
142
- console.log(`📁 Repository: ${detectedRepo}`);
143
- console.log(`🏷️ Service: ${detectedService}`);
144
- console.log(`🚀 Stage: ${stage}`);
145
-
146
141
  const url = buildSchemaUrl({
147
142
  stage,
148
143
  service: detectedService,
149
144
  repo: detectedRepo,
150
145
  });
151
146
 
152
- console.log(`🌐 Generated URL: ${url}`);
147
+ const summaryPath = process.env.GITHUB_STEP_SUMMARY;
148
+ if (summaryPath) {
149
+ const md = [
150
+ "### Schema URL Generation",
151
+ "",
152
+ `- Repository: ${detectedRepo}`,
153
+ `- Service: ${detectedService}`,
154
+ `- Stage: ${stage}`,
155
+ `- URL: ${url}`,
156
+ "",
157
+ ].join("\n");
158
+ try {
159
+ fs.appendFileSync(summaryPath, md);
160
+ } catch (e) {
161
+ console.warn("Failed to write summary:", e.message);
162
+ }
163
+ } else {
164
+ // Optional: Create a GitHub Actions notice without using console.*
165
+ process.stderr.write("::notice::Generated schema URL\n");
166
+ }
153
167
 
154
168
  // Output just the URL for easy consumption by scripts
155
169
  process.stdout.write(url);
@@ -6,7 +6,7 @@ on:
6
6
  branches:
7
7
  - main
8
8
  paths:
9
- - '**/*schema.ts'
9
+ - "**/*schema.ts"
10
10
  workflow_dispatch: {}
11
11
 
12
12
  env:
@@ -16,12 +16,12 @@ env:
16
16
  # SCHEMA_URL: "https://api.dev.embrace.ai/v2/graphql/schema"
17
17
 
18
18
  # Deployment stage - determines the environment URL pattern
19
- DEPLOYMENT_STAGE: "dev" # Options: dev, prod, pr-* (e.g., pr-123)
19
+ DEPLOYMENT_STAGE: "dev" # Options: dev, prod, pr-* (e.g., pr-123)
20
20
  # Optional: Override service name (auto-detected from repository name if not set)
21
21
  # SERVICE_NAME: "your-service-name"
22
22
 
23
23
  # Optional: Filter repositories by name pattern (regex)
24
- REPO_FILTER: ".*" # Default: all repos. Example: "^(frontend|mobile|web)-.*" for specific patterns
24
+ REPO_FILTER: ".*" # Default: all repos. Example: "^(frontend|mobile|web)-.*" for specific patterns
25
25
  permissions:
26
26
  id-token: write
27
27
  contents: read
@@ -41,7 +41,7 @@ jobs:
41
41
  uses: actions/setup-node@v4
42
42
  with:
43
43
  node-version: 22.16.0
44
- cache: 'pnpm'
44
+ cache: "pnpm"
45
45
  - name: Setup NPM
46
46
  env:
47
47
  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -49,7 +49,7 @@ jobs:
49
49
 
50
50
  - name: Install GraphQL schema sync tool
51
51
  # Update below to use the version you want
52
- run: pnpm install -w @embrace-ai/infra-api-schema-sync@1.1.0
52
+ run: pnpm install -w @embrace-ai/infra-api-schema-sync@latest
53
53
 
54
54
  # Generate dynamic schema URL based on repository and stage
55
55
  - name: Generate schema URL
@@ -67,7 +67,6 @@ jobs:
67
67
  echo "url=$SCHEMA_URL" >> $GITHUB_OUTPUT
68
68
  echo "🌐 Generated schema URL: $SCHEMA_URL"
69
69
 
70
-
71
70
  # Fetch all organization repositories and dispatch to each
72
71
  - name: Dispatch schema update events to all org repositories
73
72
  env:
@@ -20,7 +20,7 @@ jobs:
20
20
  uses: actions/setup-node@v4
21
21
  with:
22
22
  node-version: 22.16.0
23
- cache: 'pnpm'
23
+ cache: "pnpm"
24
24
 
25
25
  - name: Setup NPM
26
26
  env:
@@ -29,7 +29,7 @@ jobs:
29
29
 
30
30
  - name: Install GraphQL schema sync tool
31
31
  # Update line below to use the version you want
32
- run: pnpm install -w @embrace-ai/infra-api-schema-sync@1.1.0
32
+ run: pnpm install -w @embrace-ai/infra-api-schema-sync@latest
33
33
 
34
34
  - name: Configure aws credentials
35
35
  uses: aws-actions/configure-aws-credentials@v4.2.1
@@ -55,9 +55,9 @@ jobs:
55
55
  - name: Check for issues
56
56
  id: check-issues
57
57
  run: |
58
- if [ -s report.json ] && [ "$(jq '.issues | length' report.json)" -gt 0 ]; then
58
+ if [ -s report.json ] && [ "$(jq 'length' report.json)" -gt 0 ]; then
59
59
  echo "has_issues=true" >> $GITHUB_OUTPUT
60
- echo "issue_count=$(jq '.issues | length' report.json)" >> $GITHUB_OUTPUT
60
+ echo "issue_count=$(jq 'length' report.json)" >> $GITHUB_OUTPUT
61
61
  else
62
62
  echo "has_issues=false" >> $GITHUB_OUTPUT
63
63
  echo "issue_count=0" >> $GITHUB_OUTPUT