@google/clasp 2.4.2 → 3.0.0-alpha1

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.
Files changed (149) hide show
  1. package/README.md +253 -196
  2. package/build/src/auth/auth.js +176 -0
  3. package/build/src/auth/auth_code_flow.js +36 -0
  4. package/build/src/auth/credential_store.js +1 -0
  5. package/build/src/auth/file_credential_store.js +82 -0
  6. package/build/src/auth/localhost_auth_code_flow.js +62 -0
  7. package/build/src/auth/serverless_auth_code_flow.js +32 -0
  8. package/build/src/commands/clone-script.js +71 -0
  9. package/build/src/commands/create-deployment.js +33 -0
  10. package/build/src/commands/create-script.js +75 -0
  11. package/build/src/commands/create-version.js +31 -0
  12. package/build/src/commands/delete-deployment.js +71 -0
  13. package/build/src/commands/disable-api.js +19 -0
  14. package/build/src/commands/enable-api.js +31 -0
  15. package/build/src/commands/list-apis.js +23 -0
  16. package/build/src/commands/list-deployments.js +30 -0
  17. package/build/src/commands/list-scripts.js +28 -0
  18. package/build/src/commands/list-versions.js +29 -0
  19. package/build/src/commands/login.js +54 -53
  20. package/build/src/commands/logout.js +15 -15
  21. package/build/src/commands/open-apis.js +11 -0
  22. package/build/src/commands/open-container.js +15 -0
  23. package/build/src/commands/open-credentials.js +11 -0
  24. package/build/src/commands/open-logs.js +11 -0
  25. package/build/src/commands/open-script.js +18 -0
  26. package/build/src/commands/open-webapp.js +56 -0
  27. package/build/src/commands/program.js +108 -0
  28. package/build/src/commands/pull.js +19 -18
  29. package/build/src/commands/push.js +64 -74
  30. package/build/src/commands/run-function.js +61 -0
  31. package/build/src/commands/setup-logs.js +12 -0
  32. package/build/src/commands/show-authorized-user.js +18 -0
  33. package/build/src/commands/show-file-status.js +34 -0
  34. package/build/src/commands/tail-logs.js +92 -0
  35. package/build/src/commands/utils.js +82 -0
  36. package/build/src/constants.js +0 -3
  37. package/build/src/{apis.js → core/apis.js} +90 -92
  38. package/build/src/core/clasp.js +171 -0
  39. package/build/src/core/files.js +359 -0
  40. package/build/src/core/functions.js +51 -0
  41. package/build/src/core/logs.js +41 -0
  42. package/build/src/core/manifest.js +1 -0
  43. package/build/src/core/project.js +313 -0
  44. package/build/src/core/services.js +179 -0
  45. package/build/src/core/utils.js +121 -0
  46. package/build/src/index.js +16 -354
  47. package/build/src/intl.js +34 -0
  48. package/docs/README.md +1 -4
  49. package/docs/config-files.md +4 -5
  50. package/docs/run.md +26 -7
  51. package/package.json +87 -51
  52. package/CHANGELOG.md +0 -66
  53. package/build/src/apis.d.ts +0 -34
  54. package/build/src/apis.js.map +0 -1
  55. package/build/src/apiutils.d.ts +0 -16
  56. package/build/src/apiutils.js +0 -81
  57. package/build/src/apiutils.js.map +0 -1
  58. package/build/src/auth.d.ts +0 -34
  59. package/build/src/auth.js +0 -295
  60. package/build/src/auth.js.map +0 -1
  61. package/build/src/clasp-error.d.ts +0 -3
  62. package/build/src/clasp-error.js +0 -10
  63. package/build/src/clasp-error.js.map +0 -1
  64. package/build/src/commands/apis.d.ts +0 -10
  65. package/build/src/commands/apis.js +0 -91
  66. package/build/src/commands/apis.js.map +0 -1
  67. package/build/src/commands/clone.d.ts +0 -13
  68. package/build/src/commands/clone.js +0 -59
  69. package/build/src/commands/clone.js.map +0 -1
  70. package/build/src/commands/create.d.ts +0 -16
  71. package/build/src/commands/create.js +0 -81
  72. package/build/src/commands/create.js.map +0 -1
  73. package/build/src/commands/default.d.ts +0 -8
  74. package/build/src/commands/default.js +0 -10
  75. package/build/src/commands/default.js.map +0 -1
  76. package/build/src/commands/deploy.d.ts +0 -13
  77. package/build/src/commands/deploy.js +0 -51
  78. package/build/src/commands/deploy.js.map +0 -1
  79. package/build/src/commands/deployments.d.ts +0 -5
  80. package/build/src/commands/deployments.js +0 -29
  81. package/build/src/commands/deployments.js.map +0 -1
  82. package/build/src/commands/list.d.ts +0 -9
  83. package/build/src/commands/list.js +0 -34
  84. package/build/src/commands/list.js.map +0 -1
  85. package/build/src/commands/login.d.ts +0 -14
  86. package/build/src/commands/login.js.map +0 -1
  87. package/build/src/commands/logout.d.ts +0 -5
  88. package/build/src/commands/logout.js.map +0 -1
  89. package/build/src/commands/logs.d.ts +0 -17
  90. package/build/src/commands/logs.js +0 -181
  91. package/build/src/commands/logs.js.map +0 -1
  92. package/build/src/commands/open.d.ts +0 -15
  93. package/build/src/commands/open.js +0 -89
  94. package/build/src/commands/open.js.map +0 -1
  95. package/build/src/commands/pull.d.ts +0 -10
  96. package/build/src/commands/pull.js.map +0 -1
  97. package/build/src/commands/push.d.ts +0 -11
  98. package/build/src/commands/push.js.map +0 -1
  99. package/build/src/commands/run.d.ts +0 -14
  100. package/build/src/commands/run.js +0 -130
  101. package/build/src/commands/run.js.map +0 -1
  102. package/build/src/commands/setting.d.ts +0 -8
  103. package/build/src/commands/setting.js +0 -53
  104. package/build/src/commands/setting.js.map +0 -1
  105. package/build/src/commands/status.d.ts +0 -9
  106. package/build/src/commands/status.js +0 -25
  107. package/build/src/commands/status.js.map +0 -1
  108. package/build/src/commands/undeploy.d.ts +0 -9
  109. package/build/src/commands/undeploy.js +0 -55
  110. package/build/src/commands/undeploy.js.map +0 -1
  111. package/build/src/commands/version.d.ts +0 -5
  112. package/build/src/commands/version.js +0 -22
  113. package/build/src/commands/version.js.map +0 -1
  114. package/build/src/commands/versions.d.ts +0 -5
  115. package/build/src/commands/versions.js +0 -41
  116. package/build/src/commands/versions.js.map +0 -1
  117. package/build/src/conf.d.ts +0 -40
  118. package/build/src/conf.js +0 -100
  119. package/build/src/conf.js.map +0 -1
  120. package/build/src/constants.d.ts +0 -6
  121. package/build/src/constants.js.map +0 -1
  122. package/build/src/dotfile.d.ts +0 -50
  123. package/build/src/dotfile.js +0 -71
  124. package/build/src/dotfile.js.map +0 -1
  125. package/build/src/files.d.ts +0 -70
  126. package/build/src/files.js +0 -318
  127. package/build/src/files.js.map +0 -1
  128. package/build/src/index.d.ts +0 -18
  129. package/build/src/index.js.map +0 -1
  130. package/build/src/inquirer.d.ts +0 -82
  131. package/build/src/inquirer.js +0 -111
  132. package/build/src/inquirer.js.map +0 -1
  133. package/build/src/manifest.d.ts +0 -123
  134. package/build/src/manifest.js +0 -142
  135. package/build/src/manifest.js.map +0 -1
  136. package/build/src/messages.d.ts +0 -110
  137. package/build/src/messages.js +0 -161
  138. package/build/src/messages.js.map +0 -1
  139. package/build/src/urls.d.ts +0 -21
  140. package/build/src/urls.js +0 -33
  141. package/build/src/urls.js.map +0 -1
  142. package/build/src/utils.d.ts +0 -102
  143. package/build/src/utils.js +0 -232
  144. package/build/src/utils.js.map +0 -1
  145. package/docs/develop.md +0 -81
  146. package/docs/esmodules.md +0 -81
  147. package/docs/running-locally.md +0 -31
  148. package/docs/settings.md +0 -56
  149. package/docs/typescript.md +0 -354
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@google/clasp",
3
- "version": "2.4.2",
3
+ "version": "3.0.0-alpha1",
4
4
  "description": "Develop Apps Script Projects locally",
5
5
  "type": "module",
6
6
  "exports": "./build/src/index.js",
7
7
  "main": "build/src/index.js",
8
8
  "engines": {
9
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
9
+ "node": " >=20.0.0"
10
10
  },
11
11
  "bin": {
12
12
  "clasp": "build/src/index.js"
@@ -16,21 +16,31 @@
16
16
  "build/src"
17
17
  ],
18
18
  "scripts": {
19
- "build": "npm run compile && npm i -g --loglevel=error --force",
19
+ "build": "npm run compile && npm i --loglevel=error --force",
20
20
  "build-fresh": "npm cache clean --force && npm i && npm run build",
21
- "watch": "tsc --project tsconfig.json --watch",
21
+ "watch": "tspc --project tsconfig.json --watch",
22
22
  "prepare": "npm run compile",
23
23
  "lint": "npm run check",
24
- "test": "nyc mocha --cache false --timeout 100000 --recursive build/test",
24
+ "test": "nyc mocha",
25
25
  "coverage": "nyc --cache false report --reporter=text-lcov | coveralls",
26
- "prettier": "prettier src test --write",
27
- "check": "gts check src/*.ts src/**/*.ts test/*.ts test/**/*.ts",
28
- "clean": "gts clean",
29
- "compile": "tsc",
30
- "fix": "gts fix src/*.ts src/**/*.ts test/*.ts test/**/*.ts",
31
- "pretest": "npm run compile && npm run check"
26
+ "prettier": "biome format src test --write",
27
+ "check": "biome check src test && npm run compile",
28
+ "clean": "rm -rf build",
29
+ "compile": "tspc",
30
+ "fix": "biome check src test --fix",
31
+ "clasp": "node --loader ts-node/esm --no-warnings src/index.ts"
32
+ },
33
+ "messageformat": {
34
+ "locale": [
35
+ "en"
36
+ ],
37
+ "include": [
38
+ "src/messages/"
39
+ ],
40
+ "outfile": "src/messages/messages.js"
32
41
  },
33
42
  "nyc": {
43
+ "extends": "@istanbuljs/nyc-config-typescript",
34
44
  "include": [
35
45
  "src/**/*.ts"
36
46
  ],
@@ -60,55 +70,81 @@
60
70
  "author": "Grant Timmerman",
61
71
  "license": "Apache-2.0",
62
72
  "dependencies": {
63
- "@sindresorhus/is": "^4.0.1",
64
- "chalk": "^4.1.2",
65
- "chokidar": "^3.5.2",
66
- "cli-truncate": "^3.0.0",
67
- "commander": "^8.1.0",
68
- "debounce": "^1.2.1",
73
+ "@formatjs/intl": "^3.1.4",
74
+ "@messageformat/core": "^3.4.0",
75
+ "@sindresorhus/is": "^7.0.1",
76
+ "@types/debug": "^4.1.12",
77
+ "chalk": "^5.4.1",
78
+ "chokidar": "^4.0.3",
79
+ "cli-truncate": "^4.0.0",
80
+ "commander": "^13.0.0",
81
+ "debounce": "^2.2.0",
82
+ "debug": "^4.4.0",
69
83
  "dotf": "^2.0.2",
70
- "find-up": "^6.0.0",
71
- "fs-extra": "^10.0.0",
84
+ "fdir": "^6.4.3",
85
+ "find-up": "^7.0.0",
72
86
  "fuzzy": "^0.1.3",
73
- "google-auth-library": "^7.6.2",
74
- "googleapis": "^84.0.0",
75
- "inquirer": "^8.1.2",
76
- "inquirer-autocomplete-prompt-ipt": "^2.0.0",
77
- "is-reachable": "^5.0.0",
78
- "log-symbols": "^5.0.0",
87
+ "gaxios": "^6.7.1",
88
+ "google-auth-library": "^9.15.0",
89
+ "googleapis": "^144.0.0",
90
+ "googleapis-common": "7.2.0",
91
+ "inflection": "^3.0.2",
92
+ "inquirer": "^12.3.2",
93
+ "inquirer-autocomplete-standalone": "^0.8.1",
94
+ "log-symbols": "^7.0.0",
79
95
  "loud-rejection": "^2.2.0",
80
- "make-dir": "^3.1.0",
81
- "multimatch": "^5.0.0",
96
+ "make-dir": "^5.0.0",
97
+ "micromatch": "^4.0.8",
98
+ "multimatch": "^7.0.0",
82
99
  "normalize-newline": "^4.1.0",
83
- "open": "^8.2.1",
84
- "ora": "^6.0.0",
85
- "p-map": "^5.1.0",
86
- "read-pkg-up": "^8.0.0",
87
- "recursive-readdir": "^2.2.2",
100
+ "normalize-path": "^3.0.0",
101
+ "open": "^10.1.0",
102
+ "ora": "^8.1.1",
103
+ "p-map": "^7.0.3",
104
+ "picomatch": "^4.0.2",
105
+ "read-pkg-up": "^11.0.0",
88
106
  "server-destroy": "^1.0.1",
89
107
  "split-lines": "^3.0.0",
90
108
  "strip-bom": "^5.0.0",
91
- "ts2gas": "^4.2.0",
92
- "typescript": "^4.4.2"
109
+ "typescript": "^5.7.3"
93
110
  },
94
111
  "devDependencies": {
95
- "@types/chai": "^4.2.21",
96
- "@types/debounce": "^1.2.0",
97
- "@types/fs-extra": "^9.0.12",
98
- "@types/inquirer": "^7.3.3",
99
- "@types/mocha": "^9.0.0",
100
- "@types/node": "^12.20.21",
101
- "@types/recursive-readdir": "^2.2.0",
102
- "@types/server-destroy": "^1.0.1",
103
- "@types/tmp": "^0.2.1",
104
- "@types/wtfnode": "^0.7.0",
105
- "chai": "^4.3.4",
112
+ "@biomejs/biome": "^1.9.4",
113
+ "@commander-js/extra-typings": "^13.0.0",
114
+ "@formatjs/ts-transformer": "^3.13.32",
115
+ "@istanbuljs/nyc-config-typescript": "^1.0.2",
116
+ "@messageformat/cli": "^4.0.1",
117
+ "@types/chai": "^5.0.1",
118
+ "@types/chai-as-promised": "^8.0.1",
119
+ "@types/chai-fs": "^2.0.5",
120
+ "@types/chai-subset": "^1.3.5",
121
+ "@types/debounce": "^1.2.4",
122
+ "@types/fs-extra": "^11.0.4",
123
+ "@types/micromatch": "^4.0.9",
124
+ "@types/mocha": "^10.0.10",
125
+ "@types/mock-fs": "^4.13.4",
126
+ "@types/node": "^22.10.10",
127
+ "@types/normalize-path": "^3.0.2",
128
+ "@types/picomatch": "^3.0.2",
129
+ "@types/server-destroy": "^1.0.4",
130
+ "@types/sinon": "^17.0.4",
131
+ "@types/tmp": "^0.2.6",
132
+ "@types/wtfnode": "^0.7.3",
133
+ "chai": "^5.1.2",
134
+ "chai-as-promised": "^8.0.1",
135
+ "chai-subset": "^1.6.0",
106
136
  "coveralls": "^3.1.1",
107
- "gts": "^3.1.0",
108
- "mocha": "^9.1.1",
109
- "nyc": "^15.1.0",
110
- "prettier": "^2.3.2",
111
- "tmp": "^0.2.1",
112
- "type-fest": "^2.1.0"
137
+ "mocha": "^11.1.0",
138
+ "mock-fs": "^5.4.1",
139
+ "nock": "^14.0.0",
140
+ "nyc": "^17.1.0",
141
+ "sinon": "^19.0.2",
142
+ "source-map-support": "^0.5.21",
143
+ "tmp": "^0.2.3",
144
+ "ts-node": "^10.9.2",
145
+ "ts-patch": "^3.3.0",
146
+ "type-fest": "^4.33.0",
147
+ "why-is-node-running": "^3.2.2",
148
+ "wtfnode": "^0.10.0"
113
149
  }
114
150
  }
package/CHANGELOG.md DELETED
@@ -1,66 +0,0 @@
1
- # Changelog
2
-
3
- ## [2.4.2](https://github.com/google/clasp/compare/v2.4.1...v2.4.2) (2022-09-26)
4
-
5
-
6
- ### Bug Fixes
7
-
8
- * remove online check ([#936](https://github.com/google/clasp/issues/936)) ([6775d9f](https://github.com/google/clasp/commit/6775d9f674886ac11ee2a23d59cbe62dd141d97b))
9
-
10
- ### [2.4.1](https://www.github.com/google/clasp/compare/v2.4.0...v2.4.1) (2021-08-09)
11
-
12
-
13
- ### Bug Fixes
14
-
15
- * Don't require package.json for simple commands ([#840](https://www.github.com/google/clasp/issues/840)) ([#862](https://www.github.com/google/clasp/issues/862)) ([ad5d045](https://www.github.com/google/clasp/commit/ad5d045c431f1341cf79bcf18f150f0e9d11db55))
16
- * Fix saving credentials when refreshed. ([#863](https://www.github.com/google/clasp/issues/863)) ([48e6fa3](https://www.github.com/google/clasp/commit/48e6fa3354de635a3ea1ce089d481847b2e939e9))
17
- * Honor --project CLI option ([#865](https://www.github.com/google/clasp/issues/865)) ([deacf03](https://github.com/google/clasp/commit/deacf03d6d2d28abd9f3a408a77b69e99b9a59bf))
18
- * Shut down embedded server on login faster ([40e0b3d](https://github.com/google/clasp/commit/40e0b3d67c3d381d0f24d738781ed61a2622c477))
19
-
20
-
21
- ## [2.4.0](https://www.github.com/google/clasp/compare/v2.3.1...v2.4.0) (2021-06-11)
22
-
23
-
24
- ### Features
25
-
26
- * env & option based config files ([1b68374](https://www.github.com/google/clasp/commit/1b6837480b2e22cb8728cb80b2d8cfa36381d982))
27
-
28
-
29
- ### Bug Fixes
30
-
31
- * unnecessary code caused `help` command to crash ([3741f71](https://www.github.com/google/clasp/commit/3741f71d744a2db8c5f1304c3426b253f8e742bd))
32
-
33
-
34
- ### Miscellaneous Chores
35
-
36
- * switch from cjs to esm ([5055865](https://www.github.com/google/clasp/commit/5055865a28e48a654ffbb3b28212e53f484f76a4))
37
-
38
-
39
- ### [2.3.2](https://www.github.com/google/clasp/compare/v2.3.0...v2.3.2) (2021-05-17)
40
-
41
-
42
- ### Miscellaneous Chores
43
-
44
- * Republish 2.3.0 as 2.3.2 due to unintended breaking changes in 2.3.1
45
-
46
-
47
- ### [2.3.1](https://www.github.com/google/clasp/compare/v2.3.0...v2.3.1) (2021-05-11)
48
-
49
-
50
- ### Features
51
-
52
- * env & option based config files ([1b68374](https://www.github.com/google/clasp/commit/1b6837480b2e22cb8728cb80b2d8cfa36381d982))
53
-
54
-
55
- ### Bug Fixes
56
-
57
- * Add missing find-up dependency ([#833](https://www.github.com/google/clasp/issues/833)) ([0c9c773](https://www.github.com/google/clasp/commit/0c9c773ff800be23aba2b32a049fec186c2e8507))
58
- * commander 6 option clash ([f2b7092](https://www.github.com/google/clasp/commit/f2b709260d4581ad5f5ac78121481824ab54f076))
59
- * commander 6 option clash ([#816](https://www.github.com/google/clasp/issues/816)) ([517a9d8](https://www.github.com/google/clasp/commit/517a9d8ff71c89f0665ae57903111529eb8d6dd7))
60
- * Make tests green again -- update commander version + minor adjustments. Also fix cleanup of tests to correctly restore credentials ([d526a9f](https://www.github.com/google/clasp/commit/d526a9fa9cc4975e27c3c153cad870ca3351b89b))
61
-
62
-
63
- ### Miscellaneous Chores
64
-
65
- * Enable release-please workflow ([60b1e25](https://www.github.com/google/clasp/commit/60b1e25a343204ce6fbff9ce5a056b479d17bbe1))
66
- * Release 2.3.1 ([4322184](https://www.github.com/google/clasp/commit/432218430e9d1506f7a09d65893b83c951c529be))
@@ -1,34 +0,0 @@
1
- /**
2
- * Google API Types
3
- */
4
- /**
5
- * Different types of starter script templates.
6
- * Technically, a script can be multiple types (e.g. Slides add-on/API),
7
- * but it's pretty rare that anyone wants that.
8
- */
9
- export declare enum SCRIPT_TYPES {
10
- STANDALONE = "standalone",
11
- DOCS = "docs",
12
- SHEETS = "sheets",
13
- SLIDES = "slides",
14
- FORMS = "forms",
15
- WEBAPP = "webapp",
16
- API = "api"
17
- }
18
- export interface AdvancedService {
19
- readonly userSymbol: string;
20
- readonly serviceId: string;
21
- readonly version: string;
22
- }
23
- /**
24
- * This is a list of all public Advanced Services.
25
- *
26
- * It was generated by:
27
- * 1. script.google.com/create
28
- * 1. Resources > Advanced Google Services
29
- * 1. Enable all services
30
- * 1. View > Show manifest file
31
- * 1. View appsscript.json
32
- */
33
- export declare const PUBLIC_ADVANCED_SERVICES: AdvancedService[];
34
- export declare const SCRIPT_ID_LENGTH = 57;
@@ -1 +0,0 @@
1
- {"version":3,"file":"apis.js","sourceRoot":"","sources":["../../src/apis.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { script_v1 as scriptV1 } from 'googleapis';
2
- import type { ReadonlyDeep } from 'type-fest';
3
- /**
4
- * Prompts for the function name.
5
- */
6
- export declare const getFunctionNames: (script: ReadonlyDeep<scriptV1.Script>, scriptId: string) => Promise<string>;
7
- /**
8
- * Enables or disables a Google API.
9
- * @param {string} serviceName The name of the service. i.e. sheets
10
- * @param {boolean} enable Enables the API if true, otherwise disables.
11
- */
12
- export declare const enableOrDisableAPI: (serviceName: string, enable: boolean) => Promise<void>;
13
- /**
14
- * Enable 'script.googleapis.com' of Google API.
15
- */
16
- export declare const enableAppsScriptAPI: () => Promise<void>;
@@ -1,81 +0,0 @@
1
- import fuzzy from 'fuzzy';
2
- import { loadAPICredentials, serviceUsage } from './auth.js';
3
- import { ClaspError } from './clasp-error.js';
4
- import { functionNamePrompt } from './inquirer.js';
5
- import { enableOrDisableAdvanceServiceInManifest } from './manifest.js';
6
- import { ERROR } from './messages.js';
7
- import { getProjectId, spinner, stopSpinner } from './utils.js';
8
- /**
9
- * Prompts for the function name.
10
- */
11
- export const getFunctionNames = async (script, scriptId) => {
12
- spinner.start('Getting functions');
13
- const content = await script.projects.getContent({ scriptId });
14
- stopSpinner();
15
- if (content.status !== 200) {
16
- throw new ClaspError(content.statusText);
17
- }
18
- const { files = [] } = content.data;
19
- const functionNames = files
20
- .filter(file => { var _a; return (_a = file.functionSet) === null || _a === void 0 ? void 0 : _a.values; })
21
- .flatMap(file => file.functionSet.values)
22
- .map(func => func.name);
23
- // Returns a Promise
24
- // https://www.npmjs.com/package/inquirer-autocomplete-prompt-ipt#options
25
- // Example: https://github.com/ruyadorno/inquirer-autocomplete-prompt/blob/master/example.js#L76
26
- const source = async (_answers, input = '') => fuzzy.filter(input, functionNames).map(element => element.original);
27
- return (await functionNamePrompt(source)).functionName;
28
- };
29
- /**
30
- * Gets the project ID from the manifest. If there is no project ID, it returns an error.
31
- */
32
- const getProjectIdOrDie = async () => {
33
- const projectId = await getProjectId(); // Will prompt user to set up if required
34
- if (projectId) {
35
- return projectId;
36
- }
37
- throw new ClaspError(ERROR.NO_GCLOUD_PROJECT());
38
- };
39
- // /**
40
- // * Returns true if the service is enabled for the Google Cloud Project.
41
- // * @param {string} serviceName The service name.
42
- // * @returns {boolean} True if the service is enabled.
43
- // */
44
- // export async function isEnabled(serviceName: string): Promise<boolean> {
45
- // const serviceDetails = await serviceUsage.services.get({name: serviceName});
46
- // return serviceDetails.data.state === 'ENABLED';
47
- // }
48
- /**
49
- * Enables or disables a Google API.
50
- * @param {string} serviceName The name of the service. i.e. sheets
51
- * @param {boolean} enable Enables the API if true, otherwise disables.
52
- */
53
- export const enableOrDisableAPI = async (serviceName, enable) => {
54
- if (!serviceName) {
55
- throw new ClaspError('An API name is required. Try sheets');
56
- }
57
- const name = `projects/${await getProjectIdOrDie()}/services/${serviceName}.googleapis.com`;
58
- try {
59
- await (enable ? serviceUsage.services.enable({ name }) : serviceUsage.services.disable({ name }));
60
- await enableOrDisableAdvanceServiceInManifest(serviceName, enable);
61
- console.log(`${enable ? 'Enable' : 'Disable'}d ${serviceName} API.`);
62
- }
63
- catch (error) {
64
- if (error instanceof ClaspError) {
65
- throw error;
66
- }
67
- // If given non-existent API (like fakeAPI, it throws 403 permission denied)
68
- // We will log this for the user instead:
69
- console.log(error);
70
- throw new ClaspError(ERROR.NO_API(enable, serviceName));
71
- }
72
- };
73
- /**
74
- * Enable 'script.googleapis.com' of Google API.
75
- */
76
- export const enableAppsScriptAPI = async () => {
77
- await loadAPICredentials(true);
78
- const name = `projects/${await getProjectIdOrDie()}/services/script.googleapis.com`;
79
- await serviceUsage.services.enable({ name });
80
- };
81
- //# sourceMappingURL=apiutils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiutils.js","sourceRoot":"","sources":["../../src/apiutils.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import { script_v1 as scriptV1 } from 'googleapis';
2
- import type { ClaspToken } from './dotfile';
3
- import type { ClaspCredentials } from './utils';
4
- export declare const discovery: import("googleapis").discovery_v1.Discovery;
5
- export declare const drive: import("googleapis").drive_v3.Drive;
6
- export declare const logger: import("googleapis").logging_v2.Logging;
7
- export declare const script: scriptV1.Script;
8
- export declare const serviceUsage: import("googleapis").serviceusage_v1.Serviceusage;
9
- /**
10
- * Gets the local OAuth client for the Google Apps Script API.
11
- * Only the Apps Script API needs to use local credential for the Execution API (script.run).
12
- * @see https://developers.google.com/apps-script/api/how-tos/execute
13
- */
14
- export declare const getLocalScript: () => Promise<scriptV1.Script>;
15
- export declare const scopeWebAppDeploy = "https://www.googleapis.com/auth/script.webapp.deploy";
16
- export declare const defaultScopes: string[];
17
- /**
18
- * Requests authorization to manage Apps Script projects.
19
- * @param {boolean} useLocalhost Uses a local HTTP server if true. Manual entry o.w.
20
- * @param {ClaspCredentials?} creds An optional credentials object.
21
- * @param {string[]} [scopes=[]] List of OAuth scopes to authorize.
22
- */
23
- export declare const authorize: (options: {
24
- readonly creds?: Readonly<ClaspCredentials>;
25
- readonly scopes: readonly string[];
26
- readonly useLocalhost: boolean;
27
- }) => Promise<void>;
28
- export declare const getLoggedInEmail: () => Promise<string | null | undefined>;
29
- /**
30
- * Loads the Apps Script API credentials for the CLI.
31
- *
32
- * Required before every API call.
33
- */
34
- export declare const loadAPICredentials: (local?: boolean) => Promise<ClaspToken>;