-
Notifications
You must be signed in to change notification settings - Fork 137
/
package.json
157 lines (157 loc) · 7.17 KB
/
package.json
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
{
"name": "gmail-processor",
"version": "2.13.1",
"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": {
"act:ci": "act push",
"act:pr": "act pull_request",
"build": "npx concurrently 'npm:build:*(!build:docs)'",
"build:docs": "scripts/build-docs.sh",
"build:examples": "scripts/clasp.sh examples build",
"build:lib": "scripts/clasp.sh lib build",
"ci": "npm run ci:build && npm run ci:test && npm run ci:docs",
"ci:build": "npm run clean && npm ci && npm run build && npm run lint:code",
"ci:docs": "npm run clean:docs && npm ci && ( cd docs && npm ci ) && npm run build:docs",
"ci:test": "TZ=Etc/UTC jest --ci --coverage",
"clean": "rm -rf build docs/build",
"clean:docs": "rm -rf docs/build",
"clean:examples": "scripts/clasp.sh examples clean",
"clean:lib": "scripts/clasp.sh lib clean",
"deploy": "npx concurrently 'npm:deploy:*'",
"deploy:examples": "scripts/clasp.sh examples deploy",
"deploy:lib": "scripts/clasp.sh lib deploy",
"devbox:update": "devbox generate devcontainer --force && docker build -t gmail-processor-devbox .",
"devbox:shell": "docker run -it --rm -v $(pwd):/code/ws -w /code/ws docker.io/library/gmail-processor-devbox",
"e2e": "npm run e2e:init-run-all",
"e2e:login": "scripts/clasp.sh examples login",
"e2e:logs": "scripts/clasp.sh examples logs",
"e2e:run": "scripts/clasp.sh examples run",
"e2e:init-all": "scripts/clasp.sh examples run initAllTests",
"e2e:init-run-all": "scripts/clasp.sh examples run-test initAndRunAllTests",
"e2e:run-all": "scripts/clasp.sh examples run-test runAllTests",
"inspect:eslint-config": "npx eslint --inspect-config",
"lint": "npx concurrently 'npm:lint:*(!lint:fix)'",
"lint:code": "scripts/lint-code.sh",
"lint:cpd": "jscpd src/lib",
"lint:fix": "prettier -w .",
"lint:prune": "npx ts-prune --ignore 'src/(lib/index.ts|test/mocks/GDriveMocks\\.ts)'",
"packages:check": "npm outdated",
"packages:update": "npm update --save",
"pre-commit": "npm run clean && npm run update && npm run build && npm run lint:fix && npm run lint && npm run test && npm run clean:docs && npm run build:docs",
"pre-push": "npm run pre-commit && npm run push && npm run e2e",
"push": "npx concurrently 'npm:push:*'",
"push:examples": "scripts/clasp.sh examples push",
"push:lib": "scripts/clasp.sh lib push",
"rebuild": "npm run clean && npm run build",
"rebuild:docs": "npm run clean:docs && cd docs && npm run build",
"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": "npx concurrently 'npm:redeploy:*'",
"redeploy:examples": "npm run repush:examples && npm run deploy:examples",
"redeploy:lib": "npm run repush:lib && npm run deploy:lib",
"release:info": "scripts/clasp.sh lib release-info",
"release:notes": "scripts/clasp.sh lib release-notes",
"release:releaseVersion": "git tag --points-at | awk '/.+/ {print \"releaseVersion=\"$0}'",
"release:update": "scripts/clasp.sh lib update-github-release",
"renovate:dry-run": "scripts/renovate.sh test",
"repush": "npx concurrently 'npm:repush:*'",
"repush:examples": "npm run rebuild:examples && npm run push:examples",
"repush:lib": "npm run rebuild:lib && npm run push:lib",
"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",
"secrets:check": "scripts/github-secrets.sh check all",
"secrets:list": "scripts/github-secrets.sh list all",
"secrets:sync": "scripts/github-secrets.sh sync all",
"sonar:local": "npx sonar-scanner -Dsonar.branch.name=local -Dsonar.branch.target=main -Dsonar.projectVersion=''",
"start:docs": "npm run build:docs && cd docs && npm start",
"test": "TZ=Etc/UTC jest --reporters=summary --silent",
"test:examples": "TZ=Etc/UTC jest --reporters=summary --silent --testPathPattern src/examples",
"test:verbose": "TZ=Etc/UTC jest --detectOpenHandles --reporters='default' --runInBand --verbose",
"update": "npm run update:examples && npm run update:parser && npm run update:schema && npm run update:docs && npm run update:contributors",
"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: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": {
"@babel/plugin-transform-class-properties": "7.25.9",
"@babel/plugin-transform-class-static-block": "7.26.0",
"@babel/plugin-transform-logical-assignment-operators": "7.25.9",
"@babel/plugin-transform-private-methods": "7.25.9",
"@casualbot/jest-sonar-reporter": "2.4.0",
"@eslint/js": "9.17.0",
"@google/clasp": "2.4.2",
"@rollup/plugin-babel": "6.0.4",
"@rollup/plugin-commonjs": "28.0.2",
"@rollup/plugin-node-resolve": "16.0.0",
"@rollup/plugin-typescript": "12.1.2",
"@types/addressparser": "1.0.3",
"@types/crypto-js": "4.2.2",
"@types/eslint__js": "8.42.3",
"@types/google-apps-script": "1.0.89",
"@types/jest": "29.5.14",
"@types/node": "22.10.2",
"@types/sha1": "1.1.5",
"@typescript-eslint/eslint-plugin": "8.18.2",
"@typescript-eslint/parser": "8.18.2",
"all-contributors-cli": "6.26.1",
"antlr4ng-cli": "2.0.0",
"concurrently": "9.1.0",
"eslint": "9.17.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-googleappsscript": "1.0.5",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-tsdoc": "0.4.0",
"eta": "3.5.0",
"jest": "29.7.0",
"jest-mock-extended": "3.0.7",
"jscpd": "4.0.5",
"jsdoc": "4.0.4",
"madge": "8.0.0",
"prettier": "3.4.2",
"prettier-plugin-organize-imports": "4.1.0",
"release-please": "16.15.0",
"rollup": "4.29.1",
"rollup-plugin-gas": "1.0.0",
"sonarqube-scanner": "4.2.6",
"ts-jest": "29.2.5",
"ts-prune": "0.10.3",
"type-fest": "4.31.0",
"typedoc": "0.27.6",
"typescript": "5.7.2",
"typescript-eslint": "8.18.2",
"typescript-json-schema": "0.65.1"
},
"private": true,
"dependencies": {
"addressparser": "^1.0.1",
"ajv": "8.17.1",
"antlr4ng": "^3.0.4",
"class-transformer": "^0.5.1",
"crypto-js": "^4.2.0",
"date-fns": "^4.1.0",
"parse-duration": "^1.1.1",
"reflect-metadata": "^0.2.1"
},
"engines": {
"node": ">=22"
}
}