-
Notifications
You must be signed in to change notification settings - Fork 135
/
package.json
154 lines (154 loc) · 6.82 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
{
"name": "gmail-processor",
"version": "2.12.0",
"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-with-logs",
"e2e:init-all": "scripts/clasp.sh examples run-with-logs initAllTests 120",
"e2e:init-run-all": "scripts/clasp.sh examples run-with-logs initAndRunAllTests 120",
"e2e:run-all": "scripts/clasp.sh examples run-with-logs runAllTests 120",
"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:init-run-all",
"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:dry-run": "npx semantic-release --dry-run",
"release:info": "scripts/clasp.sh lib release-info",
"release:notes": "scripts/clasp.sh lib release-notes",
"release:perform": "npx semantic-release",
"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",
"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": "TZ=Etc/UTC concurrently 'npm: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: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",
"@casualbot/jest-sonar-reporter": "2.4.0",
"@eslint/js": "9.13.0",
"@google/clasp": "2.4.2",
"@qiwi/semantic-release-gh-pages-plugin": "5.2.12",
"@rollup/plugin-babel": "6.0.4",
"@rollup/plugin-commonjs": "26.0.3",
"@rollup/plugin-node-resolve": "15.3.0",
"@rollup/plugin-typescript": "11.1.6",
"@semantic-release/changelog": "6.0.3",
"@semantic-release/git": "10.0.1",
"@semantic-release/github": "10.3.5",
"@types/addressparser": "1.0.3",
"@types/crypto-js": "4.2.2",
"@types/eslint__js": "8.42.3",
"@types/google-apps-script": "1.0.84",
"@types/jest": "29.5.14",
"@types/node": "22.8.6",
"@types/sha1": "1.1.5",
"@typescript-eslint/eslint-plugin": "8.12.2",
"@typescript-eslint/parser": "8.12.2",
"all-contributors-cli": "6.26.1",
"concurrently": "8.2.2",
"eslint": "9.13.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-googleappsscript": "1.0.5",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-tsdoc": "0.3.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.3.3",
"prettier-plugin-organize-imports": "4.1.0",
"rollup": "4.24.3",
"rollup-plugin-gas": "1.0.0",
"semantic-release": "24.2.0",
"sonarqube-scanner": "4.2.5",
"ts-jest": "29.2.5",
"ts-prune": "0.10.3",
"type-fest": "4.26.1",
"typedoc": "0.26.10",
"typescript": "5.6.3",
"typescript-eslint": "8.12.2",
"typescript-json-schema": "0.65.1"
},
"private": true,
"dependencies": {
"addressparser": "^1.0.1",
"ajv": "8.17.1",
"class-transformer": "^0.5.1",
"crypto-js": "^4.2.0",
"date-fns": "^3.6.0",
"parse-duration": "^1.1.0",
"reflect-metadata": "^0.2.1"
},
"engines": {
"node": ">=22"
}
}