sintfacilis 1.0.0

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 (461) hide show
  1. package/.env.example +2 -0
  2. package/.eslintrc.js +20 -0
  3. package/.github/workflows/deploy-docs.yml +27 -0
  4. package/.github/workflows/pre-release-tests.yml +45 -0
  5. package/.github/workflows/pull-request-tests.yml +45 -0
  6. package/.prettierignore +2 -0
  7. package/.prettierrc +19 -0
  8. package/.vscode/launch.json +24 -0
  9. package/.vscode/settings.json +3 -0
  10. package/codecov.yml +7 -0
  11. package/demos/.eslintrc.js +13 -0
  12. package/demos/ago-node-cli/README.md +29 -0
  13. package/demos/ago-node-cli/ago.js +33 -0
  14. package/demos/ago-node-cli/index.js +11 -0
  15. package/demos/ago-node-cli/lib/item-export-command.js +48 -0
  16. package/demos/ago-node-cli/lib/item-search-command.js +35 -0
  17. package/demos/ago-node-cli/package-lock.json +430 -0
  18. package/demos/ago-node-cli/package.json +30 -0
  19. package/demos/attachments/README.md +5 -0
  20. package/demos/attachments/index.html +165 -0
  21. package/demos/attachments/package-lock.json +543 -0
  22. package/demos/attachments/package.json +18 -0
  23. package/demos/batch-geocoder-node/NYC_Restaurant_Inspection_Results.csv +100 -0
  24. package/demos/batch-geocoder-node/README.md +15 -0
  25. package/demos/batch-geocoder-node/batch-geocode.js +115 -0
  26. package/demos/batch-geocoder-node/config-template.js +18 -0
  27. package/demos/batch-geocoder-node/package-lock.json +336 -0
  28. package/demos/batch-geocoder-node/package.json +37 -0
  29. package/demos/express/README.md +15 -0
  30. package/demos/express/config.json.template +3 -0
  31. package/demos/express/package-lock.json +1008 -0
  32. package/demos/express/package.json +18 -0
  33. package/demos/express/server.js +33 -0
  34. package/demos/feature-service-browser/README.md +6 -0
  35. package/demos/feature-service-browser/index.html +122 -0
  36. package/demos/feature-service-browser/package-lock.json +543 -0
  37. package/demos/feature-service-browser/package.json +18 -0
  38. package/demos/geocoder-browser/README.md +10 -0
  39. package/demos/geocoder-browser/config.js.template +1 -0
  40. package/demos/geocoder-browser/index.html +131 -0
  41. package/demos/geocoder-browser/package-lock.json +610 -0
  42. package/demos/geocoder-browser/package.json +19 -0
  43. package/demos/geocoder-browser/post-sign-in.html +25 -0
  44. package/demos/jsapi-integration/README.md +25 -0
  45. package/demos/jsapi-integration/config.js +6 -0
  46. package/demos/jsapi-integration/index.html +93 -0
  47. package/demos/jsapi-integration/package-lock.json +247 -0
  48. package/demos/jsapi-integration/package.json +19 -0
  49. package/demos/node-cli-item-management/README.md +10 -0
  50. package/demos/node-cli-item-management/index.js +238 -0
  51. package/demos/node-cli-item-management/package-lock.json +432 -0
  52. package/demos/node-cli-item-management/package.json +27 -0
  53. package/demos/node-cli-item-management/screenshot.png +0 -0
  54. package/demos/oauth2-browser/README.md +14 -0
  55. package/demos/oauth2-browser/authenticate.html +30 -0
  56. package/demos/oauth2-browser/config.js.template +6 -0
  57. package/demos/oauth2-browser/index.html +211 -0
  58. package/demos/oauth2-browser/logo.svg +4 -0
  59. package/demos/oauth2-browser/package-lock.json +474 -0
  60. package/demos/oauth2-browser/package.json +18 -0
  61. package/demos/oauth2-browser/style.css +36 -0
  62. package/demos/oauth2-browser-retry/README.md +25 -0
  63. package/demos/oauth2-browser-retry/authenticate.html +22 -0
  64. package/demos/oauth2-browser-retry/index.html +116 -0
  65. package/demos/oauth2-browser-retry/logo.svg +4 -0
  66. package/demos/stream-response-to-file/README.md +7 -0
  67. package/demos/stream-response-to-file/index.js +36 -0
  68. package/demos/stream-response-to-file/output/.gitkeep +0 -0
  69. package/demos/stream-response-to-file/package-lock.json +227 -0
  70. package/demos/stream-response-to-file/package.json +33 -0
  71. package/demos/tree-shaking-rollup/.babelrc +3 -0
  72. package/demos/tree-shaking-rollup/README.md +9 -0
  73. package/demos/tree-shaking-rollup/index.html +11 -0
  74. package/demos/tree-shaking-rollup/package-lock.json +5646 -0
  75. package/demos/tree-shaking-rollup/package.json +25 -0
  76. package/demos/tree-shaking-rollup/rollup.config.js +17 -0
  77. package/demos/tree-shaking-rollup/src/index.js +8 -0
  78. package/demos/tree-shaking-webpack/README.md +8 -0
  79. package/demos/tree-shaking-webpack/index.html +11 -0
  80. package/demos/tree-shaking-webpack/package-lock.json +11455 -0
  81. package/demos/tree-shaking-webpack/package.json +24 -0
  82. package/demos/tree-shaking-webpack/src/index.js +10 -0
  83. package/demos/tree-shaking-webpack/webpack.config.js +27 -0
  84. package/demos/vue/.env.example +11 -0
  85. package/demos/vue/.eslintrc.js +17 -0
  86. package/demos/vue/.postcssrc.js +5 -0
  87. package/demos/vue/README.md +17 -0
  88. package/demos/vue/babel.config.js +3 -0
  89. package/demos/vue/package-lock.json +28044 -0
  90. package/demos/vue/package.json +33 -0
  91. package/demos/vue/public/favicon.ico +0 -0
  92. package/demos/vue/public/index.html +24 -0
  93. package/demos/vue/src/assets/logo.svg +29 -0
  94. package/demos/vue/src/components/App.vue +305 -0
  95. package/demos/vue/src/components/Authenticate.vue +65 -0
  96. package/demos/vue/src/components/Loader.vue +230 -0
  97. package/demos/vue/src/main.js +92 -0
  98. package/demos/webmap-checker-sapper/.env.example +5 -0
  99. package/demos/webmap-checker-sapper/README.md +123 -0
  100. package/demos/webmap-checker-sapper/appveyor.yml +18 -0
  101. package/demos/webmap-checker-sapper/cypress/fixtures/example.json +5 -0
  102. package/demos/webmap-checker-sapper/cypress/integration/spec.js +19 -0
  103. package/demos/webmap-checker-sapper/cypress/plugins/index.js +17 -0
  104. package/demos/webmap-checker-sapper/cypress/support/commands.js +25 -0
  105. package/demos/webmap-checker-sapper/cypress/support/index.js +20 -0
  106. package/demos/webmap-checker-sapper/cypress.json +4 -0
  107. package/demos/webmap-checker-sapper/package-lock.json +9622 -0
  108. package/demos/webmap-checker-sapper/package.json +50 -0
  109. package/demos/webmap-checker-sapper/rollup.config.js +87 -0
  110. package/demos/webmap-checker-sapper/src/client.js +20 -0
  111. package/demos/webmap-checker-sapper/src/components/LayerStatus.html +108 -0
  112. package/demos/webmap-checker-sapper/src/components/Nav.html +21 -0
  113. package/demos/webmap-checker-sapper/src/components/WebMap.html +62 -0
  114. package/demos/webmap-checker-sapper/src/routes/_error.html +41 -0
  115. package/demos/webmap-checker-sapper/src/routes/_layout.html +21 -0
  116. package/demos/webmap-checker-sapper/src/routes/auth/authorize.js +18 -0
  117. package/demos/webmap-checker-sapper/src/routes/auth/exchange-token.js +20 -0
  118. package/demos/webmap-checker-sapper/src/routes/auth/post-sign-in.js +24 -0
  119. package/demos/webmap-checker-sapper/src/routes/auth/sign-out.js +10 -0
  120. package/demos/webmap-checker-sapper/src/routes/index.html +20 -0
  121. package/demos/webmap-checker-sapper/src/routes/webmaps/[webmapId].html +83 -0
  122. package/demos/webmap-checker-sapper/src/routes/webmaps/index.html +59 -0
  123. package/demos/webmap-checker-sapper/src/server.js +101 -0
  124. package/demos/webmap-checker-sapper/src/service-worker.js +82 -0
  125. package/demos/webmap-checker-sapper/src/template.html +33 -0
  126. package/demos/webmap-checker-sapper/src/userInfoMiddleware.js +21 -0
  127. package/demos/webmap-checker-sapper/src/utils.js +33 -0
  128. package/demos/webmap-checker-sapper/static/favicon.png +0 -0
  129. package/demos/webmap-checker-sapper/static/global.css +36 -0
  130. package/demos/webmap-checker-sapper/static/manifest.json +20 -0
  131. package/demos/webmap-checker-sapper/static/svelte-logo-192.png +0 -0
  132. package/demos/webmap-checker-sapper/static/svelte-logo-512.png +0 -0
  133. package/docs/.eslintrc.js +12 -0
  134. package/docs/FAQ.md +48 -0
  135. package/docs/HISTORY.md +62 -0
  136. package/docs/acetate.config.js +262 -0
  137. package/docs/build-typedoc.js +434 -0
  138. package/docs/generate-srihashes.js +53 -0
  139. package/docs/src/_layout.html +86 -0
  140. package/docs/src/api/_declaration.html +600 -0
  141. package/docs/src/api/_layout.html +204 -0
  142. package/docs/src/api/_package.html +38 -0
  143. package/docs/src/api/index.html +16 -0
  144. package/docs/src/guides/_layout.html +24 -0
  145. package/docs/src/guides/amd-requirejs-dojo.md +40 -0
  146. package/docs/src/guides/browser-authentication.md +39 -0
  147. package/docs/src/guides/bundlers.md +52 -0
  148. package/docs/src/guides/cli-authentication.md +9 -0
  149. package/docs/src/guides/client-server-authentication.md +9 -0
  150. package/docs/src/guides/embedded-apps.md +106 -0
  151. package/docs/src/guides/from-a-cdn.md +38 -0
  152. package/docs/src/guides/index.md +59 -0
  153. package/docs/src/guides/node.md +104 -0
  154. package/docs/src/guides/package-overview.md +111 -0
  155. package/docs/src/guides/server-authentication.md +9 -0
  156. package/docs/src/guides/whats-new-v2-0.md +305 -0
  157. package/docs/src/img/icons.png +0 -0
  158. package/docs/src/img/icons@2x.png +0 -0
  159. package/docs/src/img/oauth-browser.png +0 -0
  160. package/docs/src/index.html +12 -0
  161. package/docs/src/js/api-search.js +112 -0
  162. package/docs/src/js/nav-toggle.js +41 -0
  163. package/docs/src/sass/_highlight.scss +96 -0
  164. package/docs/src/sass/_icons.scss +157 -0
  165. package/docs/src/sass/style.scss +242 -0
  166. package/docs/src/srihashes.json +12 -0
  167. package/jasmine.json +7 -0
  168. package/jasmine.live.json +7 -0
  169. package/karma.conf.js +107 -0
  170. package/lerna.json +8 -0
  171. package/notes/README.md +68 -0
  172. package/package.json +141 -0
  173. package/packages/arcgis-rest-auth/README.md +71 -0
  174. package/packages/arcgis-rest-auth/package.json +69 -0
  175. package/packages/arcgis-rest-auth/post-message-auth-spec.md +70 -0
  176. package/packages/arcgis-rest-auth/src/ApiKey.ts +41 -0
  177. package/packages/arcgis-rest-auth/src/ApplicationSession.ts +122 -0
  178. package/packages/arcgis-rest-auth/src/UserSession.ts +1355 -0
  179. package/packages/arcgis-rest-auth/src/app-tokens.ts +131 -0
  180. package/packages/arcgis-rest-auth/src/authenticated-request-options.ts +24 -0
  181. package/packages/arcgis-rest-auth/src/federation-utils.ts +85 -0
  182. package/packages/arcgis-rest-auth/src/fetch-token.ts +50 -0
  183. package/packages/arcgis-rest-auth/src/generate-token.ts +35 -0
  184. package/packages/arcgis-rest-auth/src/index.ts +13 -0
  185. package/packages/arcgis-rest-auth/src/validate-app-access.ts +68 -0
  186. package/packages/arcgis-rest-auth/test/ApiKey.test.ts +35 -0
  187. package/packages/arcgis-rest-auth/test/ApplicationSession.test.ts +124 -0
  188. package/packages/arcgis-rest-auth/test/UserSession.test.ts +2377 -0
  189. package/packages/arcgis-rest-auth/test/app-tokens.test.ts +95 -0
  190. package/packages/arcgis-rest-auth/test/federation-utils.test.ts +323 -0
  191. package/packages/arcgis-rest-auth/test/fetchToken.test.ts +112 -0
  192. package/packages/arcgis-rest-auth/test/generateToken.test.ts +102 -0
  193. package/packages/arcgis-rest-auth/test/utils.ts +14 -0
  194. package/packages/arcgis-rest-auth/test/validate-app-access.test.ts +46 -0
  195. package/packages/arcgis-rest-auth/tsconfig.json +6 -0
  196. package/packages/arcgis-rest-demographics/README.md +75 -0
  197. package/packages/arcgis-rest-demographics/package.json +69 -0
  198. package/packages/arcgis-rest-demographics/src/getAvailableCountries.ts +113 -0
  199. package/packages/arcgis-rest-demographics/src/getAvailableDataCollections.ts +166 -0
  200. package/packages/arcgis-rest-demographics/src/getAvailableGeographyLevels.ts +88 -0
  201. package/packages/arcgis-rest-demographics/src/getGeography.ts +152 -0
  202. package/packages/arcgis-rest-demographics/src/helpers.ts +28 -0
  203. package/packages/arcgis-rest-demographics/src/index.ts +8 -0
  204. package/packages/arcgis-rest-demographics/src/queryDemographicData.ts +106 -0
  205. package/packages/arcgis-rest-demographics/test/getAvailableCountries.test.ts +92 -0
  206. package/packages/arcgis-rest-demographics/test/getAvailableDataCollections.test.ts +115 -0
  207. package/packages/arcgis-rest-demographics/test/getAvailableGeographyLevels.test.ts +72 -0
  208. package/packages/arcgis-rest-demographics/test/getGeography.test.ts +141 -0
  209. package/packages/arcgis-rest-demographics/test/mocks/responses.ts +4 -0
  210. package/packages/arcgis-rest-demographics/test/queryDemographicData.test.live.ts +42 -0
  211. package/packages/arcgis-rest-demographics/test/queryDemographicData.test.ts +113 -0
  212. package/packages/arcgis-rest-demographics/tsconfig.json +6 -0
  213. package/packages/arcgis-rest-feature-layer/README.md +77 -0
  214. package/packages/arcgis-rest-feature-layer/package.json +64 -0
  215. package/packages/arcgis-rest-feature-layer/src/add.ts +56 -0
  216. package/packages/arcgis-rest-feature-layer/src/addAttachment.ts +53 -0
  217. package/packages/arcgis-rest-feature-layer/src/applyEdits.ts +95 -0
  218. package/packages/arcgis-rest-feature-layer/src/decodeValues.ts +122 -0
  219. package/packages/arcgis-rest-feature-layer/src/delete.ts +61 -0
  220. package/packages/arcgis-rest-feature-layer/src/deleteAttachments.ts +52 -0
  221. package/packages/arcgis-rest-feature-layer/src/getAllLayersAndTables.ts +30 -0
  222. package/packages/arcgis-rest-feature-layer/src/getAttachments.ts +55 -0
  223. package/packages/arcgis-rest-feature-layer/src/getLayer.ts +24 -0
  224. package/packages/arcgis-rest-feature-layer/src/getService.ts +26 -0
  225. package/packages/arcgis-rest-feature-layer/src/helpers.ts +97 -0
  226. package/packages/arcgis-rest-feature-layer/src/index.ts +32 -0
  227. package/packages/arcgis-rest-feature-layer/src/query.ts +204 -0
  228. package/packages/arcgis-rest-feature-layer/src/queryRelated.ts +89 -0
  229. package/packages/arcgis-rest-feature-layer/src/update.ts +60 -0
  230. package/packages/arcgis-rest-feature-layer/src/updateAttachment.ts +59 -0
  231. package/packages/arcgis-rest-feature-layer/test/attachments.test.ts +200 -0
  232. package/packages/arcgis-rest-feature-layer/test/crud.test.ts +197 -0
  233. package/packages/arcgis-rest-feature-layer/test/decodeValues.test.ts +67 -0
  234. package/packages/arcgis-rest-feature-layer/test/getAllLayersAndTables.test.ts +28 -0
  235. package/packages/arcgis-rest-feature-layer/test/getLayer.test.ts +31 -0
  236. package/packages/arcgis-rest-feature-layer/test/getService.test.ts +31 -0
  237. package/packages/arcgis-rest-feature-layer/test/helpers.test.ts +25 -0
  238. package/packages/arcgis-rest-feature-layer/test/mocks/allLayersAndTablesResponse.ts +906 -0
  239. package/packages/arcgis-rest-feature-layer/test/mocks/cvdQueryResponse.ts +225 -0
  240. package/packages/arcgis-rest-feature-layer/test/mocks/feature.ts +302 -0
  241. package/packages/arcgis-rest-feature-layer/test/mocks/fields.ts +779 -0
  242. package/packages/arcgis-rest-feature-layer/test/mocks/foo.txt +1 -0
  243. package/packages/arcgis-rest-feature-layer/test/mocks/service.ts +398 -0
  244. package/packages/arcgis-rest-feature-layer/test/query.test.ts +167 -0
  245. package/packages/arcgis-rest-feature-layer/tsconfig.json +6 -0
  246. package/packages/arcgis-rest-geocoding/README.md +86 -0
  247. package/packages/arcgis-rest-geocoding/package.json +66 -0
  248. package/packages/arcgis-rest-geocoding/src/bulk.ts +104 -0
  249. package/packages/arcgis-rest-geocoding/src/geocode.ts +166 -0
  250. package/packages/arcgis-rest-geocoding/src/helpers.ts +56 -0
  251. package/packages/arcgis-rest-geocoding/src/index.ts +15 -0
  252. package/packages/arcgis-rest-geocoding/src/reverse.ts +84 -0
  253. package/packages/arcgis-rest-geocoding/src/suggest.ts +45 -0
  254. package/packages/arcgis-rest-geocoding/test/bulk.test.ts +194 -0
  255. package/packages/arcgis-rest-geocoding/test/geocode.test.ts +253 -0
  256. package/packages/arcgis-rest-geocoding/test/helpers.test.ts +85 -0
  257. package/packages/arcgis-rest-geocoding/test/mocks/responses.ts +591 -0
  258. package/packages/arcgis-rest-geocoding/test/reverse.test.ts +126 -0
  259. package/packages/arcgis-rest-geocoding/test/suggest.test.ts +53 -0
  260. package/packages/arcgis-rest-geocoding/tsconfig.json +6 -0
  261. package/packages/arcgis-rest-portal/README.md +73 -0
  262. package/packages/arcgis-rest-portal/package.json +64 -0
  263. package/packages/arcgis-rest-portal/src/groups/add-users.ts +140 -0
  264. package/packages/arcgis-rest-portal/src/groups/create.ts +43 -0
  265. package/packages/arcgis-rest-portal/src/groups/get.ts +184 -0
  266. package/packages/arcgis-rest-portal/src/groups/helpers.ts +14 -0
  267. package/packages/arcgis-rest-portal/src/groups/invite-users.ts +127 -0
  268. package/packages/arcgis-rest-portal/src/groups/join.ts +57 -0
  269. package/packages/arcgis-rest-portal/src/groups/notification.ts +77 -0
  270. package/packages/arcgis-rest-portal/src/groups/protect.ts +56 -0
  271. package/packages/arcgis-rest-portal/src/groups/remove-users.ts +76 -0
  272. package/packages/arcgis-rest-portal/src/groups/remove.ts +32 -0
  273. package/packages/arcgis-rest-portal/src/groups/search.ts +47 -0
  274. package/packages/arcgis-rest-portal/src/groups/update-user-membership.ts +63 -0
  275. package/packages/arcgis-rest-portal/src/groups/update.ts +39 -0
  276. package/packages/arcgis-rest-portal/src/index.ts +69 -0
  277. package/packages/arcgis-rest-portal/src/items/add.ts +138 -0
  278. package/packages/arcgis-rest-portal/src/items/content.ts +67 -0
  279. package/packages/arcgis-rest-portal/src/items/create.ts +150 -0
  280. package/packages/arcgis-rest-portal/src/items/export.ts +80 -0
  281. package/packages/arcgis-rest-portal/src/items/get.ts +437 -0
  282. package/packages/arcgis-rest-portal/src/items/helpers.ts +292 -0
  283. package/packages/arcgis-rest-portal/src/items/protect.ts +41 -0
  284. package/packages/arcgis-rest-portal/src/items/reassign.ts +61 -0
  285. package/packages/arcgis-rest-portal/src/items/remove.ts +141 -0
  286. package/packages/arcgis-rest-portal/src/items/search.ts +25 -0
  287. package/packages/arcgis-rest-portal/src/items/update.ts +185 -0
  288. package/packages/arcgis-rest-portal/src/items/upload.ts +125 -0
  289. package/packages/arcgis-rest-portal/src/orgs/notification.ts +131 -0
  290. package/packages/arcgis-rest-portal/src/services/get-unique-service-name.ts +35 -0
  291. package/packages/arcgis-rest-portal/src/services/is-service-name-available.ts +30 -0
  292. package/packages/arcgis-rest-portal/src/sharing/access.ts +84 -0
  293. package/packages/arcgis-rest-portal/src/sharing/helpers.ts +81 -0
  294. package/packages/arcgis-rest-portal/src/sharing/is-item-shared-with-group.ts +42 -0
  295. package/packages/arcgis-rest-portal/src/sharing/share-item-with-group.ts +336 -0
  296. package/packages/arcgis-rest-portal/src/sharing/unshare-item-with-group.ts +105 -0
  297. package/packages/arcgis-rest-portal/src/users/get-user-tags.ts +52 -0
  298. package/packages/arcgis-rest-portal/src/users/get-user-url.ts +18 -0
  299. package/packages/arcgis-rest-portal/src/users/get-user.ts +58 -0
  300. package/packages/arcgis-rest-portal/src/users/invitation.ts +156 -0
  301. package/packages/arcgis-rest-portal/src/users/notification.ts +68 -0
  302. package/packages/arcgis-rest-portal/src/users/search-users.ts +37 -0
  303. package/packages/arcgis-rest-portal/src/users/update.ts +66 -0
  304. package/packages/arcgis-rest-portal/src/util/SearchQueryBuilder.ts +391 -0
  305. package/packages/arcgis-rest-portal/src/util/array.ts +16 -0
  306. package/packages/arcgis-rest-portal/src/util/generic-search.ts +99 -0
  307. package/packages/arcgis-rest-portal/src/util/get-portal-settings.ts +45 -0
  308. package/packages/arcgis-rest-portal/src/util/get-portal-url.ts +28 -0
  309. package/packages/arcgis-rest-portal/src/util/get-portal.ts +53 -0
  310. package/packages/arcgis-rest-portal/src/util/get-subscription-info.ts +43 -0
  311. package/packages/arcgis-rest-portal/src/util/scrub-control-chars.ts +13 -0
  312. package/packages/arcgis-rest-portal/src/util/search.ts +42 -0
  313. package/packages/arcgis-rest-portal/test/groups/add-users.test.ts +239 -0
  314. package/packages/arcgis-rest-portal/test/groups/crud.test.ts +180 -0
  315. package/packages/arcgis-rest-portal/test/groups/get.test.ts +176 -0
  316. package/packages/arcgis-rest-portal/test/groups/invite-users.test.ts +146 -0
  317. package/packages/arcgis-rest-portal/test/groups/join.test.ts +72 -0
  318. package/packages/arcgis-rest-portal/test/groups/notification.test.ts +112 -0
  319. package/packages/arcgis-rest-portal/test/groups/protect.test.ts +72 -0
  320. package/packages/arcgis-rest-portal/test/groups/remove-users.test.ts +140 -0
  321. package/packages/arcgis-rest-portal/test/groups/search.test.ts +151 -0
  322. package/packages/arcgis-rest-portal/test/groups/update-user-membership.test.ts +62 -0
  323. package/packages/arcgis-rest-portal/test/items/add.test.ts +323 -0
  324. package/packages/arcgis-rest-portal/test/items/content.test.ts +156 -0
  325. package/packages/arcgis-rest-portal/test/items/create.test.ts +400 -0
  326. package/packages/arcgis-rest-portal/test/items/export.test.ts +122 -0
  327. package/packages/arcgis-rest-portal/test/items/get.test.ts +583 -0
  328. package/packages/arcgis-rest-portal/test/items/helpers.test.ts +60 -0
  329. package/packages/arcgis-rest-portal/test/items/protect.test.ts +122 -0
  330. package/packages/arcgis-rest-portal/test/items/reassign.test.ts +131 -0
  331. package/packages/arcgis-rest-portal/test/items/remove.test.ts +261 -0
  332. package/packages/arcgis-rest-portal/test/items/search.test.ts +275 -0
  333. package/packages/arcgis-rest-portal/test/items/update.test.ts +556 -0
  334. package/packages/arcgis-rest-portal/test/items/upload.test.ts +282 -0
  335. package/packages/arcgis-rest-portal/test/mocks/groups/responses.ts +208 -0
  336. package/packages/arcgis-rest-portal/test/mocks/items/foo.zip +0 -0
  337. package/packages/arcgis-rest-portal/test/mocks/items/item.ts +526 -0
  338. package/packages/arcgis-rest-portal/test/mocks/items/resources.ts +38 -0
  339. package/packages/arcgis-rest-portal/test/mocks/items/search.ts +121 -0
  340. package/packages/arcgis-rest-portal/test/mocks/portal/response.ts +126 -0
  341. package/packages/arcgis-rest-portal/test/mocks/portal/settings-response.ts +56 -0
  342. package/packages/arcgis-rest-portal/test/mocks/sharing/sharing.ts +18 -0
  343. package/packages/arcgis-rest-portal/test/mocks/users/invitation.ts +70 -0
  344. package/packages/arcgis-rest-portal/test/mocks/users/notification.ts +34 -0
  345. package/packages/arcgis-rest-portal/test/mocks/users/user-search.ts +388 -0
  346. package/packages/arcgis-rest-portal/test/mocks/users/user-tags.ts +5 -0
  347. package/packages/arcgis-rest-portal/test/mocks/users/user.ts +174 -0
  348. package/packages/arcgis-rest-portal/test/orgs/notification.test.ts +144 -0
  349. package/packages/arcgis-rest-portal/test/services/get-unique-service-name.test.ts +59 -0
  350. package/packages/arcgis-rest-portal/test/services/is-service-name-available.test.ts +46 -0
  351. package/packages/arcgis-rest-portal/test/sharing/access.test.ts +162 -0
  352. package/packages/arcgis-rest-portal/test/sharing/helpers.test.ts +55 -0
  353. package/packages/arcgis-rest-portal/test/sharing/share-item-with-group.test.ts +1328 -0
  354. package/packages/arcgis-rest-portal/test/sharing/unshare-item-with-group.test.ts +288 -0
  355. package/packages/arcgis-rest-portal/test/users/get-user-tags.test.ts +71 -0
  356. package/packages/arcgis-rest-portal/test/users/get-user-url.test.ts +40 -0
  357. package/packages/arcgis-rest-portal/test/users/get-user.test.ts +90 -0
  358. package/packages/arcgis-rest-portal/test/users/invitation.test.ts +127 -0
  359. package/packages/arcgis-rest-portal/test/users/notification.test.ts +77 -0
  360. package/packages/arcgis-rest-portal/test/users/search.test.ts +42 -0
  361. package/packages/arcgis-rest-portal/test/users/update.test.ts +151 -0
  362. package/packages/arcgis-rest-portal/test/util/SearchQueryBuilder.test.ts +340 -0
  363. package/packages/arcgis-rest-portal/test/util/array.test.ts +30 -0
  364. package/packages/arcgis-rest-portal/test/util/get-portal-settings.test.ts +68 -0
  365. package/packages/arcgis-rest-portal/test/util/get-portal-url.test.ts +37 -0
  366. package/packages/arcgis-rest-portal/test/util/portal.test.ts +148 -0
  367. package/packages/arcgis-rest-portal/test/util/scrub-control-chars.test.ts +22 -0
  368. package/packages/arcgis-rest-portal/tsconfig.json +6 -0
  369. package/packages/arcgis-rest-request/README.md +72 -0
  370. package/packages/arcgis-rest-request/package.json +60 -0
  371. package/packages/arcgis-rest-request/src/index.ts +25 -0
  372. package/packages/arcgis-rest-request/src/request.ts +433 -0
  373. package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +76 -0
  374. package/packages/arcgis-rest-request/src/utils/ErrorTypes.ts +29 -0
  375. package/packages/arcgis-rest-request/src/utils/GrantTypes.ts +5 -0
  376. package/packages/arcgis-rest-request/src/utils/HTTPMethods.ts +6 -0
  377. package/packages/arcgis-rest-request/src/utils/IAuthenticationManager.ts +22 -0
  378. package/packages/arcgis-rest-request/src/utils/IFetchTokenParams.ts +11 -0
  379. package/packages/arcgis-rest-request/src/utils/IGenerateTokenParams.ts +9 -0
  380. package/packages/arcgis-rest-request/src/utils/IParamBuilder.ts +3 -0
  381. package/packages/arcgis-rest-request/src/utils/IParams.ts +6 -0
  382. package/packages/arcgis-rest-request/src/utils/IParamsBuilder.ts +5 -0
  383. package/packages/arcgis-rest-request/src/utils/IRequestOptions.ts +54 -0
  384. package/packages/arcgis-rest-request/src/utils/ITokenRequestOptions.ts +9 -0
  385. package/packages/arcgis-rest-request/src/utils/ResponseFormats.ts +10 -0
  386. package/packages/arcgis-rest-request/src/utils/append-custom-params.ts +49 -0
  387. package/packages/arcgis-rest-request/src/utils/clean-url.ts +20 -0
  388. package/packages/arcgis-rest-request/src/utils/decode-query-string.ts +27 -0
  389. package/packages/arcgis-rest-request/src/utils/encode-form-data.ts +38 -0
  390. package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +35 -0
  391. package/packages/arcgis-rest-request/src/utils/process-params.ts +109 -0
  392. package/packages/arcgis-rest-request/src/utils/retryAuthError.ts +10 -0
  393. package/packages/arcgis-rest-request/src/utils/warn.ts +11 -0
  394. package/packages/arcgis-rest-request/src/utils/with-options.ts +48 -0
  395. package/packages/arcgis-rest-request/test/mocks/errors.ts +76 -0
  396. package/packages/arcgis-rest-request/test/mocks/geojson-feature-collection.ts +13 -0
  397. package/packages/arcgis-rest-request/test/mocks/param-builder.ts +7 -0
  398. package/packages/arcgis-rest-request/test/mocks/sharing-rest-info.ts +41 -0
  399. package/packages/arcgis-rest-request/test/mocks/webmap.ts +41 -0
  400. package/packages/arcgis-rest-request/test/request.test.ts +621 -0
  401. package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +191 -0
  402. package/packages/arcgis-rest-request/test/utils/ArcGISRequestError.test.ts +51 -0
  403. package/packages/arcgis-rest-request/test/utils/check-for-errors.test.ts +111 -0
  404. package/packages/arcgis-rest-request/test/utils/clean-url.test.ts +50 -0
  405. package/packages/arcgis-rest-request/test/utils/encode-form-data.test.ts +133 -0
  406. package/packages/arcgis-rest-request/test/utils/encode-query-string.test.ts +18 -0
  407. package/packages/arcgis-rest-request/test/utils/process-params.test.ts +205 -0
  408. package/packages/arcgis-rest-request/test/utils/with-options.test.ts +133 -0
  409. package/packages/arcgis-rest-request/tsconfig.json +4 -0
  410. package/packages/arcgis-rest-routing/README.md +75 -0
  411. package/packages/arcgis-rest-routing/package.json +65 -0
  412. package/packages/arcgis-rest-routing/src/closestFacility.ts +225 -0
  413. package/packages/arcgis-rest-routing/src/helpers.ts +104 -0
  414. package/packages/arcgis-rest-routing/src/index.ts +14 -0
  415. package/packages/arcgis-rest-routing/src/originDestinationMatrix.ts +223 -0
  416. package/packages/arcgis-rest-routing/src/serviceArea.ts +173 -0
  417. package/packages/arcgis-rest-routing/src/solveRoute.ts +180 -0
  418. package/packages/arcgis-rest-routing/test/closestFacility.test.ts +683 -0
  419. package/packages/arcgis-rest-routing/test/mocks/inputs.ts +132 -0
  420. package/packages/arcgis-rest-routing/test/mocks/responses.ts +13316 -0
  421. package/packages/arcgis-rest-routing/test/originDestinationMatrix.test.ts +795 -0
  422. package/packages/arcgis-rest-routing/test/serviceArea.test.ts +601 -0
  423. package/packages/arcgis-rest-routing/test/solveRoute.test.ts +677 -0
  424. package/packages/arcgis-rest-routing/tsconfig.json +6 -0
  425. package/packages/arcgis-rest-service-admin/README.md +73 -0
  426. package/packages/arcgis-rest-service-admin/package.json +65 -0
  427. package/packages/arcgis-rest-service-admin/src/addTo.ts +70 -0
  428. package/packages/arcgis-rest-service-admin/src/create.ts +189 -0
  429. package/packages/arcgis-rest-service-admin/src/get-service-admin-info.ts +34 -0
  430. package/packages/arcgis-rest-service-admin/src/get-view-sources.ts +20 -0
  431. package/packages/arcgis-rest-service-admin/src/index.ts +14 -0
  432. package/packages/arcgis-rest-service-admin/src/update.ts +50 -0
  433. package/packages/arcgis-rest-service-admin/test/addTo.test.ts +350 -0
  434. package/packages/arcgis-rest-service-admin/test/create.test.ts +294 -0
  435. package/packages/arcgis-rest-service-admin/test/get-service-admin-info.test.ts +37 -0
  436. package/packages/arcgis-rest-service-admin/test/get-view-sources.test.ts +40 -0
  437. package/packages/arcgis-rest-service-admin/test/mocks/layerDefinition.ts +79 -0
  438. package/packages/arcgis-rest-service-admin/test/mocks/service.ts +81 -0
  439. package/packages/arcgis-rest-service-admin/test/update.test.ts +115 -0
  440. package/packages/arcgis-rest-service-admin/tsconfig.json +5 -0
  441. package/packages/arcgis-rest-types/README.md +66 -0
  442. package/packages/arcgis-rest-types/package.json +54 -0
  443. package/packages/arcgis-rest-types/src/feature.ts +42 -0
  444. package/packages/arcgis-rest-types/src/geometry.ts +272 -0
  445. package/packages/arcgis-rest-types/src/group.ts +72 -0
  446. package/packages/arcgis-rest-types/src/index.ts +9 -0
  447. package/packages/arcgis-rest-types/src/item.ts +81 -0
  448. package/packages/arcgis-rest-types/src/service.ts +156 -0
  449. package/packages/arcgis-rest-types/src/statisticDefinition.ts +33 -0
  450. package/packages/arcgis-rest-types/src/symbol.ts +170 -0
  451. package/packages/arcgis-rest-types/src/user.ts +49 -0
  452. package/packages/arcgis-rest-types/src/webmap.ts +1405 -0
  453. package/packages/arcgis-rest-types/tsconfig.json +10 -0
  454. package/support/changelog.js +393 -0
  455. package/support/deploy-doc-site.js +16 -0
  456. package/support/dev.sh +6 -0
  457. package/support/publish.sh +47 -0
  458. package/support/test-helpers.js +9 -0
  459. package/tsconfig.json +63 -0
  460. package/umd-base-profile.js +81 -0
  461. package/umd-production-profile.js +13 -0
@@ -0,0 +1,10 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "es2015",
4
+ "declaration": true,
5
+ "declarationDir": "./dist/types",
6
+ "emitDeclarationOnly": true
7
+ },
8
+ "include": ["src/**/*.ts"],
9
+ "extends": "../../tsconfig.json"
10
+ }
@@ -0,0 +1,393 @@
1
+ const { spawn, exec, execSync } = require("child_process");
2
+ const { inspect } = require("util");
3
+ const { resolve } = require("path");
4
+ const { writeFile } = require("fs");
5
+ const { stripIndents } = require("common-tags");
6
+ const { format } = require("date-fns");
7
+ const parseChangelog = require("changelog-parser");
8
+ const parseCommit = require("conventional-commits-parser").sync;
9
+ const nunjucks = require("nunjucks");
10
+ const _ = require("lodash");
11
+
12
+ /**
13
+ * The purpose of this file is to parse all commits since the last release tag
14
+ * v*.*.* and update the contents of CHANGELOG.md to prepare for a new release.
15
+ */
16
+
17
+ const repo = "https://github.com/Esri/arcgis-rest-js";
18
+
19
+ function getTags() {
20
+ return new Promise((resolve, reject) => {
21
+ let tags = [];
22
+ const log = spawn("git", ["tag", "-l", "v*", "--sort", "v:refname"]);
23
+
24
+ log.stdout.on("data", data => {
25
+ tags = tags.concat(data.toString().split("\n"));
26
+ });
27
+
28
+ log.on("close", code => {
29
+ resolve(_.compact(tags));
30
+ });
31
+ });
32
+ }
33
+
34
+ function getFirstCommit() {
35
+ return new Promise((resolve, reject) => {
36
+ let commits = [];
37
+ const log = spawn("git", [
38
+ "rev-list",
39
+ "--max-parents=0",
40
+ "HEAD",
41
+ "--reverse"
42
+ ]);
43
+
44
+ log.stdout.on("data", data => {
45
+ commits = commits.concat(data.toString().split("\n"));
46
+ });
47
+
48
+ log.on("close", code => {
49
+ resolve(commits[0]);
50
+ });
51
+ });
52
+ }
53
+
54
+ function getCommitData(from, to) {
55
+ return new Promise((resolve, reject) => {
56
+ const hash = "%H";
57
+ const shortHash = "%h";
58
+ const authorName = "%an";
59
+ const authorEmail = "%ae";
60
+ const date = "%aI";
61
+ const subject = "%s";
62
+ const defaultFormat = {
63
+ hash,
64
+ shortHash,
65
+ date,
66
+ subject,
67
+ author: { name: authorName, email: authorEmail }
68
+ };
69
+
70
+ const cmd = `git log ${from}..${to} --pretty=format:'${JSON.stringify(
71
+ defaultFormat
72
+ )},'`;
73
+
74
+ exec(cmd, (err, stdout, stderr) => {
75
+ if (err) return reject(err);
76
+ if (stderr) return reject(stderr);
77
+ /*
78
+ NOTE: you will get parsing errors on the next step if your commit messages have special chars like "
79
+ so you may need to uncomment the call to .replace() in the next line w/ something like:
80
+ .replace(/"returns"/g, "returns")
81
+ .replace(/\\/g, "\\\\")
82
+ */
83
+ // order commits from most recent to least recent
84
+ const commits = JSON.parse("[" + stdout.slice(0, -1).replace(/"duration"/g, "duration").replace(/"expiration"/g, "expiration") + "]").reverse();
85
+ const today = new Date();
86
+ resolve({
87
+ previousVersion: /v\d\.\d\.\d/.test(from)
88
+ ? from.replace("v", "")
89
+ : from,
90
+ version: to === "HEAD" ? getPackageVersion() : to.replace("v", ""),
91
+ date: format(today, "MMMM Do YYYY"),
92
+ commits
93
+ });
94
+ });
95
+ });
96
+ }
97
+
98
+ function getPackageVersion() {
99
+ return require(resolve(process.cwd(), "./lerna.json")).version;
100
+ }
101
+
102
+ function pairReleases(releases) {
103
+ return Promise.all(
104
+ releases.reduce((pairs, release, idx, allReleases) => {
105
+ const nextRelease = allReleases[idx + 1];
106
+ if (nextRelease) {
107
+ pairs.push([release, nextRelease]);
108
+ }
109
+
110
+ return pairs;
111
+ }, [])
112
+ );
113
+ }
114
+
115
+ function processCommitMessages(releaseData) {
116
+ return releaseData.map(release => {
117
+ release.commits = _(release.commits)
118
+ .map(commit => {
119
+ const parsedCommit = parseCommit(
120
+ execSync(
121
+ `git log ${commit.hash} -n1 --pretty=format:'%B'`
122
+ ).toString(),
123
+ {
124
+ mergePattern: /^Merge pull request #(\d+) from (.*)$/,
125
+ mergeCorrespondence: ["id", "source"],
126
+ noteKeywords: [
127
+ "BREAKING CHANGE",
128
+ "ISSUES CLOSED",
129
+ "AFFECTS PACKAGES"
130
+ ]
131
+ }
132
+ );
133
+ if (!parsedCommit.type || !parsedCommit.scope) {
134
+ return;
135
+ }
136
+
137
+ Object.assign(commit, parsedCommit);
138
+
139
+ const breaking = commit.notes.findIndex(
140
+ n => n.title === "BREAKING CHANGE"
141
+ );
142
+
143
+ if (breaking >= 0) {
144
+ commit.breakingChanges = commit.notes[breaking].text;
145
+ }
146
+
147
+ const issues = commit.notes.findIndex(n => n.title === "ISSUES CLOSED");
148
+
149
+ if (issues >= 0) {
150
+ const issuesClosed = commit.notes[issues].text
151
+ .replace(/\n.*/gm, "")
152
+ .replace(/\s/g, "")
153
+ .split(",")
154
+ .map(i => i.replace("#", ""));
155
+
156
+ const issuesReferenced = commit.references.map(r => r.issue);
157
+
158
+ commit.relatedIssues = _.uniq(
159
+ issuesClosed.concat(issuesReferenced)
160
+ ).map(i => {
161
+ return {
162
+ issue: i,
163
+ url: `${repo}/issues/${i}`
164
+ };
165
+ });
166
+ }
167
+ return commit;
168
+ })
169
+ .compact()
170
+ .sortBy("type")
171
+ .value();
172
+
173
+ return release;
174
+ });
175
+ }
176
+
177
+ function getPackagesForCommit(commit) {
178
+ const idx = commit.notes.findIndex(note => note.title === "AFFECTS PACKAGES");
179
+ if (idx >= 0) {
180
+ const affectedPackages = commit.notes[idx].text.split("\n");
181
+ return affectedPackages;
182
+ }
183
+ return ["Other Changes"];
184
+ }
185
+
186
+ function findReleasedPackages(releases) {
187
+ return releases.map(release => {
188
+ release.packages = release.commits.reduce((packages, commit) => {
189
+ packages = packages.concat(getPackagesForCommit(commit));
190
+ return _(packages).compact().uniq().sortBy(p => p).value();
191
+ }, []);
192
+ return release;
193
+ });
194
+ }
195
+
196
+ function hasBreakingChanges(commit) {
197
+ return commit.notes.find(n => n.title === "BREAKING CHANGE");
198
+ }
199
+
200
+ function groupCommitsByPackage(releases) {
201
+ return releases.map(release => {
202
+ release.groups = release.packages.reduce((groups, package) => {
203
+ const commitsForPackage = release.commits.filter(commit => {
204
+ return getPackagesForCommit(commit).some(
205
+ commitPackage => commitPackage === package
206
+ );
207
+ });
208
+
209
+ const [breaking, nonBreaking] = _.partition(
210
+ commitsForPackage,
211
+ hasBreakingChanges
212
+ );
213
+
214
+ if (breaking.length === 0) {
215
+ groups[package] = Object.assign(
216
+ {},
217
+ _.groupBy(_.sortBy(nonBreaking, "type"), "type")
218
+ );
219
+ } else {
220
+ groups[package] = Object.assign(
221
+ { breaking },
222
+ _.groupBy(nonBreaking, "type")
223
+ );
224
+ }
225
+
226
+ return groups;
227
+ }, {});
228
+ delete release.commits;
229
+ return release;
230
+ });
231
+ }
232
+
233
+ function getTypeName(type) {
234
+ switch (type) {
235
+ case "feat":
236
+ return "New Features";
237
+ case "fix":
238
+ return "Bug Fixes";
239
+ case "docs":
240
+ return "Documentation";
241
+ case "style":
242
+ return "Code Style";
243
+ case "Refactor":
244
+ return "Refactoring";
245
+ case "perf":
246
+ return "Performance";
247
+ case "test":
248
+ return "Tests";
249
+ case "chore":
250
+ return "Chores";
251
+ case "revert":
252
+ return "Reverts";
253
+ case "breaking":
254
+ return "Breaking Changes";
255
+ case "WIP":
256
+ return "Work In Progress";
257
+ default:
258
+ return "Misc.";
259
+ }
260
+ }
261
+
262
+ const template = stripIndents`
263
+ {%- macro link(repo, shortHash, hash) -%}
264
+ [\`{{ shortHash }}\`]({{repo}}/commit/{{ hash }})
265
+ {%- endmacro %}
266
+
267
+ {%- macro relatedIssues(issues) -%}
268
+ {%- for i in issues -%}
269
+ {{" "}}[#{{i.issue}}]({{i.url}})
270
+ {%- endfor -%}
271
+ {%- endmacro %}
272
+
273
+ {%- for release in releases %}
274
+ ## [{{ release.version }}] - {{ release.date }}
275
+ {% for package, groups in release.groups %}
276
+ ### {{ package }}
277
+
278
+ {% for type, commits in groups -%}
279
+ * {{ getTypeName(type) }}
280
+ {% for c in commits -%}
281
+ {{" "}}* **{{ c.scope }}**: {{ c.subject }} {{link(repo, c.shortHash, c.hash)}}{{relatedIssues(c.relatedIssues)}}
282
+ {% endfor %}
283
+ {%- endfor %}
284
+ {%- endfor %}
285
+ {%- endfor %}
286
+ `;
287
+
288
+ function buildMarkdown(releases) {
289
+ return nunjucks.renderString(template, { releases, getTypeName, repo });
290
+ }
291
+
292
+ logStep = v => {
293
+ console.log(inspect(v, { depth: 7 }));
294
+ return v;
295
+ };
296
+
297
+ const changeLogTemplate = stripIndents`
298
+ # {{title}}
299
+
300
+ {{description}}
301
+ {{newVersion}}
302
+
303
+ {%- for version in oldVersions %}
304
+ ## {{version.title}}
305
+
306
+ {{version.body}}
307
+ {% endfor %}
308
+ {% for link in links -%}
309
+ [{{link.ref}}]: {{link.href}} "{{link.title}}"
310
+ {% endfor -%}
311
+ `;
312
+
313
+ function getReleases() {
314
+ return Promise.all([
315
+ getTags(),
316
+ getFirstCommit()
317
+ ]).then(([releases, firstCommit]) => {
318
+ if (releases.length === 0) {
319
+ return [];
320
+ }
321
+
322
+ releases.unshift(firstCommit);
323
+ releases.push("HEAD");
324
+ return releases;
325
+ });
326
+ }
327
+
328
+ function getChangelogData() {
329
+ return new Promise((resolve, reject) => {
330
+ parseChangelog("CHANGELOG.md", function(error, changelog) {
331
+ if (error) {
332
+ reject(error);
333
+ return;
334
+ }
335
+
336
+ resolve(changelog);
337
+ });
338
+ });
339
+ }
340
+
341
+ function filterReleases(releases) {
342
+ return releases.slice(-2);
343
+ }
344
+
345
+ getReleases()
346
+ .then(releases => filterReleases(releases))
347
+ .then(releases => pairReleases(releases))
348
+ .then(pairs =>
349
+ Promise.all(pairs.map(([from, to]) => getCommitData(from, to)))
350
+ )
351
+ .then(releaseData => processCommitMessages(releaseData))
352
+ .then(releaseData => findReleasedPackages(releaseData))
353
+ .then(releaseData => groupCommitsByPackage(releaseData))
354
+ .then(releaseData => buildMarkdown(releaseData))
355
+ .then(newVersion => {
356
+ return Promise.all([
357
+ getReleases().then(pairReleases),
358
+ getChangelogData(),
359
+ Promise.resolve(newVersion)
360
+ ]);
361
+ })
362
+ .then(([pairs, changelog, newVersion]) => {
363
+ const links = pairs.map(([from, to]) => {
364
+ to = to === "HEAD" ? "v" + getPackageVersion() : to;
365
+ return {
366
+ ref: to.replace("v", ""),
367
+ title: to,
368
+ href: `${repo}/compare/${from}...${to}`
369
+ };
370
+ });
371
+
372
+ if (links.length) {
373
+ links.push({
374
+ ref: "HEAD",
375
+ title: "Unreleased Changes",
376
+ href: `${repo}/compare/${_.last(links).title}...HEAD`
377
+ });
378
+ }
379
+
380
+ const rendered = nunjucks.renderString(changeLogTemplate, {
381
+ title: changelog.title,
382
+ description: changelog.description,
383
+ oldVersions: changelog.versions,
384
+ newVersion: newVersion,
385
+ links,
386
+ repo
387
+ });
388
+
389
+ writeFile("CHANGELOG.md", rendered, function(e) {});
390
+ })
391
+ .catch(error => {
392
+ console.error(error.stack);
393
+ });
@@ -0,0 +1,16 @@
1
+ const ghpages = require("gh-pages");
2
+
3
+ ghpages.publish(
4
+ "docs/build",
5
+ {
6
+ branch: "gh-pages",
7
+ repo: "https://github.com/Esri/arcgis-rest-js.git"
8
+ },
9
+ function(err) {
10
+ if (err) {
11
+ console.log("uh oh", err);
12
+ } else {
13
+ console.log("Deployed docs site!");
14
+ }
15
+ }
16
+ );
package/support/dev.sh ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+ # extract build type and scope from the command line args
3
+ BUILD_TYPE=$1
4
+ SCOPE=$2
5
+ # run the dev script for that build type in the scoped packages
6
+ lerna run --scope "$SCOPE" dev:$BUILD_TYPE --parallel
@@ -0,0 +1,47 @@
1
+ #!/bin/bash
2
+
3
+ # Make sure user is logged in to npm
4
+ npm whoami || exit 1
5
+
6
+ # Extract the version from lerna.json (this was updated by `npm run release:prepare`)
7
+ VERSION=$(node --eval "console.log(require('./lerna.json').version);")
8
+
9
+ # publish each package on npm
10
+ lerna publish --skip-git --yes --repo-version $VERSION --force-publish=*
11
+
12
+ # generate `docs/src/srihashes.json` after release and before committing
13
+ npm run docs:srihash
14
+
15
+ # commit the changes from `npm run release:prepare`
16
+ git add --all
17
+ git commit -am "v$VERSION" --no-verify
18
+
19
+ # increment the package.json version to the lerna version so gh-release works
20
+ npm version $VERSION --allow-same-version --no-git-tag-version
21
+
22
+ # amend the changes from `npm version` to the release commit
23
+ git add --all
24
+ git commit -am "v$VERSION" --no-verify --amend
25
+
26
+ # tag this version
27
+ git tag v$VERSION
28
+
29
+ # push everything up to this point to master
30
+ git push https://github.com/Esri/arcgis-rest-js.git master
31
+
32
+ # push the new tag, not the old tags
33
+ git push https://github.com/Esri/arcgis-rest-js.git v$VERSION
34
+
35
+
36
+ # create a ZIP archive of the dist files
37
+ TEMP_FOLDER=arcgis-rest-js-v$VERSION;
38
+ mkdir $TEMP_FOLDER
39
+ cp packages/*/dist/umd/* $TEMP_FOLDER
40
+ zip -r $TEMP_FOLDER.zip $TEMP_FOLDER
41
+ rm -rf $TEMP_FOLDER
42
+
43
+ # Run gh-release to create a new release with our changelog changes and ZIP archive
44
+ gh-release --t v$VERSION --repo arcgis-rest-js --owner Esri -a $TEMP_FOLDER.zip
45
+
46
+ # Delete the ZIP archive
47
+ rm $TEMP_FOLDER.zip
@@ -0,0 +1,9 @@
1
+ // ensures node-fetch is available as a global
2
+ require('cross-fetch/polyfill');
3
+ require("isomorphic-form-data");
4
+
5
+ require("ts-node").register({
6
+ compilerOptions: {
7
+ module: "commonjs"
8
+ }
9
+ });
package/tsconfig.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "compilerOptions": {
3
+ /* Basic Options */
4
+ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'. */,
5
+ "module": "es2015" /* Specify module code generation: 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
6
+ "lib": [
7
+ "dom",
8
+ "es2015"
9
+ ] /* Specify library files to be included in the compilation: */,
10
+ // "allowJs": true, /* Allow javascript files to be compiled. */
11
+ // "checkJs": true, /* Report errors in .js files. */
12
+ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
13
+ "declaration": false /* Generates corresponding '.d.ts' file. */,
14
+ "sourceMap": true /* Generates corresponding '.map' file. */,
15
+ // "outFile": "./", /* Concatenate and emit output to single file. */
16
+ // "outDir": "./", /* Redirect output structure to the directory. */
17
+ // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
18
+ // "removeComments": true, /* Do not emit comments to output. */
19
+ // "noEmit": true, /* Do not emit outputs. */
20
+ "importHelpers": true /* Import emit helpers from 'tslib'. */,
21
+ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
22
+ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
23
+
24
+ /* Strict Type-Checking Options */
25
+ "strict": true /* Enable all strict type-checking options. */,
26
+ "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
27
+ "strictNullChecks": false /* Enable strict null checks. */,
28
+ // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
29
+ "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */,
30
+
31
+ /* Additional Checks */
32
+ // "noUnusedLocals": true, /* Report errors on unused locals. */
33
+ // "noUnusedParameters": true, /* Report errors on unused parameters. */
34
+ // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
35
+ // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
36
+
37
+ /* Module Resolution Options */
38
+ "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
39
+ // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
40
+ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
41
+ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
42
+ "typeRoots": [
43
+ "./node_modules/@types"
44
+ ] /* List of folders to include type definitions from. */,
45
+ "types": [
46
+ "node",
47
+ "jasmine"
48
+ ] /* Type declaration files to be included in compilation. */
49
+ // "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
50
+
51
+ /* Source Map Options */
52
+ // "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
53
+ // "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
54
+ // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
55
+ // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
56
+
57
+ /* Experimental Options */
58
+ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
59
+ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
60
+ },
61
+ "exclude": ["node_modules"],
62
+ "include": ["./node_modules/@types", "packages", "support"]
63
+ }
@@ -0,0 +1,81 @@
1
+ import typescript2 from "rollup-plugin-typescript2";
2
+ import nodeResolve from "@rollup/plugin-node-resolve";
3
+ import commonjs from "@rollup/plugin-commonjs";
4
+ import json from "@rollup/plugin-json";
5
+
6
+ const path = require("path");
7
+ const fs = require("fs");
8
+ const _ = require("lodash");
9
+
10
+ /**
11
+ * Since Rollup runs inside each package we can just get the current
12
+ * package we are bundling.
13
+ */
14
+ const pkg = require(path.join(process.cwd(), "package.json"));
15
+
16
+ /**
17
+ * and dig out its name.
18
+ */
19
+ const { name } = pkg;
20
+
21
+ /**
22
+ * to construct a copyright banner
23
+ */
24
+
25
+ const copyright = `/* @preserve
26
+ * ${pkg.name} - v${pkg.version} - ${pkg.license}
27
+ * Copyright (c) 2017-${new Date().getFullYear()} Esri, Inc.
28
+ * ${new Date().toString()}
29
+ */`;
30
+
31
+ /**
32
+ * The module name will be the name of the global variable used in UMD builds.
33
+ * All exported members of each package will be attached to this global.
34
+ */
35
+ const moduleName = "arcgisRest";
36
+
37
+ /**
38
+ * Now we need to discover all the `@esri/arcgis-rest-*` package names so we can create
39
+ * the `globals` and `externals` to pass to Rollup.
40
+ */
41
+ const packageNames = fs
42
+ .readdirSync(path.join(__dirname, "packages"))
43
+ .filter(p => p[0] !== ".")
44
+ .map(p => {
45
+ return require(path.join(__dirname, "packages", p, "package.json")).name;
46
+ }, {});
47
+
48
+ /**
49
+ * Rollup will use this map to determine where to lookup modules on the global
50
+ * window object when neither AMD or CommonJS is being used. This configuration
51
+ * will cause Rollup to lookup all imports from our packages on a single global
52
+ * `arcgisRest` object.
53
+ */
54
+ const globals = packageNames.reduce((globals, p) => {
55
+ globals[p] = moduleName;
56
+ return globals;
57
+ }, {});
58
+
59
+ /**
60
+ * Now we can export the Rollup config!
61
+ */
62
+ export default {
63
+ input: "./src/index.ts",
64
+ output: {
65
+ file: `./dist/umd/${name.replace("@esri/arcgis-rest-", "")}.umd.js`,
66
+ sourcemap: true,
67
+ banner: copyright,
68
+ format: "umd",
69
+ name: moduleName,
70
+ globals,
71
+ extend: true // causes this module to extend the global specified by `moduleName`
72
+ },
73
+ context: "window",
74
+ external: packageNames,
75
+ plugins: [
76
+ typescript2(),
77
+ json(),
78
+ nodeResolve(),
79
+ commonjs()
80
+ ]
81
+ };
@@ -0,0 +1,13 @@
1
+ import config from './umd-base-profile.js';
2
+ import { uglify } from "rollup-plugin-uglify";
3
+ import filesize from "rollup-plugin-filesize";
4
+
5
+ // use umd.min.js
6
+ config.output.file = config.output.file.replace(".umd.", ".umd.min.");
7
+
8
+ config.plugins.push(filesize())
9
+ config.plugins.push(uglify({
10
+ output: { comments: /@preserve/ }
11
+ }))
12
+
13
+ export default config;