@futdevpro/dynamo-eslint 1.15.25 โ 1.20.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/.c8rc.json +26 -26
- package/.cursor/rules/__assistant_guide.mdc +30 -30
- package/.cursor/rules/__main.mdc +64 -64
- package/.cursor/rules/_ag_backend-structure.mdc +85 -85
- package/.cursor/rules/_ag_backend.mdc +16 -16
- package/.cursor/rules/_ag_debug.mdc +7 -7
- package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -372
- package/.cursor/rules/_ag_file-refactoring.mdc +113 -113
- package/.cursor/rules/_ag_fixes_rules.mdc +5 -5
- package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
- package/.cursor/rules/_ag_frontend.mdc +39 -39
- package/.cursor/rules/_ag_import-rules.mdc +44 -44
- package/.cursor/rules/_ag_naming.mdc +115 -115
- package/.cursor/rules/_ag_running_commands.mdc +4 -4
- package/.cursor/rules/_ag_server-controller.mdc +5 -5
- package/.cursor/rules/_ag_should-be.mdc +6 -6
- package/.cursor/rules/_ag_swearing.mdc +47 -47
- package/.cursor/rules/ai_development_guide.md +60 -60
- package/.cursor/rules/ai_directives.md +114 -114
- package/.cursor/rules/cursor-rules.md +160 -160
- package/.cursor/rules/default-command.mdc +464 -464
- package/.cursor/rules/error_code_pattern.md +39 -39
- package/.cursor/rules/saved rule mcp server use.md +15 -15
- package/.dynamo/pipeline.cicd.config.json +184 -184
- package/.dynamo/version-bump.config.json +5 -5
- package/.eslintrc.json +4 -4
- package/.github/workflows/main.yml +436 -436
- package/.husky/pre-commit +2 -2
- package/.vscode/settings.json +11 -11
- package/README.md +312 -315
- package/__documentations/2026-04-18-ccap-review-integration.md +173 -173
- package/__documentations/2026-08-18-bfr-ctm-005-eslint9-validator-report.md +45 -0
- package/__documentations/2026-08-22-angular-20-phase2-release.md +79 -0
- package/build/configs/base.d.ts +1 -2
- package/build/configs/base.d.ts.map +1 -1
- package/build/configs/base.js +3 -4
- package/build/configs/base.js.map +1 -1
- package/build/configs/ngx.d.ts +1 -3
- package/build/configs/ngx.d.ts.map +1 -1
- package/build/configs/ngx.js +4 -7
- package/build/configs/ngx.js.map +1 -1
- package/build/plugin/index.d.ts +24 -24
- package/build/plugin/rules/no-getter-logic.js +1 -1
- package/build/plugin/rules/no-getter-logic.js.map +1 -1
- package/build/plugin/rules/prefer-enum-over-string-union.js +7 -7
- package/build/plugin/rules/prefer-enum-over-string-union.js.map +1 -1
- package/build/plugin/rules/prefer-interface-over-duplicate-types.js +2 -2
- package/build/plugin/rules/prefer-interface-over-duplicate-types.js.map +1 -1
- package/build/plugin/rules/require-jsdoc-description.js +7 -7
- package/build/plugin/rules/require-jsdoc-description.js.map +1 -1
- package/build/scripts/dynamo-fix.js +1 -1
- package/build/scripts/dynamo-fix.js.map +1 -1
- package/build/scripts/fix-return-types.d.ts.map +1 -1
- package/build/scripts/fix-return-types.js.map +1 -1
- package/build/scripts/validate-imports.js +51 -27
- package/build/scripts/validate-imports.js.map +1 -1
- package/build/scripts/validate-naming.js +49 -10
- package/build/scripts/validate-naming.js.map +1 -1
- package/eslint.config.js +15 -15
- package/package.json +27 -28
- package/pnpm-workspace.yaml +2 -0
- package/samples/.vscode/settings.json +13 -13
- package/samples/base/.eslintrc.json +6 -6
- package/samples/base/eslint.config.js +3 -3
- package/samples/fsm/.eslintrc.json +4 -4
- package/samples/fsm/eslint.config.js +3 -3
- package/samples/ngx/.eslintrc.json +6 -6
- package/samples/ngx/eslint.config.js +3 -3
- package/samples/ngx-package/.eslintrc.json +4 -4
- package/samples/ngx-package/eslint.config.js +3 -3
- package/samples/nts/.eslintrc.json +6 -6
- package/samples/nts/eslint.config.js +3 -3
- package/samples/nts-package/.eslintrc.json +4 -4
- package/samples/nts-package/eslint.config.js +3 -3
- package/samples/package.json.example +22 -26
- package/samples/poc-sample.ts +38 -38
- package/samples/poc-violations.ts +54 -54
- package/scripts/run-coverage-tests.js +24 -24
- package/spec/support/helpers/ts-node-helper.js +9 -9
- package/spec/support/jasmine.coverage.json +23 -23
- package/spec/support/jasmine.json +24 -24
- package/src/configs/angular20-compatibility.spec.ts +62 -0
- package/src/configs/base.ts +156 -157
- package/src/configs/fsm.ts +10 -10
- package/src/configs/ngx-package.ts +10 -10
- package/src/configs/ngx.ts +92 -95
- package/src/configs/nts-package.ts +20 -20
- package/src/configs/nts.ts +34 -34
- package/src/index.ts +4 -4
- package/src/plugin/index.ts +86 -86
- package/src/plugin/rules/angular/angular-for-track-logic.spec.ts +44 -44
- package/src/plugin/rules/angular/angular-for-track-logic.ts +88 -88
- package/src/plugin/rules/angular/effect-signal-loop.spec.ts +89 -89
- package/src/plugin/rules/angular/effect-signal-loop.ts +125 -125
- package/src/plugin/rules/angular/no-async-ngoninit.spec.ts +50 -50
- package/src/plugin/rules/angular/no-async-ngoninit.ts +43 -43
- package/src/plugin/rules/angular/no-component-direct-api.spec.ts +78 -78
- package/src/plugin/rules/angular/no-component-direct-api.ts +82 -82
- package/src/plugin/rules/angular/no-method-call-in-template.spec.ts +63 -63
- package/src/plugin/rules/angular/no-method-call-in-template.ts +89 -89
- package/src/plugin/rules/angular/no-ngfor-directive.spec.ts +44 -44
- package/src/plugin/rules/angular/no-ngfor-directive.ts +62 -62
- package/src/plugin/rules/angular/no-ngif-directive.spec.ts +44 -44
- package/src/plugin/rules/angular/no-ngif-directive.ts +62 -62
- package/src/plugin/rules/explicit-types.spec.ts +190 -190
- package/src/plugin/rules/explicit-types.ts +186 -186
- package/src/plugin/rules/import/import-order.spec.ts +219 -219
- package/src/plugin/rules/import/import-order.ts +197 -197
- package/src/plugin/rules/import/no-import-type.spec.ts +69 -69
- package/src/plugin/rules/import/no-import-type.ts +46 -46
- package/src/plugin/rules/import/no-js-import.spec.ts +82 -82
- package/src/plugin/rules/import/no-js-import.ts +45 -45
- package/src/plugin/rules/naming-patterns.spec.ts +189 -189
- package/src/plugin/rules/naming-patterns.ts +426 -426
- package/src/plugin/rules/no-getter-logic.spec.ts +591 -591
- package/src/plugin/rules/no-getter-logic.ts +220 -220
- package/src/plugin/rules/prefer-enum-over-string-union.spec.ts +583 -583
- package/src/plugin/rules/prefer-enum-over-string-union.ts +333 -334
- package/src/plugin/rules/prefer-interface-over-duplicate-types.spec.ts +404 -404
- package/src/plugin/rules/prefer-interface-over-duplicate-types.ts +314 -314
- package/src/plugin/rules/require-jsdoc-description.spec.ts +779 -779
- package/src/plugin/rules/require-jsdoc-description.ts +572 -572
- package/src/plugin/rules/require-test-description-prefix.spec.ts +459 -459
- package/src/plugin/rules/require-test-description-prefix.ts +154 -154
- package/src/plugin/rules/ts/data-model-extends.spec.ts +84 -84
- package/src/plugin/rules/ts/data-model-extends.ts +100 -100
- package/src/plugin/rules/ts/no-any-type.spec.ts +28 -28
- package/src/plugin/rules/ts/no-any-type.ts +36 -36
- package/src/plugin/rules/ts/no-as-cast.spec.ts +51 -51
- package/src/plugin/rules/ts/no-as-cast.ts +51 -51
- package/src/plugin/rules/ts/no-dynamic-imports.spec.ts +54 -54
- package/src/plugin/rules/ts/no-dynamic-imports.ts +49 -49
- package/src/plugin/rules/ts/no-native-browser-dialogs.spec.ts +54 -54
- package/src/plugin/rules/ts/no-native-browser-dialogs.ts +84 -84
- package/src/plugin/rules/ts/no-plain-function-export.spec.ts +72 -72
- package/src/plugin/rules/ts/no-plain-function-export.ts +73 -73
- package/src/plugin/rules/ts/one-export-per-file.spec.ts +64 -64
- package/src/plugin/rules/ts/one-export-per-file.ts +77 -77
- package/src/scripts/dynamo-fix.ts +172 -172
- package/src/scripts/eslintrc-audit.ts +116 -116
- package/src/scripts/fix-return-types.spec.ts +65 -65
- package/src/scripts/fix-return-types.ts +286 -285
- package/src/scripts/validate-imports.ts +288 -257
- package/src/scripts/validate-naming.ts +209 -183
- package/src/scripts/validator-cli.integration.spec.ts +99 -0
- package/tsconfig.json +31 -31
|
@@ -1,436 +1,436 @@
|
|
|
1
|
-
# WORKSPACE-WIDE DISABLED (2026-06-19) โ per user-request
|
|
2
|
-
# Az Actions-percek megtakarรญtรกsa miatt; a CICD-t a futdevpro Overseer
|
|
3
|
-
# webhook-rendszere irรกnyรญtja. A workflow-trigger NEM aktivรกlรณdik egyetlen
|
|
4
|
-
# push-ra sem, amรญg ez a komment-blokk fent van. Visszaรกllรญtรกshoz tรถrรถld
|
|
5
|
-
# a header-blokkot + uncomment minden kรถvetkezล sort (egy '# ' eltรกvolรญtรกs).
|
|
6
|
-
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
7
|
-
# # =============================================================================
|
|
8
|
-
# # Dynamo-ESLint CI/CD โ Overseer Pipeline Trigger
|
|
9
|
-
# # =============================================================================
|
|
10
|
-
# # Ez a workflow CSAK egy webhook-ot kuld az Overseer-nek es AZONNAL kilep.
|
|
11
|
-
# # A pipeline-t az Overseer FDP Runner-ek futtatjak (nem a GitHub Actions).
|
|
12
|
-
# #
|
|
13
|
-
# # A regi workflow-k a fajl vegen kommentben megtalalhatok (fallback).
|
|
14
|
-
# # =============================================================================
|
|
15
|
-
#
|
|
16
|
-
# name: Trigger Pipeline
|
|
17
|
-
# on:
|
|
18
|
-
# workflow_dispatch:
|
|
19
|
-
# # Az org-szintu GitHub webhook kozvetlenul triggereli az Overseer-t.
|
|
20
|
-
# # Ez a workflow csak manualis fallback (workflow_dispatch).
|
|
21
|
-
#
|
|
22
|
-
# jobs:
|
|
23
|
-
# trigger:
|
|
24
|
-
# name: Overseer Trigger
|
|
25
|
-
# runs-on: ubuntu-latest
|
|
26
|
-
# timeout-minutes: 1
|
|
27
|
-
# steps:
|
|
28
|
-
# - uses: actions/checkout@v4
|
|
29
|
-
#
|
|
30
|
-
# - name: Trigger Overseer Pipeline
|
|
31
|
-
# uses: futdevpro/fdp-github-actions/overseer-trigger@master
|
|
32
|
-
# with:
|
|
33
|
-
# OVERSEER_WEBHOOK_URL: ${{ vars.OVERSEER_URL }}/pipeline-runner/webhook/github
|
|
34
|
-
# OVERSEER_WEBHOOK_SECRET: ${{ secrets.OVERSEER_SECRET_KEY }}
|
|
35
|
-
#
|
|
36
|
-
# # =============================================================================
|
|
37
|
-
# # REGI WORKFLOW (fallback) โ NE TOROLD!
|
|
38
|
-
# # =============================================================================
|
|
39
|
-
# # name: Test and Deploy
|
|
40
|
-
# # on:
|
|
41
|
-
# # push:
|
|
42
|
-
# # branches:
|
|
43
|
-
# # - '**'
|
|
44
|
-
# # permissions:
|
|
45
|
-
# # actions: read
|
|
46
|
-
# # id-token: write
|
|
47
|
-
# # contents: read
|
|
48
|
-
# # checks: write
|
|
49
|
-
# # issues: read
|
|
50
|
-
# # pull-requests: write
|
|
51
|
-
# # env:
|
|
52
|
-
# # PACKAGE_NAME: ''
|
|
53
|
-
# # THIS_VERSION: 0.0.0
|
|
54
|
-
# # LATEST_VERSION: 0.0.0
|
|
55
|
-
# # VERSION_PUBLISHED: true
|
|
56
|
-
# #
|
|
57
|
-
# #
|
|
58
|
-
# # jobs:
|
|
59
|
-
# # notification0:
|
|
60
|
-
# # name: ๐น Discord start Notification
|
|
61
|
-
# # runs-on: ubuntu-latest
|
|
62
|
-
# # #runs-on: plo-koon
|
|
63
|
-
# # timeout-minutes: 20
|
|
64
|
-
# # outputs:
|
|
65
|
-
# # start: ${{ steps.mark_start.outputs.started }}
|
|
66
|
-
# # steps:
|
|
67
|
-
# # - uses: actions/checkout@v4
|
|
68
|
-
# # - id: mark_start
|
|
69
|
-
# # run: echo "started=$(date +%s)" >> "$GITHUB_OUTPUT"
|
|
70
|
-
# # - name: Send Discord start notification
|
|
71
|
-
# # uses: futdevpro/fdp-github-actions/discord-start-notification@latest
|
|
72
|
-
# # with:
|
|
73
|
-
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
74
|
-
# # APPLICATION_NAME: "Dynamo-ESLint"
|
|
75
|
-
# # APPLICATION_EMOJI: "๐ง"
|
|
76
|
-
# # COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
|
77
|
-
# # EVENT_DATETIME: ${{ github.event.head_commit.timestamp }}
|
|
78
|
-
# # DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
79
|
-
# # DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
80
|
-
# #
|
|
81
|
-
# # notification0_fail_report:
|
|
82
|
-
# # name: ๐ฃ Discord Start Notification Fail Report
|
|
83
|
-
# # runs-on: ubuntu-latest
|
|
84
|
-
# # #runs-on: plo-koon
|
|
85
|
-
# # timeout-minutes: 20
|
|
86
|
-
# # if: always() && needs.notification0.result == 'failure'
|
|
87
|
-
# # needs: [notification0]
|
|
88
|
-
# # steps:
|
|
89
|
-
# # - name: send custom message with args
|
|
90
|
-
# # uses: appleboy/discord-action@master
|
|
91
|
-
# # with:
|
|
92
|
-
# # webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
93
|
-
# # webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
94
|
-
# # message: |
|
|
95
|
-
# # โโโ๐ง Failed to send Discord start notification for ${{ github.repository }}! [๐](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
|
|
96
|
-
# #
|
|
97
|
-
# # check_secrets:
|
|
98
|
-
# # name: ๐ Check Required Secrets and Variables
|
|
99
|
-
# # #runs-on: ubuntu-latest
|
|
100
|
-
# # runs-on: plo-koon
|
|
101
|
-
# # timeout-minutes: 20
|
|
102
|
-
# # steps:
|
|
103
|
-
# # - name: Check Required Secrets and Variables
|
|
104
|
-
# # uses: futdevpro/fdp-github-actions/check-secrets-and-variables@latest
|
|
105
|
-
# # with:
|
|
106
|
-
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
107
|
-
# # ITEMS_TO_CHECK: |
|
|
108
|
-
# # [
|
|
109
|
-
# # {
|
|
110
|
-
# # "valueName": "NPM_TOKEN",
|
|
111
|
-
# # "value": "${{ secrets.NPM_TOKEN }}",
|
|
112
|
-
# # "type": "SECRET"
|
|
113
|
-
# # },
|
|
114
|
-
# # {
|
|
115
|
-
# # "valueName": "DISCORD_WEBHOOK_ID",
|
|
116
|
-
# # "value": "${{ secrets.DISCORD_WEBHOOK_ID }}",
|
|
117
|
-
# # "type": "SECRET"
|
|
118
|
-
# # },
|
|
119
|
-
# # {
|
|
120
|
-
# # "valueName": "DISCORD_WEBHOOK_TOKEN",
|
|
121
|
-
# # "value": "${{ secrets.DISCORD_WEBHOOK_TOKEN }}",
|
|
122
|
-
# # "type": "SECRET"
|
|
123
|
-
# # },
|
|
124
|
-
# # {
|
|
125
|
-
# # "valueName": "OVERSEER_SECRET_KEY",
|
|
126
|
-
# # "value": "${{ secrets.OVERSEER_SECRET_KEY }}",
|
|
127
|
-
# # "type": "SECRET"
|
|
128
|
-
# # },
|
|
129
|
-
# #
|
|
130
|
-
# # {
|
|
131
|
-
# # "valueName": "OVERSEER_URL",
|
|
132
|
-
# # "value": "${{ vars.OVERSEER_URL }}",
|
|
133
|
-
# # "type": "VARIABLE"
|
|
134
|
-
# # }
|
|
135
|
-
# # ]
|
|
136
|
-
# #
|
|
137
|
-
# # check_dev_leftovers:
|
|
138
|
-
# # name: ๐ Check Dev leftovers
|
|
139
|
-
# # #runs-on: ubuntu-latest
|
|
140
|
-
# # runs-on: plo-koon
|
|
141
|
-
# # timeout-minutes: 20
|
|
142
|
-
# # steps:
|
|
143
|
-
# # - name: Checkout code
|
|
144
|
-
# # uses: actions/checkout@v4
|
|
145
|
-
# #
|
|
146
|
-
# # - name: Install Node.js
|
|
147
|
-
# # uses: actions/setup-node@v2
|
|
148
|
-
# # with:
|
|
149
|
-
# # node-version: '16'
|
|
150
|
-
# #
|
|
151
|
-
# # # TODO: Check build version (to ALL packages)
|
|
152
|
-
# # - name: Check build folder
|
|
153
|
-
# # run: |
|
|
154
|
-
# # node -e "
|
|
155
|
-
# # const buildFolder = './build/';
|
|
156
|
-
# # const fs = require('fs');
|
|
157
|
-
# #
|
|
158
|
-
# # fs.readdir(buildFolder, (err, files) => {
|
|
159
|
-
# # if (!files?.length) {
|
|
160
|
-
# # console.error(
|
|
161
|
-
# # 'FDPError: ./build folder is MISSING!' +
|
|
162
|
-
# # '\nbuild the project locally before push!'
|
|
163
|
-
# # );
|
|
164
|
-
# # process.exit(1);
|
|
165
|
-
# # }
|
|
166
|
-
# #
|
|
167
|
-
# # if (files.includes('dynamo-eslint')) {
|
|
168
|
-
# # console.error(
|
|
169
|
-
# # 'FDPError: ./build contains dynamo-eslint folder which means this is a local dev build!' +
|
|
170
|
-
# # '\nrebuild the project locally before push!'
|
|
171
|
-
# # );
|
|
172
|
-
# # process.exit(1);
|
|
173
|
-
# # }
|
|
174
|
-
# # });
|
|
175
|
-
# # "
|
|
176
|
-
# #
|
|
177
|
-
# # test:
|
|
178
|
-
# # name: ๐งช Test Build
|
|
179
|
-
# # runs-on: ubuntu-latest
|
|
180
|
-
# # needs: [ check_dev_leftovers ]
|
|
181
|
-
# # timeout-minutes: 20
|
|
182
|
-
# # steps:
|
|
183
|
-
# # - name: Checkout code
|
|
184
|
-
# # uses: actions/checkout@v4
|
|
185
|
-
# #
|
|
186
|
-
# # - name: Set NPM RC
|
|
187
|
-
# # run: |
|
|
188
|
-
# # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
189
|
-
# #
|
|
190
|
-
# # - name: Get safe-chain version
|
|
191
|
-
# # run: |
|
|
192
|
-
# # VERSION=$(curl -s https://api.github.com/repos/AikidoSec/safe-chain/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/^v//')
|
|
193
|
-
# # echo "SAFE_CHAIN_VERSION=$VERSION" >> $GITHUB_ENV
|
|
194
|
-
# #
|
|
195
|
-
# # - name: Install safe-chain
|
|
196
|
-
# # run: |
|
|
197
|
-
# # curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci
|
|
198
|
-
# #
|
|
199
|
-
# # - name: Install pnpm
|
|
200
|
-
# # run: |
|
|
201
|
-
# # npm i -g pnpm
|
|
202
|
-
# #
|
|
203
|
-
# # - name: Install Packages
|
|
204
|
-
# # run: |
|
|
205
|
-
# # pnpm i --safe-chain-skip-minimum-package-age
|
|
206
|
-
# #
|
|
207
|
-
# # - name: Build
|
|
208
|
-
# # run: |
|
|
209
|
-
# # npx tsc
|
|
210
|
-
# #
|
|
211
|
-
# # - name: Install Jasmine
|
|
212
|
-
# # run: |
|
|
213
|
-
# # npm i -g jasmine
|
|
214
|
-
# #
|
|
215
|
-
# # - name: Test
|
|
216
|
-
# # run: |
|
|
217
|
-
# # jasmine
|
|
218
|
-
# #
|
|
219
|
-
# # - name: Test Pack
|
|
220
|
-
# # run: |
|
|
221
|
-
# # pnpm pack
|
|
222
|
-
# #
|
|
223
|
-
# #
|
|
224
|
-
# # check_version:
|
|
225
|
-
# # name: ๐ Check Version
|
|
226
|
-
# # needs: [ test ]
|
|
227
|
-
# # #runs-on: ubuntu-latest
|
|
228
|
-
# # runs-on: plo-koon
|
|
229
|
-
# # timeout-minutes: 20
|
|
230
|
-
# # outputs:
|
|
231
|
-
# # version_published: ${{ steps.version_check_results.outputs.version_published }}
|
|
232
|
-
# # steps:
|
|
233
|
-
# # - name: Checkout code
|
|
234
|
-
# # uses: actions/checkout@v4
|
|
235
|
-
# #
|
|
236
|
-
# # - name: Set Package Name
|
|
237
|
-
# # run: |
|
|
238
|
-
# # echo "PACKAGE_NAME=$(node -p -e "require('./package.json').name")" >> $GITHUB_ENV
|
|
239
|
-
# #
|
|
240
|
-
# # - name: Set RC
|
|
241
|
-
# # run: |
|
|
242
|
-
# # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
243
|
-
# #
|
|
244
|
-
# # - name: Get This Version
|
|
245
|
-
# # run: |
|
|
246
|
-
# # RAW_THIS_VERSION=$(node -p -e "require('./package.json').version")
|
|
247
|
-
# # # replace ALL: 'v0' with '', '01' with '1', '.0' with '.'
|
|
248
|
-
# # RAW_THIS_VERSION=$(echo $RAW_THIS_VERSION | sed 's:v0::g' | sed 's:01:1:g' | sed -e 's:\.0:\.:g')
|
|
249
|
-
# # echo "THIS_VERSION=$RAW_THIS_VERSION" >> $GITHUB_ENV
|
|
250
|
-
# #
|
|
251
|
-
# # - name: Get Latest Version
|
|
252
|
-
# # run: |
|
|
253
|
-
# # echo "LATEST_VERSION=$(npm view ${{ env.PACKAGE_NAME }} version)" >> $GITHUB_ENV
|
|
254
|
-
# #
|
|
255
|
-
# # - name: Check All Versions
|
|
256
|
-
# # run: |
|
|
257
|
-
# # ALL_VERSIONS=$(npm view ${{ env.PACKAGE_NAME }} versions)
|
|
258
|
-
# # if echo "$ALL_VERSIONS" | grep -q "${{ env.THIS_VERSION }}"; then
|
|
259
|
-
# # echo "VERSION_PUBLISHED=true" >> $GITHUB_ENV
|
|
260
|
-
# # else
|
|
261
|
-
# # echo "VERSION_PUBLISHED=false" >> $GITHUB_ENV
|
|
262
|
-
# # fi
|
|
263
|
-
# #
|
|
264
|
-
# # - name: Version Check Results
|
|
265
|
-
# # id: version_check_results
|
|
266
|
-
# # run: |
|
|
267
|
-
# # echo package name: "${{ env.PACKAGE_NAME }}"
|
|
268
|
-
# # echo this: "${{ env.THIS_VERSION }}"
|
|
269
|
-
# # echo latest: "${{ env.LATEST_VERSION }}"
|
|
270
|
-
# # echo this is the latest: "${{ env.LATEST_VERSION == env.THIS_VERSION }}"
|
|
271
|
-
# # echo this version is published: "${{ env.VERSION_PUBLISHED }}"
|
|
272
|
-
# # echo all published versions: $(npm view ${{ env.PACKAGE_NAME }} versions)
|
|
273
|
-
# # echo "::set-output name=version_published::${{ env.VERSION_PUBLISHED }}"
|
|
274
|
-
# #
|
|
275
|
-
# # deploy:
|
|
276
|
-
# # needs: [ check_version ]
|
|
277
|
-
# # name: ๐ Deploy to NPM
|
|
278
|
-
# # runs-on: ubuntu-latest
|
|
279
|
-
# # timeout-minutes: 20
|
|
280
|
-
# # if: ${{ needs.check_version.outputs.version_published != 'true' }}
|
|
281
|
-
# # steps:
|
|
282
|
-
# # - name: Checkout code
|
|
283
|
-
# # uses: actions/checkout@v4
|
|
284
|
-
# #
|
|
285
|
-
# # - name: Set RC
|
|
286
|
-
# # run: |
|
|
287
|
-
# # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
288
|
-
# #
|
|
289
|
-
# # - name: Install pnpm
|
|
290
|
-
# # run: |
|
|
291
|
-
# # npm i -g pnpm
|
|
292
|
-
# #
|
|
293
|
-
# # - name: Install Packages
|
|
294
|
-
# # run: |
|
|
295
|
-
# # pnpm i
|
|
296
|
-
# #
|
|
297
|
-
# # - name: Build
|
|
298
|
-
# # run: |
|
|
299
|
-
# # npx tsc
|
|
300
|
-
# #
|
|
301
|
-
# # - name: Pack
|
|
302
|
-
# # run: |
|
|
303
|
-
# # pnpm pack
|
|
304
|
-
# #
|
|
305
|
-
# # - name: Publish
|
|
306
|
-
# # run: |
|
|
307
|
-
# # npm publish
|
|
308
|
-
# #
|
|
309
|
-
# # build_report:
|
|
310
|
-
# # name: ๐ Build Report
|
|
311
|
-
# # needs: [
|
|
312
|
-
# # notification0,
|
|
313
|
-
# # check_dev_leftovers,
|
|
314
|
-
# # test,
|
|
315
|
-
# # check_version,
|
|
316
|
-
# # deploy
|
|
317
|
-
# # ]
|
|
318
|
-
# # #runs-on: ubuntu-latest
|
|
319
|
-
# # runs-on: plo-koon
|
|
320
|
-
# # timeout-minutes: 20
|
|
321
|
-
# # if: always()
|
|
322
|
-
# # steps:
|
|
323
|
-
# #
|
|
324
|
-
# # # NEW IMPLEMENTATION using futdevpro/fdp-github-actions/send-build-report@master:
|
|
325
|
-
# # - name: Checkout code
|
|
326
|
-
# # uses: actions/checkout@v4
|
|
327
|
-
# #
|
|
328
|
-
# # - name: Send Build Report
|
|
329
|
-
# # uses: futdevpro/fdp-github-actions/send-build-report@master
|
|
330
|
-
# # with:
|
|
331
|
-
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
332
|
-
# # SETTINGS: |
|
|
333
|
-
# # {
|
|
334
|
-
# # "overseerUrl": "${{ vars.OVERSEER_URL }}",
|
|
335
|
-
# # "overseerSecret": "${{ secrets.OVERSEER_SECRET_KEY }}",
|
|
336
|
-
# # "branchName": "${{ github.ref_name }}",
|
|
337
|
-
# # "repository": "${{ github.repository }}",
|
|
338
|
-
# # "runId": "${{ github.run_id }}",
|
|
339
|
-
# # "linkToAction": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
|
|
340
|
-
# # "eventDateTime": "${{ needs.notification0.outputs.start }}",
|
|
341
|
-
# # "projects": [
|
|
342
|
-
# # {
|
|
343
|
-
# # "environment": "prod",
|
|
344
|
-
# # "stepResults": [
|
|
345
|
-
# # {
|
|
346
|
-
# # "stepName": "checkDevLeftovers",
|
|
347
|
-
# # "resultCode": "${{ needs.check_dev_leftovers.result }}",
|
|
348
|
-
# # "requirement": "optional"
|
|
349
|
-
# # },
|
|
350
|
-
# # {
|
|
351
|
-
# # "stepName": "tests",
|
|
352
|
-
# # "resultCode": "${{ needs.test.result }}",
|
|
353
|
-
# # "requirement": "required"
|
|
354
|
-
# # },
|
|
355
|
-
# # {
|
|
356
|
-
# # "stepName": "checkVersion",
|
|
357
|
-
# # "resultCode": "${{ needs.check_version.result }}",
|
|
358
|
-
# # "requirement": "required"
|
|
359
|
-
# # },
|
|
360
|
-
# # {
|
|
361
|
-
# # "stepName": "deploy",
|
|
362
|
-
# # "resultCode": "${{ needs.deploy.result }}",
|
|
363
|
-
# # "requirement": "optional"
|
|
364
|
-
# # }
|
|
365
|
-
# # ]
|
|
366
|
-
# # }
|
|
367
|
-
# # ]
|
|
368
|
-
# # }
|
|
369
|
-
# #
|
|
370
|
-
# #
|
|
371
|
-
# # end:
|
|
372
|
-
# # name: ๐ฏ Discord Results
|
|
373
|
-
# # needs: [
|
|
374
|
-
# # notification0,
|
|
375
|
-
# # check_secrets,
|
|
376
|
-
# # check_dev_leftovers,
|
|
377
|
-
# # test,
|
|
378
|
-
# # check_version,
|
|
379
|
-
# # deploy,
|
|
380
|
-
# # build_report
|
|
381
|
-
# # ]
|
|
382
|
-
# # #runs-on: ubuntu-latest
|
|
383
|
-
# # runs-on: plo-koon
|
|
384
|
-
# # timeout-minutes: 20
|
|
385
|
-
# # if: always()
|
|
386
|
-
# # steps:
|
|
387
|
-
# # - name: Checkout code
|
|
388
|
-
# # uses: actions/checkout@v4
|
|
389
|
-
# #
|
|
390
|
-
# # - name: Send Discord result notification
|
|
391
|
-
# # uses: futdevpro/fdp-github-actions/discord-result-notification@latest
|
|
392
|
-
# # with:
|
|
393
|
-
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
394
|
-
# # APPLICATION_NAME: "Dynamo-ESLint"
|
|
395
|
-
# # APPLICATION_EMOJI: "๐ง"
|
|
396
|
-
# # BRANCH: ${{ github.ref_name }}
|
|
397
|
-
# # RUN_NUMBER: ${{ github.run_number }}
|
|
398
|
-
# # RUN_ID: ${{ github.run_id }}
|
|
399
|
-
# # REPOSITORY: ${{ github.repository }}
|
|
400
|
-
# # START_TIME: ${{ needs.notification0.outputs.start }}
|
|
401
|
-
# # DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
402
|
-
# # DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
403
|
-
# # STEPS_CONFIG: |
|
|
404
|
-
# # [
|
|
405
|
-
# # {
|
|
406
|
-
# # "stepName": "Secrets Check",
|
|
407
|
-
# # "stepEmoji": "๐",
|
|
408
|
-
# # "resultCode": "${{ needs.check_secrets.result }}"
|
|
409
|
-
# # },
|
|
410
|
-
# # {
|
|
411
|
-
# # "stepName": "Dev Leftovers Check",
|
|
412
|
-
# # "stepEmoji": "๐",
|
|
413
|
-
# # "resultCode": "${{ needs.check_dev_leftovers.result }}"
|
|
414
|
-
# # },
|
|
415
|
-
# # {
|
|
416
|
-
# # "stepName": "Test Build",
|
|
417
|
-
# # "stepEmoji": "๐งช",
|
|
418
|
-
# # "resultCode": "${{ needs.test.result }}"
|
|
419
|
-
# # },
|
|
420
|
-
# # {
|
|
421
|
-
# # "stepName": "Check Version",
|
|
422
|
-
# # "stepEmoji": "๐",
|
|
423
|
-
# # "resultCode": "${{ needs.check_version.result }}"
|
|
424
|
-
# # },
|
|
425
|
-
# # {
|
|
426
|
-
# # "stepName": "Deploy",
|
|
427
|
-
# # "stepEmoji": "๐ฆ",
|
|
428
|
-
# # "resultCode": "${{ needs.deploy.result }}",
|
|
429
|
-
# # "specialSuccessEmoji": "๐๐๐"
|
|
430
|
-
# # },
|
|
431
|
-
# # {
|
|
432
|
-
# # "stepName": "Build Report",
|
|
433
|
-
# # "stepEmoji": "๐",
|
|
434
|
-
# # "resultCode": "${{ needs.build_report.result }}"
|
|
435
|
-
# # }
|
|
436
|
-
# # ]
|
|
1
|
+
# WORKSPACE-WIDE DISABLED (2026-06-19) โ per user-request
|
|
2
|
+
# Az Actions-percek megtakarรญtรกsa miatt; a CICD-t a futdevpro Overseer
|
|
3
|
+
# webhook-rendszere irรกnyรญtja. A workflow-trigger NEM aktivรกlรณdik egyetlen
|
|
4
|
+
# push-ra sem, amรญg ez a komment-blokk fent van. Visszaรกllรญtรกshoz tรถrรถld
|
|
5
|
+
# a header-blokkot + uncomment minden kรถvetkezล sort (egy '# ' eltรกvolรญtรกs).
|
|
6
|
+
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
7
|
+
# # =============================================================================
|
|
8
|
+
# # Dynamo-ESLint CI/CD โ Overseer Pipeline Trigger
|
|
9
|
+
# # =============================================================================
|
|
10
|
+
# # Ez a workflow CSAK egy webhook-ot kuld az Overseer-nek es AZONNAL kilep.
|
|
11
|
+
# # A pipeline-t az Overseer FDP Runner-ek futtatjak (nem a GitHub Actions).
|
|
12
|
+
# #
|
|
13
|
+
# # A regi workflow-k a fajl vegen kommentben megtalalhatok (fallback).
|
|
14
|
+
# # =============================================================================
|
|
15
|
+
#
|
|
16
|
+
# name: Trigger Pipeline
|
|
17
|
+
# on:
|
|
18
|
+
# workflow_dispatch:
|
|
19
|
+
# # Az org-szintu GitHub webhook kozvetlenul triggereli az Overseer-t.
|
|
20
|
+
# # Ez a workflow csak manualis fallback (workflow_dispatch).
|
|
21
|
+
#
|
|
22
|
+
# jobs:
|
|
23
|
+
# trigger:
|
|
24
|
+
# name: Overseer Trigger
|
|
25
|
+
# runs-on: ubuntu-latest
|
|
26
|
+
# timeout-minutes: 1
|
|
27
|
+
# steps:
|
|
28
|
+
# - uses: actions/checkout@v4
|
|
29
|
+
#
|
|
30
|
+
# - name: Trigger Overseer Pipeline
|
|
31
|
+
# uses: futdevpro/fdp-github-actions/overseer-trigger@master
|
|
32
|
+
# with:
|
|
33
|
+
# OVERSEER_WEBHOOK_URL: ${{ vars.OVERSEER_URL }}/pipeline-runner/webhook/github
|
|
34
|
+
# OVERSEER_WEBHOOK_SECRET: ${{ secrets.OVERSEER_SECRET_KEY }}
|
|
35
|
+
#
|
|
36
|
+
# # =============================================================================
|
|
37
|
+
# # REGI WORKFLOW (fallback) โ NE TOROLD!
|
|
38
|
+
# # =============================================================================
|
|
39
|
+
# # name: Test and Deploy
|
|
40
|
+
# # on:
|
|
41
|
+
# # push:
|
|
42
|
+
# # branches:
|
|
43
|
+
# # - '**'
|
|
44
|
+
# # permissions:
|
|
45
|
+
# # actions: read
|
|
46
|
+
# # id-token: write
|
|
47
|
+
# # contents: read
|
|
48
|
+
# # checks: write
|
|
49
|
+
# # issues: read
|
|
50
|
+
# # pull-requests: write
|
|
51
|
+
# # env:
|
|
52
|
+
# # PACKAGE_NAME: ''
|
|
53
|
+
# # THIS_VERSION: 0.0.0
|
|
54
|
+
# # LATEST_VERSION: 0.0.0
|
|
55
|
+
# # VERSION_PUBLISHED: true
|
|
56
|
+
# #
|
|
57
|
+
# #
|
|
58
|
+
# # jobs:
|
|
59
|
+
# # notification0:
|
|
60
|
+
# # name: ๐น Discord start Notification
|
|
61
|
+
# # runs-on: ubuntu-latest
|
|
62
|
+
# # #runs-on: plo-koon
|
|
63
|
+
# # timeout-minutes: 20
|
|
64
|
+
# # outputs:
|
|
65
|
+
# # start: ${{ steps.mark_start.outputs.started }}
|
|
66
|
+
# # steps:
|
|
67
|
+
# # - uses: actions/checkout@v4
|
|
68
|
+
# # - id: mark_start
|
|
69
|
+
# # run: echo "started=$(date +%s)" >> "$GITHUB_OUTPUT"
|
|
70
|
+
# # - name: Send Discord start notification
|
|
71
|
+
# # uses: futdevpro/fdp-github-actions/discord-start-notification@latest
|
|
72
|
+
# # with:
|
|
73
|
+
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
74
|
+
# # APPLICATION_NAME: "Dynamo-ESLint"
|
|
75
|
+
# # APPLICATION_EMOJI: "๐ง"
|
|
76
|
+
# # COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
|
|
77
|
+
# # EVENT_DATETIME: ${{ github.event.head_commit.timestamp }}
|
|
78
|
+
# # DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
79
|
+
# # DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
80
|
+
# #
|
|
81
|
+
# # notification0_fail_report:
|
|
82
|
+
# # name: ๐ฃ Discord Start Notification Fail Report
|
|
83
|
+
# # runs-on: ubuntu-latest
|
|
84
|
+
# # #runs-on: plo-koon
|
|
85
|
+
# # timeout-minutes: 20
|
|
86
|
+
# # if: always() && needs.notification0.result == 'failure'
|
|
87
|
+
# # needs: [notification0]
|
|
88
|
+
# # steps:
|
|
89
|
+
# # - name: send custom message with args
|
|
90
|
+
# # uses: appleboy/discord-action@master
|
|
91
|
+
# # with:
|
|
92
|
+
# # webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
93
|
+
# # webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
94
|
+
# # message: |
|
|
95
|
+
# # โโโ๐ง Failed to send Discord start notification for ${{ github.repository }}! [๐](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
|
|
96
|
+
# #
|
|
97
|
+
# # check_secrets:
|
|
98
|
+
# # name: ๐ Check Required Secrets and Variables
|
|
99
|
+
# # #runs-on: ubuntu-latest
|
|
100
|
+
# # runs-on: plo-koon
|
|
101
|
+
# # timeout-minutes: 20
|
|
102
|
+
# # steps:
|
|
103
|
+
# # - name: Check Required Secrets and Variables
|
|
104
|
+
# # uses: futdevpro/fdp-github-actions/check-secrets-and-variables@latest
|
|
105
|
+
# # with:
|
|
106
|
+
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
107
|
+
# # ITEMS_TO_CHECK: |
|
|
108
|
+
# # [
|
|
109
|
+
# # {
|
|
110
|
+
# # "valueName": "NPM_TOKEN",
|
|
111
|
+
# # "value": "${{ secrets.NPM_TOKEN }}",
|
|
112
|
+
# # "type": "SECRET"
|
|
113
|
+
# # },
|
|
114
|
+
# # {
|
|
115
|
+
# # "valueName": "DISCORD_WEBHOOK_ID",
|
|
116
|
+
# # "value": "${{ secrets.DISCORD_WEBHOOK_ID }}",
|
|
117
|
+
# # "type": "SECRET"
|
|
118
|
+
# # },
|
|
119
|
+
# # {
|
|
120
|
+
# # "valueName": "DISCORD_WEBHOOK_TOKEN",
|
|
121
|
+
# # "value": "${{ secrets.DISCORD_WEBHOOK_TOKEN }}",
|
|
122
|
+
# # "type": "SECRET"
|
|
123
|
+
# # },
|
|
124
|
+
# # {
|
|
125
|
+
# # "valueName": "OVERSEER_SECRET_KEY",
|
|
126
|
+
# # "value": "${{ secrets.OVERSEER_SECRET_KEY }}",
|
|
127
|
+
# # "type": "SECRET"
|
|
128
|
+
# # },
|
|
129
|
+
# #
|
|
130
|
+
# # {
|
|
131
|
+
# # "valueName": "OVERSEER_URL",
|
|
132
|
+
# # "value": "${{ vars.OVERSEER_URL }}",
|
|
133
|
+
# # "type": "VARIABLE"
|
|
134
|
+
# # }
|
|
135
|
+
# # ]
|
|
136
|
+
# #
|
|
137
|
+
# # check_dev_leftovers:
|
|
138
|
+
# # name: ๐ Check Dev leftovers
|
|
139
|
+
# # #runs-on: ubuntu-latest
|
|
140
|
+
# # runs-on: plo-koon
|
|
141
|
+
# # timeout-minutes: 20
|
|
142
|
+
# # steps:
|
|
143
|
+
# # - name: Checkout code
|
|
144
|
+
# # uses: actions/checkout@v4
|
|
145
|
+
# #
|
|
146
|
+
# # - name: Install Node.js
|
|
147
|
+
# # uses: actions/setup-node@v2
|
|
148
|
+
# # with:
|
|
149
|
+
# # node-version: '16'
|
|
150
|
+
# #
|
|
151
|
+
# # # TODO: Check build version (to ALL packages)
|
|
152
|
+
# # - name: Check build folder
|
|
153
|
+
# # run: |
|
|
154
|
+
# # node -e "
|
|
155
|
+
# # const buildFolder = './build/';
|
|
156
|
+
# # const fs = require('fs');
|
|
157
|
+
# #
|
|
158
|
+
# # fs.readdir(buildFolder, (err, files) => {
|
|
159
|
+
# # if (!files?.length) {
|
|
160
|
+
# # console.error(
|
|
161
|
+
# # 'FDPError: ./build folder is MISSING!' +
|
|
162
|
+
# # '\nbuild the project locally before push!'
|
|
163
|
+
# # );
|
|
164
|
+
# # process.exit(1);
|
|
165
|
+
# # }
|
|
166
|
+
# #
|
|
167
|
+
# # if (files.includes('dynamo-eslint')) {
|
|
168
|
+
# # console.error(
|
|
169
|
+
# # 'FDPError: ./build contains dynamo-eslint folder which means this is a local dev build!' +
|
|
170
|
+
# # '\nrebuild the project locally before push!'
|
|
171
|
+
# # );
|
|
172
|
+
# # process.exit(1);
|
|
173
|
+
# # }
|
|
174
|
+
# # });
|
|
175
|
+
# # "
|
|
176
|
+
# #
|
|
177
|
+
# # test:
|
|
178
|
+
# # name: ๐งช Test Build
|
|
179
|
+
# # runs-on: ubuntu-latest
|
|
180
|
+
# # needs: [ check_dev_leftovers ]
|
|
181
|
+
# # timeout-minutes: 20
|
|
182
|
+
# # steps:
|
|
183
|
+
# # - name: Checkout code
|
|
184
|
+
# # uses: actions/checkout@v4
|
|
185
|
+
# #
|
|
186
|
+
# # - name: Set NPM RC
|
|
187
|
+
# # run: |
|
|
188
|
+
# # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
189
|
+
# #
|
|
190
|
+
# # - name: Get safe-chain version
|
|
191
|
+
# # run: |
|
|
192
|
+
# # VERSION=$(curl -s https://api.github.com/repos/AikidoSec/safe-chain/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/^v//')
|
|
193
|
+
# # echo "SAFE_CHAIN_VERSION=$VERSION" >> $GITHUB_ENV
|
|
194
|
+
# #
|
|
195
|
+
# # - name: Install safe-chain
|
|
196
|
+
# # run: |
|
|
197
|
+
# # curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci
|
|
198
|
+
# #
|
|
199
|
+
# # - name: Install pnpm
|
|
200
|
+
# # run: |
|
|
201
|
+
# # npm i -g pnpm
|
|
202
|
+
# #
|
|
203
|
+
# # - name: Install Packages
|
|
204
|
+
# # run: |
|
|
205
|
+
# # pnpm i --safe-chain-skip-minimum-package-age
|
|
206
|
+
# #
|
|
207
|
+
# # - name: Build
|
|
208
|
+
# # run: |
|
|
209
|
+
# # npx tsc
|
|
210
|
+
# #
|
|
211
|
+
# # - name: Install Jasmine
|
|
212
|
+
# # run: |
|
|
213
|
+
# # npm i -g jasmine
|
|
214
|
+
# #
|
|
215
|
+
# # - name: Test
|
|
216
|
+
# # run: |
|
|
217
|
+
# # jasmine
|
|
218
|
+
# #
|
|
219
|
+
# # - name: Test Pack
|
|
220
|
+
# # run: |
|
|
221
|
+
# # pnpm pack
|
|
222
|
+
# #
|
|
223
|
+
# #
|
|
224
|
+
# # check_version:
|
|
225
|
+
# # name: ๐ Check Version
|
|
226
|
+
# # needs: [ test ]
|
|
227
|
+
# # #runs-on: ubuntu-latest
|
|
228
|
+
# # runs-on: plo-koon
|
|
229
|
+
# # timeout-minutes: 20
|
|
230
|
+
# # outputs:
|
|
231
|
+
# # version_published: ${{ steps.version_check_results.outputs.version_published }}
|
|
232
|
+
# # steps:
|
|
233
|
+
# # - name: Checkout code
|
|
234
|
+
# # uses: actions/checkout@v4
|
|
235
|
+
# #
|
|
236
|
+
# # - name: Set Package Name
|
|
237
|
+
# # run: |
|
|
238
|
+
# # echo "PACKAGE_NAME=$(node -p -e "require('./package.json').name")" >> $GITHUB_ENV
|
|
239
|
+
# #
|
|
240
|
+
# # - name: Set RC
|
|
241
|
+
# # run: |
|
|
242
|
+
# # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
243
|
+
# #
|
|
244
|
+
# # - name: Get This Version
|
|
245
|
+
# # run: |
|
|
246
|
+
# # RAW_THIS_VERSION=$(node -p -e "require('./package.json').version")
|
|
247
|
+
# # # replace ALL: 'v0' with '', '01' with '1', '.0' with '.'
|
|
248
|
+
# # RAW_THIS_VERSION=$(echo $RAW_THIS_VERSION | sed 's:v0::g' | sed 's:01:1:g' | sed -e 's:\.0:\.:g')
|
|
249
|
+
# # echo "THIS_VERSION=$RAW_THIS_VERSION" >> $GITHUB_ENV
|
|
250
|
+
# #
|
|
251
|
+
# # - name: Get Latest Version
|
|
252
|
+
# # run: |
|
|
253
|
+
# # echo "LATEST_VERSION=$(npm view ${{ env.PACKAGE_NAME }} version)" >> $GITHUB_ENV
|
|
254
|
+
# #
|
|
255
|
+
# # - name: Check All Versions
|
|
256
|
+
# # run: |
|
|
257
|
+
# # ALL_VERSIONS=$(npm view ${{ env.PACKAGE_NAME }} versions)
|
|
258
|
+
# # if echo "$ALL_VERSIONS" | grep -q "${{ env.THIS_VERSION }}"; then
|
|
259
|
+
# # echo "VERSION_PUBLISHED=true" >> $GITHUB_ENV
|
|
260
|
+
# # else
|
|
261
|
+
# # echo "VERSION_PUBLISHED=false" >> $GITHUB_ENV
|
|
262
|
+
# # fi
|
|
263
|
+
# #
|
|
264
|
+
# # - name: Version Check Results
|
|
265
|
+
# # id: version_check_results
|
|
266
|
+
# # run: |
|
|
267
|
+
# # echo package name: "${{ env.PACKAGE_NAME }}"
|
|
268
|
+
# # echo this: "${{ env.THIS_VERSION }}"
|
|
269
|
+
# # echo latest: "${{ env.LATEST_VERSION }}"
|
|
270
|
+
# # echo this is the latest: "${{ env.LATEST_VERSION == env.THIS_VERSION }}"
|
|
271
|
+
# # echo this version is published: "${{ env.VERSION_PUBLISHED }}"
|
|
272
|
+
# # echo all published versions: $(npm view ${{ env.PACKAGE_NAME }} versions)
|
|
273
|
+
# # echo "::set-output name=version_published::${{ env.VERSION_PUBLISHED }}"
|
|
274
|
+
# #
|
|
275
|
+
# # deploy:
|
|
276
|
+
# # needs: [ check_version ]
|
|
277
|
+
# # name: ๐ Deploy to NPM
|
|
278
|
+
# # runs-on: ubuntu-latest
|
|
279
|
+
# # timeout-minutes: 20
|
|
280
|
+
# # if: ${{ needs.check_version.outputs.version_published != 'true' }}
|
|
281
|
+
# # steps:
|
|
282
|
+
# # - name: Checkout code
|
|
283
|
+
# # uses: actions/checkout@v4
|
|
284
|
+
# #
|
|
285
|
+
# # - name: Set RC
|
|
286
|
+
# # run: |
|
|
287
|
+
# # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
288
|
+
# #
|
|
289
|
+
# # - name: Install pnpm
|
|
290
|
+
# # run: |
|
|
291
|
+
# # npm i -g pnpm
|
|
292
|
+
# #
|
|
293
|
+
# # - name: Install Packages
|
|
294
|
+
# # run: |
|
|
295
|
+
# # pnpm i
|
|
296
|
+
# #
|
|
297
|
+
# # - name: Build
|
|
298
|
+
# # run: |
|
|
299
|
+
# # npx tsc
|
|
300
|
+
# #
|
|
301
|
+
# # - name: Pack
|
|
302
|
+
# # run: |
|
|
303
|
+
# # pnpm pack
|
|
304
|
+
# #
|
|
305
|
+
# # - name: Publish
|
|
306
|
+
# # run: |
|
|
307
|
+
# # npm publish
|
|
308
|
+
# #
|
|
309
|
+
# # build_report:
|
|
310
|
+
# # name: ๐ Build Report
|
|
311
|
+
# # needs: [
|
|
312
|
+
# # notification0,
|
|
313
|
+
# # check_dev_leftovers,
|
|
314
|
+
# # test,
|
|
315
|
+
# # check_version,
|
|
316
|
+
# # deploy
|
|
317
|
+
# # ]
|
|
318
|
+
# # #runs-on: ubuntu-latest
|
|
319
|
+
# # runs-on: plo-koon
|
|
320
|
+
# # timeout-minutes: 20
|
|
321
|
+
# # if: always()
|
|
322
|
+
# # steps:
|
|
323
|
+
# #
|
|
324
|
+
# # # NEW IMPLEMENTATION using futdevpro/fdp-github-actions/send-build-report@master:
|
|
325
|
+
# # - name: Checkout code
|
|
326
|
+
# # uses: actions/checkout@v4
|
|
327
|
+
# #
|
|
328
|
+
# # - name: Send Build Report
|
|
329
|
+
# # uses: futdevpro/fdp-github-actions/send-build-report@master
|
|
330
|
+
# # with:
|
|
331
|
+
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
332
|
+
# # SETTINGS: |
|
|
333
|
+
# # {
|
|
334
|
+
# # "overseerUrl": "${{ vars.OVERSEER_URL }}",
|
|
335
|
+
# # "overseerSecret": "${{ secrets.OVERSEER_SECRET_KEY }}",
|
|
336
|
+
# # "branchName": "${{ github.ref_name }}",
|
|
337
|
+
# # "repository": "${{ github.repository }}",
|
|
338
|
+
# # "runId": "${{ github.run_id }}",
|
|
339
|
+
# # "linkToAction": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
|
|
340
|
+
# # "eventDateTime": "${{ needs.notification0.outputs.start }}",
|
|
341
|
+
# # "projects": [
|
|
342
|
+
# # {
|
|
343
|
+
# # "environment": "prod",
|
|
344
|
+
# # "stepResults": [
|
|
345
|
+
# # {
|
|
346
|
+
# # "stepName": "checkDevLeftovers",
|
|
347
|
+
# # "resultCode": "${{ needs.check_dev_leftovers.result }}",
|
|
348
|
+
# # "requirement": "optional"
|
|
349
|
+
# # },
|
|
350
|
+
# # {
|
|
351
|
+
# # "stepName": "tests",
|
|
352
|
+
# # "resultCode": "${{ needs.test.result }}",
|
|
353
|
+
# # "requirement": "required"
|
|
354
|
+
# # },
|
|
355
|
+
# # {
|
|
356
|
+
# # "stepName": "checkVersion",
|
|
357
|
+
# # "resultCode": "${{ needs.check_version.result }}",
|
|
358
|
+
# # "requirement": "required"
|
|
359
|
+
# # },
|
|
360
|
+
# # {
|
|
361
|
+
# # "stepName": "deploy",
|
|
362
|
+
# # "resultCode": "${{ needs.deploy.result }}",
|
|
363
|
+
# # "requirement": "optional"
|
|
364
|
+
# # }
|
|
365
|
+
# # ]
|
|
366
|
+
# # }
|
|
367
|
+
# # ]
|
|
368
|
+
# # }
|
|
369
|
+
# #
|
|
370
|
+
# #
|
|
371
|
+
# # end:
|
|
372
|
+
# # name: ๐ฏ Discord Results
|
|
373
|
+
# # needs: [
|
|
374
|
+
# # notification0,
|
|
375
|
+
# # check_secrets,
|
|
376
|
+
# # check_dev_leftovers,
|
|
377
|
+
# # test,
|
|
378
|
+
# # check_version,
|
|
379
|
+
# # deploy,
|
|
380
|
+
# # build_report
|
|
381
|
+
# # ]
|
|
382
|
+
# # #runs-on: ubuntu-latest
|
|
383
|
+
# # runs-on: plo-koon
|
|
384
|
+
# # timeout-minutes: 20
|
|
385
|
+
# # if: always()
|
|
386
|
+
# # steps:
|
|
387
|
+
# # - name: Checkout code
|
|
388
|
+
# # uses: actions/checkout@v4
|
|
389
|
+
# #
|
|
390
|
+
# # - name: Send Discord result notification
|
|
391
|
+
# # uses: futdevpro/fdp-github-actions/discord-result-notification@latest
|
|
392
|
+
# # with:
|
|
393
|
+
# # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
394
|
+
# # APPLICATION_NAME: "Dynamo-ESLint"
|
|
395
|
+
# # APPLICATION_EMOJI: "๐ง"
|
|
396
|
+
# # BRANCH: ${{ github.ref_name }}
|
|
397
|
+
# # RUN_NUMBER: ${{ github.run_number }}
|
|
398
|
+
# # RUN_ID: ${{ github.run_id }}
|
|
399
|
+
# # REPOSITORY: ${{ github.repository }}
|
|
400
|
+
# # START_TIME: ${{ needs.notification0.outputs.start }}
|
|
401
|
+
# # DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
|
|
402
|
+
# # DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
|
|
403
|
+
# # STEPS_CONFIG: |
|
|
404
|
+
# # [
|
|
405
|
+
# # {
|
|
406
|
+
# # "stepName": "Secrets Check",
|
|
407
|
+
# # "stepEmoji": "๐",
|
|
408
|
+
# # "resultCode": "${{ needs.check_secrets.result }}"
|
|
409
|
+
# # },
|
|
410
|
+
# # {
|
|
411
|
+
# # "stepName": "Dev Leftovers Check",
|
|
412
|
+
# # "stepEmoji": "๐",
|
|
413
|
+
# # "resultCode": "${{ needs.check_dev_leftovers.result }}"
|
|
414
|
+
# # },
|
|
415
|
+
# # {
|
|
416
|
+
# # "stepName": "Test Build",
|
|
417
|
+
# # "stepEmoji": "๐งช",
|
|
418
|
+
# # "resultCode": "${{ needs.test.result }}"
|
|
419
|
+
# # },
|
|
420
|
+
# # {
|
|
421
|
+
# # "stepName": "Check Version",
|
|
422
|
+
# # "stepEmoji": "๐",
|
|
423
|
+
# # "resultCode": "${{ needs.check_version.result }}"
|
|
424
|
+
# # },
|
|
425
|
+
# # {
|
|
426
|
+
# # "stepName": "Deploy",
|
|
427
|
+
# # "stepEmoji": "๐ฆ",
|
|
428
|
+
# # "resultCode": "${{ needs.deploy.result }}",
|
|
429
|
+
# # "specialSuccessEmoji": "๐๐๐"
|
|
430
|
+
# # },
|
|
431
|
+
# # {
|
|
432
|
+
# # "stepName": "Build Report",
|
|
433
|
+
# # "stepEmoji": "๐",
|
|
434
|
+
# # "resultCode": "${{ needs.build_report.result }}"
|
|
435
|
+
# # }
|
|
436
|
+
# # ]
|