@jahed/terraform 1.3.7 → 1.3.8

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.
package/hashicorp.asc ADDED
@@ -0,0 +1,122 @@
1
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
2
+
3
+ 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
120
+ ZF5q4h4I33PSGDdSvGXn9UMY5Isjpg==
121
+ =7pIB
122
+ -----END PGP PUBLIC KEY BLOCK-----
package/lib/download.d.ts CHANGED
@@ -1,4 +1,5 @@
1
+ /// <reference types="node" />
1
2
  declare const download: (args: {
2
3
  url: string;
3
- }) => Promise<unknown>;
4
+ }) => Promise<Buffer>;
4
5
  export { download };
@@ -1,2 +1,3 @@
1
- declare const getExpectedHash: (initial: any) => Promise<any>;
1
+ import { DownloadArgs } from "./types";
2
+ declare const getExpectedHash: (args: DownloadArgs) => Promise<string>;
2
3
  export { getExpectedHash };
@@ -1,25 +1,67 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.getExpectedHash = void 0;
7
- const promises_1 = require("@jahed/promises");
8
30
  const path_1 = __importDefault(require("path"));
9
31
  const getDownloadFilename_1 = require("./getDownloadFilename");
10
- const readFile_1 = require("./readFile");
11
- const parseHashFile = (hashFile) => {
12
- return hashFile
13
- .trim()
14
- .split("\n")
15
- .reduce((acc, line) => {
16
- const [hash, filename] = line.split(" ");
17
- acc[filename] = hash;
18
- return acc;
19
- }, {});
32
+ const promises_1 = require("fs/promises");
33
+ const download_1 = require("./download");
34
+ const openpgp = __importStar(require("openpgp"));
35
+ const getHashesUrl = ({ version }) => {
36
+ return `https://releases.hashicorp.com/terraform/${version}/terraform_${version}_SHA256SUMS`;
37
+ };
38
+ const getExpectedHash = async (args) => {
39
+ const hashUrl = getHashesUrl(args);
40
+ const hashes = await (0, download_1.download)({ url: hashUrl });
41
+ const publicKey = await openpgp.readKey({
42
+ armoredKey: await (0, promises_1.readFile)(path_1.default.resolve(__dirname, "../hashicorp.asc"), "utf-8"),
43
+ });
44
+ const signature = await openpgp.readSignature({
45
+ binarySignature: await (0, download_1.download)({ url: `${hashUrl}.sig` }),
46
+ });
47
+ const { signatures: [{ verified }], } = await openpgp.verify({
48
+ message: await openpgp.createMessage({ binary: hashes }),
49
+ signature,
50
+ verificationKeys: publicKey,
51
+ });
52
+ try {
53
+ await verified;
54
+ }
55
+ catch {
56
+ throw new Error("hashes not signed by hashicorp");
57
+ }
58
+ const filename = (0, getDownloadFilename_1.getDownloadFilename)(args);
59
+ for (const line of hashes.toString().trim().split("\n")) {
60
+ const [hash, hashFilename] = line.split(" ");
61
+ if (hashFilename === filename) {
62
+ return hash;
63
+ }
64
+ }
65
+ throw new Error(`expected hash not found for file (${filename})`);
20
66
  };
21
- const getExpectedHash = (0, promises_1.waterfall)((args) => (0, promises_1.every)({
22
- hashes: (0, promises_1.waterfall)(() => (0, readFile_1.readFile)(path_1.default.resolve(__dirname, "../hashes.txt")), (buffer) => buffer.toString(), (hashFile) => parseHashFile(hashFile))(""),
23
- filename: (0, promises_1.resolved)((0, getDownloadFilename_1.getDownloadFilename)(args)),
24
- }), ({ hashes, filename }) => (0, promises_1.resolveNullable)(hashes[filename]));
25
67
  exports.getExpectedHash = getExpectedHash;
package/package.json CHANGED
@@ -1,10 +1,12 @@
1
1
  {
2
2
  "name": "@jahed/terraform",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "A wrapper which downloads and runs Terraform locally via npm, yarn and more.",
5
- "author": "Jahed",
5
+ "author": "Jahed Ahmed <jahed.public@gmail.com> (https://jahed.dev)",
6
6
  "license": "MIT",
7
7
  "repository": "https://github.com/jahed/node-terraform",
8
+ "homepage": "https://github.com/jahed/node-terraform",
9
+ "bugs": "https://github.com/jahed/node-terraform/issues",
8
10
  "funding": "https://jahed.dev/donate",
9
11
  "keywords": [
10
12
  "terraform",
@@ -12,33 +14,36 @@
12
14
  "infrastructure",
13
15
  "automation",
14
16
  "executable",
15
- "wrapper"
17
+ "wrapper",
18
+ "pgp",
19
+ "download"
16
20
  ],
17
21
  "main": "lib/terraform.js",
18
22
  "bin": "bin/terraform.js",
19
23
  "files": [
20
24
  "bin",
21
25
  "lib",
22
- "hashes.txt"
26
+ "hashicorp.asc"
23
27
  ],
24
28
  "scripts": {
25
29
  "lint": "prettier -c .",
26
30
  "build": "rm -rf ./lib && tsc",
27
31
  "test": "./tests/run.sh",
28
- "version": "./scripts/verify-version.sh"
32
+ "version": "npm run build && npm run test"
29
33
  },
30
34
  "dependencies": {
31
35
  "@jahed/promises": "^1.0.2",
32
36
  "find-cache-dir": "^3.3.2",
37
+ "openpgp": "^5.5.0",
33
38
  "yauzl": "^2.10.0"
34
39
  },
35
40
  "devDependencies": {
36
41
  "@tsconfig/node16": "^1.0.3",
37
42
  "@types/find-cache-dir": "^3.2.1",
38
- "@types/node": "^16.18.11",
43
+ "@types/node": "^16.18.12",
39
44
  "@types/yauzl": "^2.10.0",
40
- "npm-check-updates": "^16.6.2",
41
- "prettier": "^2.8.1",
45
+ "npm-check-updates": "^16.6.4",
46
+ "prettier": "^2.8.3",
42
47
  "typescript": "4.9.x"
43
48
  }
44
49
  }
package/hashes.txt DELETED
@@ -1,14 +0,0 @@
1
- aa111cd80d84586697d1643c6c21452d34f70e5bc639e4106856f59382351397 terraform_1.3.7_darwin_amd64.zip
2
- 8860db524d1a51435cbed731902c7de1595348c09dd5b3a342024405c8e7ef74 terraform_1.3.7_darwin_arm64.zip
3
- 070ceb9b99470ad69ff2f4e95cb02933bfd1a95070beb8b5d5a713acdee2c878 terraform_1.3.7_freebsd_386.zip
4
- 2a36c469b60a0506de1fda7a48038b161d7dd5fe9cf244b7dbd14ad5145f2268 terraform_1.3.7_freebsd_amd64.zip
5
- 90d5055fb55948c4b131aa4deb1bf7e43b9b5ec4234a6cdf211cd615678e35b8 terraform_1.3.7_freebsd_arm.zip
6
- 02ed959001d2380ee3902775d73df3e515dba297c74333b2eecc204ad635dda6 terraform_1.3.7_linux_386.zip
7
- b8cf184dee15dfa89713fe56085313ab23db22e17284a9a27c0999c67ce3021e terraform_1.3.7_linux_amd64.zip
8
- 5b491c555ea8a62dda551675fd9f27d369f5cdbe87608d2a7367d3da2d38ea38 terraform_1.3.7_linux_arm64.zip
9
- 80f981e15f6da52f1825de9bbf582449a8da934a9664214b0a417f21cede8e18 terraform_1.3.7_linux_arm.zip
10
- 6c790d40153087c7b7dab2286d49117f5f006e4a8692336395a123aed59512c5 terraform_1.3.7_openbsd_386.zip
11
- 48ae76e639bbf0b7e55836303aaaac3eee7b9e35a669ea7c75451500cd217a82 terraform_1.3.7_openbsd_amd64.zip
12
- caa616f896ed3bb1921436a933e06993898c05ca429d5de208e0e7f34080d076 terraform_1.3.7_solaris_amd64.zip
13
- 527aa36fe92ad166c687e49567216955c3ff3468315494c84adb6b2e4ec1c7c0 terraform_1.3.7_windows_386.zip
14
- b0970f5febf9ab7c76babebacf9bbe9aa781743c5004e8f5ba142e51cf5e259a terraform_1.3.7_windows_amd64.zip