Comparing version 0.1.1 to 0.1.2
#!/usr/bin/env node | ||
const fs = require("fs") | ||
const path = require("path") | ||
const tmp = require("tmp") | ||
const path = require("path") | ||
const archiver = require('archiver') | ||
const [,, ... args] = process.argv | ||
const CONF_PATH = path.join(process.cwd(), "sinix.config.js") | ||
const PACK_PATH = path.join(process.cwd(), "package.json") | ||
const cwd = process.cwd() | ||
const build = () => { | ||
if (!fs.existsSync(PACK_PATH)){ | ||
console.log("Not a Node project.") | ||
console.log(` | ||
$ npm init | ||
`) | ||
} | ||
if (!fs.existsSync(CONF_PATH)){ | ||
console.log("Not a Sinix application.") | ||
console.log(` | ||
$ sinix init # to initialize | ||
`) | ||
return | ||
} | ||
const config = require(CONF_PATH) | ||
if (!fs.existsSync("release")){ | ||
fs.mkdirSync("release"); | ||
fs.mkdirSync("release") | ||
} | ||
tmp.file((err, path, fd, cleanupCallback) => { | ||
if (err) throw err; | ||
tmp.file((err, tmp_path) => { | ||
if (err) throw err | ||
const output = fs.createWriteStream(path) | ||
const archive = archiver("tar") | ||
const output = fs.createWriteStream(tmp_path) | ||
const archive = archiver("zip") | ||
@@ -26,4 +44,6 @@ output.on("close", () => { | ||
fs.copyFile(path, "release/app.dext", function(err){ | ||
console.log(err) | ||
fs.copyFile(tmp_path, "release/app.dext", function(err){ | ||
if(err){ | ||
console.log(err) | ||
} | ||
}) | ||
@@ -33,3 +53,3 @@ }) | ||
output.on("end", () => { | ||
console.log("Data has been drained"); | ||
console.log("Data has been drained") | ||
}) | ||
@@ -41,3 +61,3 @@ | ||
} else { | ||
throw err; | ||
throw err | ||
} | ||
@@ -51,6 +71,29 @@ }) | ||
archive.pipe(output) | ||
archive.glob('**', { | ||
if (!fs.existsSync(config.distDir)){ | ||
console.log(`${config.distDir} does not exists`) | ||
return | ||
} | ||
const packageJsonObj = JSON.parse(fs.readFileSync("package.json")) | ||
const sinixJsonObj = { | ||
name: packageJsonObj.name, | ||
version: packageJsonObj.version, | ||
title: config.title ? config.title : packageJsonObj.name, | ||
slug: `${packageJsonObj.name}-v${packageJsonObj.version}` | ||
} | ||
const sinixJson = JSON.stringify(sinixJsonObj, null, 2) | ||
process.chdir(config.distDir) | ||
fs.writeFileSync("sinix.manifest.json", sinixJson) | ||
archive.glob("**", { | ||
ignore: ['node_modules/**', 'release/**'] | ||
}) | ||
process.chdir("../") | ||
archive.finalize() | ||
@@ -60,4 +103,22 @@ }) | ||
const init = () => { | ||
const configObj = { | ||
"distDir": "dist/" | ||
} | ||
const config = JSON.stringify(configObj, null, 2) | ||
const code = `module.exports = ${config}` | ||
fs.writeFile("sinix.config.js", code, (err) => { | ||
if(err){ | ||
console.log(err) | ||
} else { | ||
console.log("Initialized Sinix project") | ||
} | ||
}) | ||
} | ||
switch(args[0]){ | ||
case "build": build(); break; | ||
case "build": build(); break | ||
case "init": init(); break | ||
} |
{ | ||
"name": "sinix", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"description": "", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
"lint": "eslint .", | ||
"lint:fix": "eslint . --fix" | ||
}, | ||
@@ -16,4 +17,6 @@ "bin": { | ||
"archiver": "^5.0.0", | ||
"axios": "^0.20.0", | ||
"eslint": "^7.7.0", | ||
"tmp": "^0.2.1" | ||
} | ||
} |
@@ -1,17 +0,68 @@ | ||
const all = () => { | ||
console.info("Get all users") | ||
/* eslint-disable */ | ||
const axios = require("axios") | ||
const EVENT_OBJ = {} | ||
const poll = (resolve) => { | ||
axios.post("http://localhost:41431/health") | ||
.then((res) => { | ||
resolve() | ||
}) | ||
.catch((err) => { | ||
setTimeout(() => { | ||
poll(resolve) | ||
}, 1430) | ||
}) | ||
} | ||
const disconnect = (username) => { | ||
console.info("Disconnect specific user") | ||
const register = () => { | ||
return new Promise((resolve, reject) => { | ||
const params = new URLSearchParams() | ||
params.append("username", "sinix") | ||
axios.post("http://localhost:41431/register", params) | ||
.then((res) => { | ||
resolve(res) | ||
}) | ||
.catch((err) => { | ||
reject(err) | ||
}) | ||
}) | ||
} | ||
const listen = (username, event, cb) => { | ||
console.info("Listen for specific event by specific user") | ||
const connect = () => { | ||
const socket = new WebSocket("ws://localhost:41431/ws/sinix") | ||
return socket | ||
} | ||
const setup = new Promise((resolve, reject) => { | ||
poll(async () => { | ||
await register() | ||
const socket = connect() | ||
socket.onmessage = (resp) => { | ||
let { data } = resp | ||
data = JSON.parse(data) | ||
if(EVENT_OBJ[data.event_type]){ | ||
EVENT_OBJ[data.event_type](data.payload) | ||
} | ||
} | ||
resolve(socket) | ||
}) | ||
}) | ||
const listen = (evnt, cb) => { | ||
setup.then((socket) => { | ||
EVENT_OBJ[evnt] = cb | ||
}) | ||
} | ||
module.exports = { | ||
all, | ||
disconnect, | ||
listen | ||
listen, | ||
} |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
6504
9
187
2
4
3
+ Addedaxios@^0.20.0
+ Addedeslint@^7.7.0
+ Added@babel/code-frame@7.12.11(transitive)
+ Added@babel/helper-validator-identifier@7.25.9(transitive)
+ Added@babel/highlight@7.25.9(transitive)
+ Added@eslint/eslintrc@0.4.3(transitive)
+ Added@humanwhocodes/config-array@0.5.0(transitive)
+ Added@humanwhocodes/object-schema@1.2.1(transitive)
+ Addedacorn@7.4.1(transitive)
+ Addedacorn-jsx@5.3.2(transitive)
+ Addedajv@6.12.68.17.1(transitive)
+ Addedansi-colors@4.1.3(transitive)
+ Addedansi-regex@5.0.1(transitive)
+ Addedansi-styles@3.2.14.3.0(transitive)
+ Addedargparse@1.0.10(transitive)
+ Addedastral-regex@2.0.0(transitive)
+ Addedaxios@0.20.0(transitive)
+ Addedcallsites@3.1.0(transitive)
+ Addedchalk@2.4.24.1.2(transitive)
+ Addedcolor-convert@1.9.32.0.1(transitive)
+ Addedcolor-name@1.1.31.1.4(transitive)
+ Addedcross-spawn@7.0.6(transitive)
+ Addeddebug@4.4.0(transitive)
+ Addeddeep-is@0.1.4(transitive)
+ Addeddoctrine@3.0.0(transitive)
+ Addedemoji-regex@8.0.0(transitive)
+ Addedenquirer@2.4.1(transitive)
+ Addedescape-string-regexp@1.0.54.0.0(transitive)
+ Addedeslint@7.32.0(transitive)
+ Addedeslint-scope@5.1.1(transitive)
+ Addedeslint-utils@2.1.0(transitive)
+ Addedeslint-visitor-keys@1.3.02.1.0(transitive)
+ Addedespree@7.3.1(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedesquery@1.6.0(transitive)
+ Addedesrecurse@4.3.0(transitive)
+ Addedestraverse@4.3.05.3.0(transitive)
+ Addedesutils@2.0.3(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedfast-levenshtein@2.0.6(transitive)
+ Addedfast-uri@3.0.6(transitive)
+ Addedfile-entry-cache@6.0.1(transitive)
+ Addedflat-cache@3.2.0(transitive)
+ Addedflatted@3.3.3(transitive)
+ Addedfollow-redirects@1.15.9(transitive)
+ Addedfunctional-red-black-tree@1.0.1(transitive)
+ Addedglob-parent@5.1.2(transitive)
+ Addedglobals@13.24.0(transitive)
+ Addedhas-flag@3.0.04.0.0(transitive)
+ Addedignore@4.0.6(transitive)
+ Addedimport-fresh@3.3.1(transitive)
+ Addedimurmurhash@0.1.4(transitive)
+ Addedis-extglob@2.1.1(transitive)
+ Addedis-fullwidth-code-point@3.0.0(transitive)
+ Addedis-glob@4.0.3(transitive)
+ Addedisexe@2.0.0(transitive)
+ Addedjs-tokens@4.0.0(transitive)
+ Addedjs-yaml@3.14.1(transitive)
+ Addedjson-buffer@3.0.1(transitive)
+ Addedjson-schema-traverse@0.4.11.0.0(transitive)
+ Addedjson-stable-stringify-without-jsonify@1.0.1(transitive)
+ Addedkeyv@4.5.4(transitive)
+ Addedlevn@0.4.1(transitive)
+ Addedlodash.merge@4.6.2(transitive)
+ Addedlodash.truncate@4.4.2(transitive)
+ Addedms@2.1.3(transitive)
+ Addednatural-compare@1.4.0(transitive)
+ Addedoptionator@0.9.4(transitive)
+ Addedparent-module@1.0.1(transitive)
+ Addedpath-key@3.1.1(transitive)
+ Addedpicocolors@1.1.1(transitive)
+ Addedprelude-ls@1.2.1(transitive)
+ Addedprogress@2.0.3(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedregexpp@3.2.0(transitive)
+ Addedrequire-from-string@2.0.2(transitive)
+ Addedresolve-from@4.0.0(transitive)
+ Addedrimraf@3.0.2(transitive)
+ Addedsemver@7.7.1(transitive)
+ Addedshebang-command@2.0.0(transitive)
+ Addedshebang-regex@3.0.0(transitive)
+ Addedslice-ansi@4.0.0(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addedstring-width@4.2.3(transitive)
+ Addedstrip-ansi@6.0.1(transitive)
+ Addedstrip-json-comments@3.1.1(transitive)
+ Addedsupports-color@5.5.07.2.0(transitive)
+ Addedtable@6.9.0(transitive)
+ Addedtext-table@0.2.0(transitive)
+ Addedtype-check@0.4.0(transitive)
+ Addedtype-fest@0.20.2(transitive)
+ Addeduri-js@4.4.1(transitive)
+ Addedv8-compile-cache@2.4.0(transitive)
+ Addedwhich@2.0.2(transitive)
+ Addedword-wrap@1.2.5(transitive)