@vixoniccom/birthdays 0.7.7-dev.2 → 0.7.7-dev.21

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.
@@ -0,0 +1,131 @@
1
+ name: Deploy job
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - master
7
+ types: [closed]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ build:
12
+ name: Build and Publish Package
13
+ runs-on: ubuntu-latest
14
+ environment: production
15
+ if: github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true
16
+
17
+ outputs:
18
+ version: ${{ steps.extract_version.outputs.version }}
19
+ deployment-start: ${{ steps.deployment_start.outputs.deployment_start }}
20
+
21
+ steps:
22
+ - name: Log deployment start
23
+ id: deployment_start
24
+ run: |
25
+ echo "deployment_start=$(date +"%Y-%m-%dT%H:%M:%S%:z")" >> "$GITHUB_OUTPUT"
26
+
27
+ - name: Checkout repository
28
+ uses: actions/checkout@v4
29
+ with:
30
+ fetch-depth: 0
31
+ token: ${{ secrets.PRIVATE_TOKEN_GITHUB }}
32
+
33
+ - name: Setup Node.js 20
34
+ uses: actions/setup-node@v4
35
+ with:
36
+ node-version: '20'
37
+ registry-url: 'https://registry.npmjs.org'
38
+ scope: '@vixoniccom'
39
+
40
+ - name: Configure npm authentication
41
+ run: |
42
+ echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
43
+ echo "@vixoniccom:registry=https://registry.npmjs.org/" >> ~/.npmrc
44
+ echo "registry=https://registry.npmjs.org/" >> ~/.npmrc
45
+
46
+ - name: Cache node modules
47
+ uses: actions/cache@v4
48
+ with:
49
+ path: ~/.npm
50
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
51
+ restore-keys: |
52
+ ${{ runner.os }}-node-
53
+
54
+ - name: Install dependencies
55
+ run: npm ci
56
+ env:
57
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
58
+
59
+ - name: Bump version
60
+ run: |
61
+ git config user.name "github-actions[bot]"
62
+ git config user.email "github-actions[bot]@users.noreply.github.com"
63
+ npm run release -- --no-verify
64
+ git push --follow-tags origin main
65
+ env:
66
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
67
+
68
+ - name: Extract changelog for this release
69
+ id: changelog
70
+ run: |
71
+ BODY=$(awk '/^## \[/{if(p) exit; p=1} p' CHANGELOG.md)
72
+ echo "body<<EOF" >> $GITHUB_OUTPUT
73
+ echo "$BODY" >> $GITHUB_OUTPUT
74
+ echo "EOF" >> $GITHUB_OUTPUT
75
+
76
+ - name: Extract version from package.json
77
+ id: extract_version
78
+ run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
79
+
80
+ - name: Build package
81
+ run: npm run prepublish
82
+ env:
83
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
84
+
85
+ - name: Verify build.zip exists
86
+ run: |
87
+ if [ ! -f "build.zip" ]; then
88
+ echo "❌ Error: build.zip not found after build process"
89
+ exit 1
90
+ fi
91
+ echo "✅ build.zip found successfully"
92
+ ls -la build.zip
93
+
94
+ - name: Publish to npm
95
+ run: npm publish --access public
96
+ env:
97
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
98
+
99
+ - name: Create GitHub Release
100
+ uses: softprops/action-gh-release@v2
101
+ with:
102
+ tag_name: v${{ steps.extract_version.outputs.version }}
103
+ name: v${{ steps.extract_version.outputs.version }}
104
+ body: ${{ steps.changelog.outputs.body }}
105
+ files: build.zip
106
+ env:
107
+ GITHUB_TOKEN: ${{ secrets.PRIVATE_TOKEN_GITHUB }}
108
+
109
+ report-ep:
110
+ name: Report EP Metrics
111
+ runs-on: ubuntu-latest
112
+ needs: [build]
113
+ if: always()
114
+
115
+ steps:
116
+ - uses: actions/checkout@v4
117
+ with:
118
+ fetch-depth: 0
119
+ token: ${{ secrets.PRIVATE_TOKEN_GITHUB }}
120
+
121
+ - uses: vismagroup/Jira-SDOP-Reporter@v1
122
+ with:
123
+ token: ${{ github.token }}
124
+ deployment-start: ${{ needs.build.outputs.deployment-start }}
125
+ deployment-status: ${{ needs.build.result == 'success' && 'success' || 'failure' }}
126
+ jira-token: ${{ secrets.JIRA_TOKEN }}
127
+ jira-issue-summary: "store-gallery-image release v${{ needs.build.outputs.version }}"
128
+ jira-issue-project: "SDOP"
129
+ jira-issue-components: |
130
+ ${{ secrets.EP_JIRA_COMPONENT }}
131
+ jira-issue-build-info: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
package/CHANGELOG.md CHANGED
@@ -2,6 +2,104 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.7.7-dev.21](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.19...v0.7.7-dev.21) (2026-03-18)
6
+
7
+ ### [0.7.7-dev.20](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.19...v0.7.7-dev.20) (2026-03-17)
8
+
9
+ ### [0.7.7-dev.19](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.18...v0.7.7-dev.19) (2026-03-17)
10
+
11
+ ### [0.7.7-dev.18](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.17...v0.7.7-dev.18) (2026-03-17)
12
+
13
+ ### [0.7.7-dev.17](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.16...v0.7.7-dev.17) (2026-03-17)
14
+
15
+ ### [0.7.7-dev.16](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.15...v0.7.7-dev.16) (2026-03-17)
16
+
17
+ ### [0.7.7-dev.15](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.13...v0.7.7-dev.15) (2026-03-16)
18
+
19
+ ### [0.7.7-dev.14](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.13...v0.7.7-dev.14) (2026-03-16)
20
+
21
+ ### [0.7.7-dev.13](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.12...v0.7.7-dev.13) (2026-03-16)
22
+
23
+ ### [0.7.7-dev.12](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.10...v0.7.7-dev.12) (2026-03-16)
24
+
25
+ ### [0.7.7-dev.11](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.10...v0.7.7-dev.11) (2026-03-16)
26
+
27
+ ### [0.7.7-dev.10](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.9...v0.7.7-dev.10) (2026-03-16)
28
+
29
+
30
+ ### Features
31
+
32
+ * add support for LocalBirthdayAppService and update related configurations ([7717e95](https://github.com/Vixonic/store-birthdays/commit/7717e957112ae1a31e00539278d5ce7e9a8c5866))
33
+
34
+ ### [0.7.7-dev.9](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.8...v0.7.7-dev.9) (2026-03-16)
35
+
36
+ ### [0.7.7-dev.8](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.7...v0.7.7-dev.8) (2026-03-16)
37
+
38
+ ### [0.7.7-dev.6](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.7...v0.7.7-dev.6) (2026-03-16)
39
+
40
+ ### [0.7.7-dev.7](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.6...v0.7.7-dev.7) (2026-03-16)
41
+
42
+ ### [0.7.7-dev.6](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.5...v0.7.7-dev.6) (2026-03-16)
43
+
44
+
45
+ ### Bug Fixes
46
+
47
+ * update release workflow to ensure proper version handling and skip publication for existing versions ([352f258](https://github.com/Vixonic/store-birthdays/commit/352f258f4227c4fecff1b9f54bd74bda4d7c3e3c))
48
+ * update release workflow to handle pre-release versions ([1a10178](https://github.com/Vixonic/store-birthdays/commit/1a10178166017f95901bf0deace182d7543b1609))
49
+ * VXD-821 update default margin values to 0% for text, image, and date ([c4fdc0f](https://github.com/Vixonic/store-birthdays/commit/c4fdc0f0d4caa90174a4d3c096263c5153ca9f26))
50
+
51
+ ### [0.7.7-dev.5](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.4...v0.7.7-dev.5) (2026-01-19)
52
+
53
+ ### [0.7.7-dev.4](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.3...v0.7.7-dev.4) (2026-01-19)
54
+
55
+
56
+ ### Features
57
+
58
+ * deleted npm-publish pipeline ([4b5ebc8](https://github.com/Vixonic/store-birthdays/commit/4b5ebc84d3ac63511cba9d9803a40447061d4318))
59
+
60
+
61
+ ### Bug Fixes
62
+
63
+ * deploy prod version ([eda76a7](https://github.com/Vixonic/store-birthdays/commit/eda76a720a7ad1e4b4ec6797b7d409ecb0a9f0bb))
64
+
65
+ ### [0.7.7-dev.2](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.3...v0.7.7-dev.2) (2026-01-19)
66
+
67
+
68
+ ### Features
69
+
70
+ * deleted npm-publish pipeline ([4b5ebc8](https://github.com/Vixonic/store-birthdays/commit/4b5ebc84d3ac63511cba9d9803a40447061d4318))
71
+
72
+
73
+ ### Bug Fixes
74
+
75
+ * deploy prod version ([eda76a7](https://github.com/Vixonic/store-birthdays/commit/eda76a720a7ad1e4b4ec6797b7d409ecb0a9f0bb))
76
+
77
+ ### [0.7.7-dev.1](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.3...v0.7.7-dev.1) (2026-01-19)
78
+
79
+
80
+ ### Features
81
+
82
+ * deleted npm-publish pipeline ([4b5ebc8](https://github.com/Vixonic/store-birthdays/commit/4b5ebc84d3ac63511cba9d9803a40447061d4318))
83
+
84
+
85
+ ### Bug Fixes
86
+
87
+ * deploy prod version ([eda76a7](https://github.com/Vixonic/store-birthdays/commit/eda76a720a7ad1e4b4ec6797b7d409ecb0a9f0bb))
88
+
89
+ ### [0.7.7-dev.0](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.3...v0.7.7-dev.0) (2026-01-19)
90
+
91
+
92
+ ### Features
93
+
94
+ * deleted npm-publish pipeline ([4b5ebc8](https://github.com/Vixonic/store-birthdays/commit/4b5ebc84d3ac63511cba9d9803a40447061d4318))
95
+
96
+
97
+ ### Bug Fixes
98
+
99
+ * deploy prod version ([eda76a7](https://github.com/Vixonic/store-birthdays/commit/eda76a720a7ad1e4b4ec6797b7d409ecb0a9f0bb))
100
+
101
+ ### [0.7.7-dev.3](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.2...v0.7.7-dev.3) (2026-01-16)
102
+
5
103
  ### [0.7.7-dev.2](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.1...v0.7.7-dev.2) (2026-01-16)
6
104
 
7
105
  ### [0.7.7-dev.1](https://github.com/Vixonic/store-birthdays/compare/v0.7.7-dev.0...v0.7.7-dev.1) (2026-01-16)
package/build.zip CHANGED
Binary file
@@ -10,6 +10,7 @@ export const dataInputs = [
10
10
  label: 'Selecciona la fuente de los cumpleaños',
11
11
  items: [
12
12
  { label: 'Documento', value: 'BirthdayAppService' },
13
+ { label: 'Administración local', value: 'LocalAppSheetsService' },
13
14
  { label: 'Rexmas', value: 'RexmasBirthdayService' },
14
15
  { label: 'Buk', value: 'BukBirthdayService' },
15
16
  { label: 'Talana', value: 'TalanaBirthdayService' }
@@ -23,6 +24,12 @@ export const dataInputs = [
23
24
  serviceType: 'BirthdayAppService',
24
25
  show: serviceEnabled.birthdayAppServiceEnabled
25
26
  }),
27
+ new ServiceInput({
28
+ id: 'localService',
29
+ label: 'Administración local',
30
+ serviceType: 'LocalAppSheetsService',
31
+ show: serviceEnabled.localAppSheetsServiceEnabled
32
+ }),
26
33
  new ServiceInput({
27
34
  id: 'rexmasService',
28
35
  label: 'Rexmas',
@@ -39,7 +39,7 @@ export const standardInputs = [
39
39
  new TextInput({
40
40
  id: 'textMargin',
41
41
  label: 'Margen',
42
- description: 'Margen derecho de los textos (en porcentaje). Por defecto 4%.',
42
+ description: 'Margen derecho de los textos (en porcentaje). Por defecto 0%.',
43
43
  }),
44
44
 
45
45
  new Switch({
@@ -113,7 +113,7 @@ export const standardInputs = [
113
113
  new TextInput({
114
114
  id: 'imageMargin',
115
115
  label: 'Margen',
116
- description: 'Margen derecho de la imagen (en porcentaje). Por defecto 4%.',
116
+ description: 'Margen derecho de la imagen (en porcentaje). Por defecto 0%.',
117
117
  show: ShowValidations.imageEnabled,
118
118
  }),
119
119
  new NumberInput({
@@ -187,7 +187,7 @@ export const standardInputs = [
187
187
  new TextInput({
188
188
  id: 'dateMargin',
189
189
  label: 'Margen',
190
- description: 'Margen derecho de la fecha (en porcentaje). Por defecto 4%.',
190
+ description: 'Margen derecho de la fecha (en porcentaje). Por defecto 0%.',
191
191
  show: ShowValidations.dateEnabled,
192
192
  }),
193
193
 
@@ -13,6 +13,7 @@ export const ShowValidations = {
13
13
 
14
14
  export const serviceEnabled = {
15
15
  birthdayAppServiceEnabled: '{{displayService}} === "BirthdayAppService"',
16
+ localAppSheetsServiceEnabled: '{{displayService}} === "LocalAppSheetsService"',
16
17
  rexmasServiceEnabled: '{{displayService}} === "RexmasBirthdayService"',
17
18
  bukServiceEnabled: '{{displayService}} === "BukBirthdayService"',
18
19
  talanaServiceEnabled: '{{displayService}} === "TalanaBirthdayService"',
@@ -19,6 +19,10 @@
19
19
  "label": "Documento",
20
20
  "value": "BirthdayAppService"
21
21
  },
22
+ {
23
+ "label": "Administración local",
24
+ "value": "LocalAppSheetsService"
25
+ },
22
26
  {
23
27
  "label": "Rexmas",
24
28
  "value": "RexmasBirthdayService"
@@ -39,7 +43,14 @@
39
43
  "label": "Documento",
40
44
  "show": "{{displayService}} === \"BirthdayAppService\"",
41
45
  "type": "service-input",
42
- "serviceType": "BirthdayAppService"
46
+ "serviceType": "BirthdayAppService"
47
+ },
48
+ {
49
+ "id": "localService",
50
+ "label": "Administración local",
51
+ "show": "{{displayService}} === \"LocalAppSheetsService\"",
52
+ "type": "service-input",
53
+ "serviceType": "LocalAppSheetsService"
43
54
  },
44
55
  {
45
56
  "id": "rexmasService",
@@ -328,7 +339,7 @@
328
339
  "id": "textMargin",
329
340
  "label": "Margen",
330
341
  "type": "text-input",
331
- "description": "Margen derecho de los textos (en porcentaje). Por defecto 4%."
342
+ "description": "Margen derecho de los textos (en porcentaje). Por defecto 0%."
332
343
  },
333
344
  {
334
345
  "id": "descriptionEnabled",
@@ -460,7 +471,7 @@
460
471
  "label": "Margen",
461
472
  "show": "{{imageEnabled}} === true",
462
473
  "type": "text-input",
463
- "description": "Margen derecho de la imagen (en porcentaje). Por defecto 4%."
474
+ "description": "Margen derecho de la imagen (en porcentaje). Por defecto 0%."
464
475
  },
465
476
  {
466
477
  "id": "imageSize",
@@ -588,7 +599,7 @@
588
599
  "label": "Margen",
589
600
  "show": "{{dateEnabled}} === true",
590
601
  "type": "text-input",
591
- "description": "Margen derecho de la fecha (en porcentaje). Por defecto 4%."
602
+ "description": "Margen derecho de la fecha (en porcentaje). Por defecto 0%."
592
603
  },
593
604
  {
594
605
  "type": "label",
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "author": {
9
9
  "name": "Lorenzo Alfaro Bravo"
10
10
  },
11
- "version": "0.7.7-dev.2",
11
+ "version": "0.7.7-dev.21",
12
12
  "scripts": {
13
13
  "prepublish": "vixonic-module-packager --mode=build",
14
14
  "watch": "vixonic-module-packager --mode=watch",
@@ -29,8 +29,8 @@
29
29
  "@types/lodash": "^4.17.0",
30
30
  "@types/react": "^18.3.23",
31
31
  "@types/react-dom": "^18.3.7",
32
- "@vixoniccom/module-packager": "2.12.0-dev.10",
33
- "@vixoniccom/modules": "^2.24.0-dev.0",
32
+ "@vixoniccom/module-packager": "^2.13.0",
33
+ "@vixoniccom/modules": "^2.25.0-dev.6",
34
34
  "standard-version": "^9.5.0"
35
35
  }
36
36
  }
@@ -1 +1,2 @@
1
- sonar.projectKey=Vixonic_store-birthdays_7769e3be-dc9d-4ca7-bf1a-4bfa182a053c
1
+ sonar.projectKey=Vixonic_store-birthdays_7769e3be-dc9d-4ca7-bf1a-4bfa182a053c
2
+ sonar.exclusions=.github/**/*
@@ -1,94 +0,0 @@
1
- name: Publish to NPM
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
- - main
8
-
9
- jobs:
10
- publish:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - name: Checkout code
15
- uses: actions/checkout@v4
16
- with:
17
- fetch-depth: 0
18
-
19
- - name: Setup Node.js 20
20
- uses: actions/setup-node@v4
21
- with:
22
- node-version: '20'
23
- registry-url: 'https://registry.npmjs.org'
24
- scope: '@vixoniccom'
25
-
26
- - name: Configure npm authentication
27
- run: |
28
- echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
29
- echo "@vixoniccom:registry=https://registry.npmjs.org/" >> ~/.npmrc
30
- echo "registry=https://registry.npmjs.org/" >> ~/.npmrc
31
-
32
- - name: Cache node modules
33
- uses: actions/cache@v3
34
- with:
35
- path: ~/.npm
36
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
37
- restore-keys: |
38
- ${{ runner.os }}-node-
39
-
40
- - name: Install dependencies
41
- run: npm ci
42
- env:
43
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
44
-
45
- - name: Build package
46
- run: npm run prepublish
47
-
48
- - name: Verify build.zip exists
49
- run: |
50
- if [ ! -f "build.zip" ]; then
51
- echo "❌ Error: build.zip not found after build process"
52
- exit 1
53
- fi
54
- echo "✅ build.zip found successfully"
55
- ls -la build.zip
56
-
57
- - name: Check if version already exists on npm
58
- id: check-version
59
- run: |
60
- PACKAGE_NAME=$(node -p "require('./package.json').name")
61
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
62
-
63
- echo "Checking if $PACKAGE_NAME@$PACKAGE_VERSION exists on npm..."
64
-
65
- if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version 2>/dev/null; then
66
- echo "version-exists=true" >> $GITHUB_OUTPUT
67
- echo "⚠️ Version $PACKAGE_VERSION already exists on npm"
68
- else
69
- echo "version-exists=false" >> $GITHUB_OUTPUT
70
- echo "✅ Version $PACKAGE_VERSION does not exist on npm - ready to publish"
71
- fi
72
-
73
- - name: Publish to npm
74
- if: steps.check-version.outputs.version-exists == 'false'
75
- run: |
76
- echo "Publishing to npm..."
77
- npm publish --access public
78
- env:
79
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
80
-
81
- - name: Publication success
82
- if: steps.check-version.outputs.version-exists == 'false'
83
- run: |
84
- PACKAGE_NAME=$(node -p "require('./package.json').name")
85
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
86
- echo "🎉 Successfully published $PACKAGE_NAME@$PACKAGE_VERSION to npm!"
87
- echo "📦 Package includes build.zip with the compiled application"
88
-
89
- - name: Skip publication
90
- if: steps.check-version.outputs.version-exists == 'true'
91
- run: |
92
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
93
- echo "⏭️ Skipping publication - version $PACKAGE_VERSION already exists on npm"
94
- echo "💡 To publish a new version, update the version in package.json or run 'npm run release'"
@@ -1,126 +0,0 @@
1
- name: Publish to NPM
2
-
3
- on:
4
- workflow_dispatch:
5
- push:
6
- branches:
7
- - master
8
- - main
9
-
10
- jobs:
11
- publish:
12
- runs-on: ubuntu-latest
13
- permissions:
14
- contents: write
15
-
16
- steps:
17
- - name: Checkout code
18
- uses: actions/checkout@v4
19
- with:
20
- fetch-depth: 0
21
-
22
- - name: Configure git
23
- run: |
24
- git config --global user.email "github-actions[bot]@users.noreply.github.com"
25
- git config --global user.name "github-actions[bot]"
26
-
27
- - name: Setup Node.js 20
28
- uses: actions/setup-node@v4
29
- with:
30
- node-version: '20'
31
- registry-url: 'https://registry.npmjs.org'
32
- scope: '@vixoniccom'
33
-
34
- - name: Configure npm authentication
35
- run: |
36
- echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
37
- echo "@vixoniccom:registry=https://registry.npmjs.org/" >> ~/.npmrc
38
- echo "registry=https://registry.npmjs.org/" >> ~/.npmrc
39
-
40
- - name: Cache node modules
41
- uses: actions/cache@v4
42
- with:
43
- path: ~/.npm
44
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
45
- restore-keys: |
46
- ${{ runner.os }}-node-
47
-
48
- - name: Install dependencies
49
- run: npm ci
50
- env:
51
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
52
-
53
- - name: Check if version is pre-release
54
- id: check-prerelease
55
- run: |
56
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
57
- echo "Current version: $PACKAGE_VERSION"
58
-
59
- if [[ "$PACKAGE_VERSION" =~ -(dev|beta|alpha|rc|canary|next|preview|snapshot|nightly)\.[0-9]+ ]]; then
60
- echo "is-prerelease=true" >> $GITHUB_OUTPUT
61
- echo "✅ Version $PACKAGE_VERSION is a pre-release - will run npm run release"
62
- else
63
- echo "is-prerelease=false" >> $GITHUB_OUTPUT
64
- echo "✅ Version $PACKAGE_VERSION is already a production version - skipping npm run release"
65
- fi
66
-
67
- - name: Bump version to production (only if pre-release)
68
- if: steps.check-prerelease.outputs.is-prerelease == 'true'
69
- run: |
70
- echo "🔄 Converting pre-release to production version..."
71
- npm run release
72
- git push --follow-tags origin ${{ github.ref_name }}
73
- env:
74
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
75
-
76
- - name: Build package
77
- run: npm run prepublish
78
- env:
79
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
80
-
81
- - name: Verify build.zip exists
82
- run: |
83
- if [ ! -f "build.zip" ]; then
84
- echo "❌ Error: build.zip not found after build process"
85
- exit 1
86
- fi
87
- echo "✅ build.zip found successfully"
88
- ls -la build.zip
89
-
90
- - name: Check if version already exists on npm
91
- id: check-version
92
- run: |
93
- PACKAGE_NAME=$(node -p "require('./package.json').name")
94
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
95
-
96
- echo "Checking if $PACKAGE_NAME@$PACKAGE_VERSION exists on npm..."
97
-
98
- if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version 2>/dev/null; then
99
- echo "version-exists=true" >> $GITHUB_OUTPUT
100
- echo "⚠️ Version $PACKAGE_VERSION already exists on npm"
101
- else
102
- echo "version-exists=false" >> $GITHUB_OUTPUT
103
- echo "✅ Version $PACKAGE_VERSION does not exist on npm - ready to publish"
104
- fi
105
-
106
- - name: Publish to npm
107
- if: steps.check-version.outputs.version-exists == 'false'
108
- run: |
109
- echo "Publishing to npm..."
110
- npm publish --access public
111
- env:
112
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
113
-
114
- - name: Publication success
115
- if: steps.check-version.outputs.version-exists == 'false'
116
- run: |
117
- PACKAGE_NAME=$(node -p "require('./package.json').name")
118
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
119
- echo "🎉 Successfully published $PACKAGE_NAME@$PACKAGE_VERSION to npm!"
120
- echo "📦 Package includes build.zip with the compiled application"
121
-
122
- - name: Skip publication - version exists
123
- if: steps.check-version.outputs.version-exists == 'true'
124
- run: |
125
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
126
- echo "⏭️ Skipping publication - version $PACKAGE_VERSION already exists on npm"