Research
Recent Trends in Malicious Packages Targeting Discord
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
wrapper-path
Advanced tools
Changelog
[v2.0.0] - 2017-09-25
Readme
Este proyecto nace de la necesidad de poder hacer un "require" con una "ruta" mas comprensible.
Es un paquete, para poder realizar require de manera más práctica, sin tener que agregar . o ../ a las rutas de los módulos o paquetes que se desean incluir y que pueda hacer desde cualquier lugar del proyecto de la misma manera.
Tomando una ruta base '/' como se hace en los sistemas operativos. Esta puede ser la ruta al directorio del proyecto o a cualquier otro punto dentro del sistema desde donde se desee.
Instalar utilizando npm:
yarn add wrapper-path
# npm i --save wrapper-path
Pensemos en la siguiente estructura de archivos:
/home
/personal
/proyecto
app.js
/carpeta1
index.js
module1.js
/modulo2
index.js
script.js
/carpeta2
script.js
Este metodo es el que se llama cuando se realiza el siguiente codigo:
const Path = require('wrapper-path');
let path = new Path(param);
Argumentos:
Retorna:
(Path): Retorna la instancia de la clase Path.
Este metodo permite obtener la ruta completa a el archivo o directorio que solicitemos por parametro.
const Path = require('wrapper-path');
let path = new Path('/home/personal/proyecto');
path.get('/app.js'); // /home/personal/proyecto/app.js
Argumentos:
Retorna:
(String): retorna la ruta completa.
Este metodo permite hacer el require como si fuera nativo pero tomando la ruta base con la cual instanciamos nuestro objeto path.
const Path = require('wrapper-path');
let path = new Path('/home/personal/proyecto');
let app = path.require('/app.js');
let carpeta1 = path.require('/carpeta1');
Argumentos:
Retorna:
(File/Folder): retorna la carga del archivo o carpeta.
Esta funcionalidad recursive, es para obtener un listado recursivamente de todos los archivos o carpetas de un directorio en especifico.
const Path = require('wrapper-path');
let path = new Path('/home/personal/proyecto');
let files = path.recursive.files(param, opts);
let folders = path.recursive.folders(param, opts);
Argumentos:
Retorna:
(Array): retorna un arreglo de con las rutas de los archivos o carpetas.
Esta funcionalidad remove, es para borrar un archivo, archivos de una carpeta, una carpeta, o las carpetas de una carpeta.
const Path = require('wrapper-path');
let path = new Path('/home/personal/proyecto');
path.remove.file(param);
path.remove.files(param, opts);
path.recursive.folder(param);
path.recursive.folders(param, opts);
Argumentos:
Retorna:
(Array): retorna un arreglo de con las rutas de los archivos o carpetas.
Se llebaron a cabo 12 pruebas funcionales las cuales evaluan todos los casos de exito y fallo de cada una de las funcionalidades antes nombradas, para ver el resultado:
$ yarn test-spec # yarn test
Con el objetivo de que sea optimo el código se realizaron 2 pruebas de rendimiento, de las cuales se determino que:
utilizar *startsWith es mucho mas optimo que hacer un RegExp, cuando uno quiere validar si una cadena contiene un texto al inicio. Para correr la prueba:
$ yarn benchmark benchmarck/regex-startsWith.js
Utilizar slice o substr es muy similar en rendimiento. Para correr la prueba:
$ yarn benchmark benchmarck/slice-substr.js
FAQs
wrapper to path module, to simple require, get and others
The npm package wrapper-path receives a total of 115 weekly downloads. As such, wrapper-path popularity was classified as not popular.
We found that wrapper-path demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
Security News
Socket CEO Feross Aboukhadijeh joins a16z partners to discuss how modern, sophisticated supply chain attacks require AI-driven defenses and explore the challenges and solutions in leveraging AI for threat detection early in the development life cycle.
Security News
NIST's new AI Risk Management Framework aims to enhance the security and reliability of generative AI systems and address the unique challenges of malicious AI exploits.