Socket
Socket
Sign inDemoInstall

wrapper-path

Package Overview
Dependencies
0
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    wrapper-path

wrapper to path module, to simple include and get


Version published
Weekly downloads
118
increased by3.51%
Maintainers
1
Install size
20.3 kB
Created
Weekly downloads
 

Changelog

Source

[v2.0.0] - 2017-09-25

Changed

  • Se crea una clase en vez de funcionalidades separadas

Added

  • Obtener listado de archivos o carpetas de un directorio o poder filtrar las rutas por expresiones regulares
  • Poder eliminar los archivos de una carpeta o la carpeta o poder filtrar que eliminar por expresiones regulares

Removed

  • Se elimina la funcionalidad para agregar a global de node, ya que esto está fuera del objetivo principal del modulo que es simplificar el uso del require del path y tener algunas funciones extras que son comunes en el uso de archivos y carpetas

Fixed

  • Se elimina el uso de lodash, para mejorar el rendimiento del modulo

Readme

Source

wrapper-path

¿Que hace?

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.

Uso

Instalación

Instalar utilizando npm:

yarn add wrapper-path
# npm i --save wrapper-path 

Configuración

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

Path

constructor

Este metodo es el que se llama cuando se realiza el siguiente codigo:

const Path = require('wrapper-path');
let path = new Path(param);

Argumentos:

  • param (String) required: ruta que queremos tener como base de nuestro proyecto,

Retorna:

(Path): Retorna la instancia de la clase Path.

get

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:

  • param (String) required: ruta que queremos obtener.

Retorna:

(String): retorna la ruta completa.

require

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:

  • param (String) required: ruta que queremos hacer require.

Retorna:

(File/Folder): retorna la carga del archivo o carpeta.

recursive(files,folders)

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:

  • param (String) required: ruta de la carpeta que queremos obtener los archivos o carpetas.
  • opts (Object):
    • match (RegExp): expresión regular para determinar que rutas conservar
    • exclude (RegExp): expresión regular para determinar que rutas excluir del resultado

Retorna:

(Array): retorna un arreglo de con las rutas de los archivos o carpetas.

remove(file,files,folder,folders)

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:

  • param (String) required: ruta de la carpeta o archivo que queremos eliminar.
  • opts (Object):
    • match (RegExp): expresión regular para determinar que rutas conservar
    • exclude (RegExp): expresión regular para determinar que rutas excluir del resultado

Retorna:

(Array): retorna un arreglo de con las rutas de los archivos o carpetas.

Pruebas funcionales (Unit Testing)

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

Pruebas de rendimiento (benchmark)

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
    

Keywords

FAQs

Last updated on 26 Sep 2017

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc