-
Notifications
You must be signed in to change notification settings - Fork 140
Expand file tree
/
Copy pathpackage.json
More file actions
229 lines (229 loc) · 11.7 KB
/
package.json
File metadata and controls
229 lines (229 loc) · 11.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
{
"name": "gmail-processor",
"version": "2.17.2",
"description": "Gmail Processor is an open-source project that automates the processing of Gmail messages and attachments using Google Apps Script and execute actions (e.g. store attachments in a GDrive folder, log information in a spreadsheet) depending on matching criteria.",
"scripts": {
"all:audit-security": "npx concurrently 'npm:audit:security:*'",
"all:build": "npx concurrently 'npm:build:*'",
"all:ci": "npm run ci:build && npm run ci:test && npm run ci:docs",
"all:clean": "npx concurrently 'npm:clean:*'",
"all:deploy": "npx concurrently 'npm:deploy:*'",
"all:lint": "npx concurrently 'npm:lint:*'",
"all:locks-clean": "npx concurrently 'npm:locks:clean:*'",
"all:maintenance": "npm run lint:scripts && npm run lint:devbox:unused && npm run lint:renovate && npm run lint:actions && npm run lint-prune",
"all:packages-outdated": "npx concurrently 'npm:packages:outdated:*'",
"all:pre-commit": "npm run all:update && npm run all:rebuild && npm run lint-fix && npm run all:lint && npm run all:test",
"all:pre-commit:fast": "npm run all:update && npm run all:rebuild:fast && npm run lint-fix && npm run all:lint && npm run all:test",
"all:pre-push": "npm run all:pre-commit && npm run push && npm run e2e",
"all:push": "npx concurrently 'npm:push:*'",
"all:rebuild": "npm run all:clean && npm run all:build",
"all:rebuild:fast": "npm run all:clean && npx concurrently 'npm:build:lib' 'npm:build:examples'",
"all:redeploy": "npx concurrently 'npm:redeploy:*'",
"all:reinstall": "npm run all:locks-clean && npm run locks:update:devbox && npm install && npm install --prefix docs",
"all:release-dry-run": "npm run all:setup && npm run all:rebuild && npm run all:test && npm run release:preview",
"all:repush": "npx concurrently 'npm:repush:*'",
"all:setup": "npm run setup:lib && npm run setup:docs",
"all:test": "npm run test:jest",
"all:update": "npm run update:parser && npm run update:docs && npm run update:examples && npm run update:maintenance && npx concurrently 'npm:update:schema' 'npm:update:contributors' && npm run lint-fix",
"audit:security:docs": "npm audit --audit-level moderate --prefix docs",
"audit:security:lib": "npm audit --audit-level moderate",
"build": "npm run all:build",
"build:docs": "scripts/build-docs.sh",
"build:examples": "scripts/clasp.sh examples build",
"build:lib": "scripts/clasp.sh lib build",
"ci:build": "npm run build:lib && npm run build:examples && npm run lint:lib",
"ci:docs": "npm run build:docs",
"ci:test": "TZ=Etc/UTC npx jest --runInBand --ci --coverage",
"clean": "npm run all:clean",
"clean:docs": "rm -rf docs/build docs/.docusaurus",
"clean:examples": "scripts/clasp.sh examples clean",
"clean:lib": "scripts/clasp.sh lib clean && rm -rf build",
"deploy": "npm run all:deploy",
"deploy:examples": "scripts/clasp.sh examples deploy",
"deploy:lib": "scripts/clasp.sh lib deploy",
"devbox:shell": "docker run -it --rm -v $(pwd):/code/ws -w /code/ws docker.io/library/gmail-processor-devbox",
"devbox:update": "devbox generate devcontainer --force && docker build -t gmail-processor-devbox .",
"docs:start": "npm run build:docs && npm start --prefix docs",
"e2e": "npm run e2e:init-run-all",
"e2e:init-all": "scripts/clasp.sh examples run initAllTests",
"e2e:init-run-all": "scripts/clasp.sh examples run-test initAndRunAllTests",
"e2e:login": "scripts/clasp.sh examples login",
"e2e:logs": "scripts/clasp.sh examples logs",
"e2e:run": "scripts/clasp.sh examples run",
"e2e:run-all": "scripts/clasp.sh examples run-test runAllTests",
"gh-act:ci": "npm run gh-act:ci:dispatch",
"gh-act:ci:beta": "act workflow_dispatch -W .github/workflows/ci.yaml --input run_mode=beta-deploy",
"gh-act:ci:dispatch": "act workflow_dispatch -W .github/workflows/ci.yaml",
"gh-act:ci:docs": "act workflow_dispatch -W .github/workflows/ci.yaml --input run_mode=docs-only",
"gh-act:ci:fast": "act workflow_dispatch -W .github/workflows/ci.yaml --input run_mode=fast-qa",
"gh-act:ci:pr": "act pull_request -W .github/workflows/ci.yaml",
"gh-act:ci:push": "act push -W .github/workflows/ci.yaml",
"gh-act:ci:release-dry": "act workflow_dispatch -W .github/workflows/ci.yaml --input run_mode=release-dry",
"gh-act:ci:release-prod": "act workflow_dispatch -W .github/workflows/ci.yaml --input run_mode=release-prod",
"gh-act:ci:test": "act workflow_dispatch -W .github/workflows/ci.yaml --input run_mode=tests-only",
"gh-act:maintenance": "act workflow_dispatch -W .github/workflows/maintenance.yaml",
"gh-act:release": "act workflow_dispatch -W .github/workflows/release.yaml",
"lint": "npm run all:lint",
"lint-code": "npm run lint:lib",
"lint-fix": "prettier -w . --log-level warn",
"lint-inspect": "npx eslint --inspect-config",
"lint-prune": "npx knip || true",
"lint:actions": "actionlint",
"lint:ci": "npm run lint:actions",
"lint:cpd": "npx jscpd src/lib",
"lint:devbox": "devbox version",
"lint:devbox:unused": "scripts/lint-devbox-unused.sh",
"lint:docs": "npm run lint --prefix docs && npm run typecheck --prefix docs",
"lint:lib": "scripts/lint-code.sh",
"lint:renovate": "npx -p renovate renovate-config-validator > /dev/null && echo \"INFO: Config validated successfully\" || npx -p renovate renovate-config-validator",
"lint:scripts": "npx ts-node scripts/lint-scripts.ts",
"locks:clean:devbox": "rm -rf .devbox devbox.lock || true",
"locks:clean:docs": "rm -rf docs/node_modules docs/package-lock.json",
"locks:clean:lib": "rm -rf node_modules package-lock.json",
"locks:update:devbox": "devbox update || echo \"Devbox not found or update failed, skipping Devbox lock update...\"",
"packages:outdated:docs": "npm outdated --prefix docs",
"packages:outdated:lib": "npm outdated",
"packages:update": "npx npm update --save",
"parser:gui": "antlr4-parse src/lib/expr/ExprParser.g4 src/lib/expr/ExprLexer.g4 template -gui",
"parser:tokens": "antlr4-parse src/lib/expr/ExprParser.g4 src/lib/expr/ExprLexer.g4 template -tokens",
"parser:trace": "antlr4-parse src/lib/expr/ExprParser.g4 src/lib/expr/ExprLexer.g4 template -trace",
"pre-commit": "npm run all:pre-commit",
"pre-push": "npm run all:pre-push",
"push": "npm run all:push",
"push:examples": "scripts/clasp.sh examples push",
"push:lib": "scripts/clasp.sh lib push",
"rebuild": "npm run all:rebuild",
"rebuild:docs": "npm run clean:docs && npm run build:docs",
"rebuild:examples": "npm run clean:examples && npm run update:examples && npm run build:examples",
"rebuild:lib": "npm run clean:lib && npm run build:lib",
"redeploy": "npm run all:redeploy",
"redeploy:examples": "npm run repush:examples && npm run deploy:examples",
"redeploy:lib": "npm run repush:lib && npm run deploy:lib",
"release:dry-run": "npx release-please release-pr --dry-run --local --repo-url ahochsteger/gmail-processor",
"release:force-major": "node scripts/force-release.mjs major",
"release:force-minor": "node scripts/force-release.mjs minor",
"release:force-patch": "node scripts/force-release.mjs patch",
"release:info": "scripts/clasp.sh lib release-info",
"release:preview": "node scripts/release-manager.mjs preview",
"release:publish": "node scripts/release-manager.mjs publish",
"release:releaseVersion": "git tag --points-at | awk '/.+/ {print \"releaseVersion=\"$0}'",
"release:update": "node scripts/release-manager.mjs update",
"renovate-dry-run": "scripts/renovate.sh test",
"repush": "npm run all:repush",
"repush:examples": "npm run rebuild:examples && npm run push:examples",
"repush:lib": "npm run rebuild:lib && npm run push:lib",
"secrets:check": "scripts/github-secrets.sh check all",
"secrets:list": "scripts/github-secrets.sh list all",
"secrets:sync": "scripts/github-secrets.sh sync all",
"setup": "npm run all:setup",
"setup:docs": "npm ci --prefix docs",
"setup:lib": "npm ci",
"sonar:local": "npx sonar-scanner -Dsonar.branch.name=local -Dsonar.branch.target=main -Dsonar.projectVersion=''",
"test": "npm run all:test",
"test-profile-devtools": "node --inspect-brk ./node_modules/.bin/jest",
"test-profile-jest": "npx jest --json --outputFile=test-results.json",
"test-profile-nodejs": "node --prof ./node_modules/.bin/jest && node --prof-process isolate-*.log > profile.txt",
"test-verbose": "TZ=Etc/UTC npx jest --detectOpenHandles --reporters='default' --verbose",
"test:examples": "TZ=Etc/UTC npx jest --reporters=summary --silent --testPathPatterns src/examples",
"test:jest": "TZ=Etc/UTC npx jest --reporters=summary --silent",
"test:lib": "TZ=Etc/UTC npx jest --reporters=summary --silent --testPathPatterns src/lib src/test",
"update": "npm run all:update",
"update:contributors": "npx all-contributors generate",
"update:docs": "TZ=Etc/UTC scripts/update-docs.sh",
"update:examples": "TZ=Etc/UTC scripts/update-examples.sh",
"update:maintenance": "gojq -r '.scripts | keys | map(select(test(\"^all:\"))) | sort' package.json | npx ts-node scripts/eta.ts maintenance > .github/workflows/maintenance.yaml",
"update:parser": "scripts/update-parser.sh",
"update:schema": "TZ=Etc/UTC scripts/update-schema.sh"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ahochsteger/gmail-processor.git"
},
"keywords": [
"attachment",
"email",
"gdrive",
"gmail",
"gmail-processor",
"gmail2gdrive",
"processor",
"pdf",
"script"
],
"license": "Apache-2.0",
"devDependencies": {
"@casualbot/jest-sonar-reporter": "2.6.0",
"@eslint/js": "10.0.1",
"@google/clasp": "3.3.0",
"@rollup/plugin-commonjs": "29.0.2",
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-node-resolve": "16.0.3",
"@rollup/plugin-replace": "6.0.3",
"@rollup/plugin-swc": "0.4.0",
"@rollup/plugin-typescript": "12.3.0",
"@swc/core": "1.15.30",
"@swc/jest": "0.2.39",
"@types/addressparser": "1.0.3",
"@types/crypto-js": "4.2.2",
"@types/google-apps-script": "^2.0.8",
"@types/jest": "30.0.0",
"@types/jest-when": "3.5.5",
"@types/node": "25.6.0",
"@types/sha1": "1.1.5",
"@typescript-eslint/eslint-plugin": "8.59.0",
"@typescript-eslint/parser": "8.59.0",
"all-contributors-cli": "6.26.1",
"antlr-ng": "1.0.10",
"concurrently": "9.2.1",
"eslint": "10.2.1",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-googleappsscript": "1.0.5",
"eslint-plugin-jest": "29.15.2",
"eslint-plugin-prettier": "5.5.5",
"eslint-plugin-tsdoc": "0.5.2",
"eta": "4.5.1",
"jest": "30.3.0",
"jest-mock-extended": "4.0.1",
"jest-when": "4.0.2",
"jscpd": "4.0.9",
"jsdoc": "4.0.5",
"knip": "6.6.3",
"madge": "8.0.0",
"prettier": "3.8.3",
"prettier-plugin-organize-imports": "4.3.0",
"release-please": "17.6.0",
"rollup": "4.60.2",
"rollup-plugin-filesize": "10.0.0",
"rollup-plugin-google-apps-script": "2.0.2",
"rollup-plugin-visualizer": "7.0.1",
"sonarqube-scanner": "4.3.6",
"ts-jest": "29.4.9",
"type-fest": "5.6.0",
"typedoc": "0.28.19",
"typescript": "6.0.3",
"typescript-eslint": "8.59.0",
"typescript-json-schema": "0.67.1"
},
"private": true,
"dependencies": {
"@cantoo/pdf-lib": "2.6.5",
"addressparser": "1.0.1",
"ajv": "8.20.0",
"antlr4ng": "3.0.16",
"class-transformer": "0.5.1",
"crypto-js": "4.2.0",
"date-fns": "4.1.0",
"reflect-metadata": "0.2.2"
},
"overrides": {
"@tootallnate/once": "^3.0.1",
"axios": "^1.15.2",
"node-forge": "^1.4.0",
"tar": "^7.5.13",
"tmp": "^0.2.5",
"uuid": "^14.0.0"
},
"engines": {
"node": ">=22"
}
}