ado-npm-auth 0.0.1

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 (107) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +13 -0
  3. package/bin/index.js +3 -0
  4. package/dist/ado-auto-auth.cjs +39047 -0
  5. package/dist/ado-npm-auth.cjs +39047 -0
  6. package/lib/.tsbuildinfo +1 -0
  7. package/lib/azureauth/ado.d.ts +26 -0
  8. package/lib/azureauth/ado.d.ts.map +1 -0
  9. package/lib/azureauth/ado.js +76 -0
  10. package/lib/azureauth/ado.js.map +1 -0
  11. package/lib/azureauth/azureauth-command.d.ts +7 -0
  12. package/lib/azureauth/azureauth-command.d.ts.map +1 -0
  13. package/lib/azureauth/azureauth-command.js +20 -0
  14. package/lib/azureauth/azureauth-command.js.map +1 -0
  15. package/lib/azureauth/index.d.ts +2 -0
  16. package/lib/azureauth/index.d.ts.map +1 -0
  17. package/lib/azureauth/index.js +2 -0
  18. package/lib/azureauth/index.js.map +1 -0
  19. package/lib/azureauth/is-azureauth-installed.d.ts +6 -0
  20. package/lib/azureauth/is-azureauth-installed.d.ts.map +1 -0
  21. package/lib/azureauth/is-azureauth-installed.js +24 -0
  22. package/lib/azureauth/is-azureauth-installed.js.map +1 -0
  23. package/lib/azureauth/is-supported-platform-and-architecture.d.ts +6 -0
  24. package/lib/azureauth/is-supported-platform-and-architecture.d.ts.map +1 -0
  25. package/lib/azureauth/is-supported-platform-and-architecture.js +16 -0
  26. package/lib/azureauth/is-supported-platform-and-architecture.js.map +1 -0
  27. package/lib/cli.d.ts +2 -0
  28. package/lib/cli.d.ts.map +1 -0
  29. package/lib/cli.js +61 -0
  30. package/lib/cli.js.map +1 -0
  31. package/lib/index.d.ts +1 -0
  32. package/lib/index.d.ts.map +1 -0
  33. package/lib/index.js +2 -0
  34. package/lib/index.js.map +1 -0
  35. package/lib/npmrc/base64.d.ts +7 -0
  36. package/lib/npmrc/base64.d.ts.map +1 -0
  37. package/lib/npmrc/base64.js +7 -0
  38. package/lib/npmrc/base64.js.map +1 -0
  39. package/lib/npmrc/checkADO.d.ts +10 -0
  40. package/lib/npmrc/checkADO.d.ts.map +1 -0
  41. package/lib/npmrc/checkADO.js +30 -0
  42. package/lib/npmrc/checkADO.js.map +1 -0
  43. package/lib/npmrc/generate-npmrc-pat.d.ts +6 -0
  44. package/lib/npmrc/generate-npmrc-pat.d.ts.map +1 -0
  45. package/lib/npmrc/generate-npmrc-pat.js +24 -0
  46. package/lib/npmrc/generate-npmrc-pat.js.map +1 -0
  47. package/lib/npmrc/get-repo-npmrc-ado-orgs.d.ts +12 -0
  48. package/lib/npmrc/get-repo-npmrc-ado-orgs.d.ts.map +1 -0
  49. package/lib/npmrc/get-repo-npmrc-ado-orgs.js +39 -0
  50. package/lib/npmrc/get-repo-npmrc-ado-orgs.js.map +1 -0
  51. package/lib/npmrc/getFeedWithoutProtocol.d.ts +7 -0
  52. package/lib/npmrc/getFeedWithoutProtocol.d.ts.map +1 -0
  53. package/lib/npmrc/getFeedWithoutProtocol.js +11 -0
  54. package/lib/npmrc/getFeedWithoutProtocol.js.map +1 -0
  55. package/lib/npmrc/getOrganizationFromFeedUrl.d.ts +8 -0
  56. package/lib/npmrc/getOrganizationFromFeedUrl.d.ts.map +1 -0
  57. package/lib/npmrc/getOrganizationFromFeedUrl.js +27 -0
  58. package/lib/npmrc/getOrganizationFromFeedUrl.js.map +1 -0
  59. package/lib/npmrc/getUserPAT.d.ts +13 -0
  60. package/lib/npmrc/getUserPAT.d.ts.map +1 -0
  61. package/lib/npmrc/getUserPAT.js +32 -0
  62. package/lib/npmrc/getUserPAT.js.map +1 -0
  63. package/lib/npmrc/index.d.ts +1 -0
  64. package/lib/npmrc/index.d.ts.map +1 -0
  65. package/lib/npmrc/index.js +2 -0
  66. package/lib/npmrc/index.js.map +1 -0
  67. package/lib/npmrc/is-valid-pat.d.ts +2 -0
  68. package/lib/npmrc/is-valid-pat.d.ts.map +1 -0
  69. package/lib/npmrc/is-valid-pat.js +59 -0
  70. package/lib/npmrc/is-valid-pat.js.map +1 -0
  71. package/lib/npmrc/makeADORequest.d.ts +15 -0
  72. package/lib/npmrc/makeADORequest.d.ts.map +1 -0
  73. package/lib/npmrc/makeADORequest.js +36 -0
  74. package/lib/npmrc/makeADORequest.js.map +1 -0
  75. package/lib/npmrc/makeRequest.d.ts +9 -0
  76. package/lib/npmrc/makeRequest.d.ts.map +1 -0
  77. package/lib/npmrc/makeRequest.js +38 -0
  78. package/lib/npmrc/makeRequest.js.map +1 -0
  79. package/lib/npmrc/npmrc.d.ts +15 -0
  80. package/lib/npmrc/npmrc.d.ts.map +1 -0
  81. package/lib/npmrc/npmrc.js +22 -0
  82. package/lib/npmrc/npmrc.js.map +1 -0
  83. package/lib/npmrc/pat.d.ts +13 -0
  84. package/lib/npmrc/pat.d.ts.map +1 -0
  85. package/lib/npmrc/pat.js +32 -0
  86. package/lib/npmrc/pat.js.map +1 -0
  87. package/lib/npmrc/set-npmrc-pat.d.ts +16 -0
  88. package/lib/npmrc/set-npmrc-pat.d.ts.map +1 -0
  89. package/lib/npmrc/set-npmrc-pat.js +109 -0
  90. package/lib/npmrc/set-npmrc-pat.js.map +1 -0
  91. package/lib/telemetry/index.d.ts +20 -0
  92. package/lib/telemetry/index.d.ts.map +1 -0
  93. package/lib/telemetry/index.js +21 -0
  94. package/lib/telemetry/index.js.map +1 -0
  95. package/lib/utils/exec.d.ts +4 -0
  96. package/lib/utils/exec.d.ts.map +1 -0
  97. package/lib/utils/exec.js +4 -0
  98. package/lib/utils/exec.js.map +1 -0
  99. package/lib/utils/is-codespaces.d.ts +6 -0
  100. package/lib/utils/is-codespaces.d.ts.map +1 -0
  101. package/lib/utils/is-codespaces.js +10 -0
  102. package/lib/utils/is-codespaces.js.map +1 -0
  103. package/lib/utils/is-wsl.d.ts +6 -0
  104. package/lib/utils/is-wsl.d.ts.map +1 -0
  105. package/lib/utils/is-wsl.js +9 -0
  106. package/lib/utils/is-wsl.js.map +1 -0
  107. package/package.json +39 -0
@@ -0,0 +1,20 @@
1
+ export type TelemetryProperties = {
2
+ success: boolean;
3
+ automaticSuccess: boolean;
4
+ platform: string;
5
+ arch: string;
6
+ error: string;
7
+ };
8
+ export interface TelemetryClient {
9
+ LogEvent: (eventName: string, properties: Map<string, string>) => void;
10
+ flush(): void;
11
+ }
12
+ /**
13
+ * Logs an node-azure-auth event to telemetry.
14
+ */
15
+ export declare const logTelemetry: (inputProperties: {
16
+ success?: boolean;
17
+ automaticSuccess?: boolean;
18
+ error?: string;
19
+ }, flush?: boolean, client?: TelemetryClient) => void;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACvE,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,oBACN;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,UACO,OAAO,WACN,eAAe,SAsBzB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { platform, arch } from "os";
2
+ import { isWsl } from "../utils/is-wsl.js";
3
+ ;
4
+ /**
5
+ * Logs an node-azure-auth event to telemetry.
6
+ */
7
+ export const logTelemetry = (inputProperties, flush, client) => {
8
+ const outputProperties = new Map();
9
+ outputProperties.set("success", inputProperties.success ? "true" : "false");
10
+ outputProperties.set("automaticSuccess", inputProperties.automaticSuccess ? "true" : "false");
11
+ outputProperties.set("error", inputProperties.error ? inputProperties.error : "");
12
+ outputProperties.set("platform", isWsl() ? "wsl" : platform());
13
+ outputProperties.set("arch", arch());
14
+ if (client) {
15
+ client.LogEvent("node-azure-auth", outputProperties);
16
+ if (flush) {
17
+ client.flush();
18
+ }
19
+ }
20
+ };
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAa1C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,eAIC,EACD,KAAe,EACf,MAAwB,EACxB,EAAE;IACF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5E,gBAAgB,CAAC,GAAG,CAClB,kBAAkB,EAClB,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACpD,CAAC;IACF,gBAAgB,CAAC,GAAG,CAClB,OAAO,EACP,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACnD,CAAC;IACF,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAErC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAErD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="node" />
2
+ import { exec as _exec } from "node:child_process";
3
+ export declare const exec: typeof _exec.__promisify__;
4
+ //# sourceMappingURL=exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,IAAI,4BAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { exec as _exec } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ export const exec = promisify(_exec);
4
+ //# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determines if the current machine's setup is codespaces
3
+ * @returns { boolean } if the current machine is in codespaces
4
+ */
5
+ export declare const isCodespaces: () => boolean;
6
+ //# sourceMappingURL=is-codespaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-codespaces.d.ts","sourceRoot":"","sources":["../../src/utils/is-codespaces.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,YAAY,eAGxB,CAAC"}
@@ -0,0 +1,10 @@
1
+ const truthy = [true, "true", "TRUE", 1];
2
+ /**
3
+ * Determines if the current machine's setup is codespaces
4
+ * @returns { boolean } if the current machine is in codespaces
5
+ */
6
+ export const isCodespaces = () => {
7
+ const codespaces = process.env["CODESPACES"] || "";
8
+ return truthy.includes(codespaces);
9
+ };
10
+ //# sourceMappingURL=is-codespaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-codespaces.js","sourceRoot":"","sources":["../../src/utils/is-codespaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Determine if the current machine's platform is WSL
3
+ * @returns { boolean } if the current platform is WSL
4
+ */
5
+ export declare const isWsl: () => boolean;
6
+ //# sourceMappingURL=is-wsl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-wsl.d.ts","sourceRoot":"","sources":["../../src/utils/is-wsl.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,KAAK,eAEjB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { release, platform } from "os";
2
+ /**
3
+ * Determine if the current machine's platform is WSL
4
+ * @returns { boolean } if the current platform is WSL
5
+ */
6
+ export const isWsl = () => {
7
+ return platform() === "linux" && release().toLowerCase().includes("wsl");
8
+ };
9
+ //# sourceMappingURL=is-wsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-wsl.js","sourceRoot":"","sources":["../../src/utils/is-wsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;IACxB,OAAO,QAAQ,EAAE,KAAK,OAAO,IAAI,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "ado-npm-auth",
3
+ "version": "0.0.1",
4
+ "description": "The ado-npm-auth package can automatically use the azureauth CLI to fetch tokens and update a user's .npmrc file for authenticating to ADO package feeds.",
5
+ "repository": "https://github.com/microsoft/ado-npm-auth",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "./lib/index.js",
9
+ "bin": {
10
+ "ado-npm-auth": "./bin/index.js"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "lib",
15
+ "bin",
16
+ "README.md"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "bundle": "webpack",
21
+ "performance-test": "node lib/tests/performance.test.js"
22
+ },
23
+ "dependencies": {
24
+ "@npmcli/config": "^4.0.1",
25
+ "azureauth": "^0.4.5",
26
+ "workspace-tools": "^0.26.3"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "^20.5.9",
30
+ "@types/npmcli__config": "^6.0.0",
31
+ "eslint": "^8.30.0",
32
+ "rimraf": "^5.0.1",
33
+ "terser-webpack-plugin": "^1.4.3",
34
+ "tslib": "^2.2.0",
35
+ "typescript": "^5.2.2",
36
+ "webpack": "^5.64.4",
37
+ "webpack-cli": "^4.10.0"
38
+ }
39
+ }