@desco/env-require v3.0.1
Veja outros projetos NPM aqui.
Veja outros projetos aqui.
📋 Tabela de conteúdos
⚙️ Instalação
npm install --save @desco/env-requireNote que será necessário ter o NPM instalado para o comando funcionar.
📦 Importação
Node
const configEnvRequire = require("@desco/env-require")Front
import configEnvRequire from "@desco/env-require"📚 Como Usar
dynamicImports_dev.js
module.exports = {
'@desco/atlas': () => require('../../atlas'),
}dynamicImports.js
module.exports = {
'@desco/atlas': () => require('@desco/atlas'),
...require('./dynamicImports_dev')
}index.js
const envRequire = require('@desco/env-require')(packagesDynamicImports)
envRequire('@desco/atlas')No
dynamicImports_dev.jsexporte um objeto contendo em suas chaves os nomes dos pacotes e em seus valores uma função contendo o carregamento da versão local do pacote.No
dynamicImports.jsexporte um objeto contendo em suas chaves os nomes dos pacotes e em seus valores uma função contendo o carregamento da versão NPM do pacote.Ao fim do objeto do
dynamicImports.jsconcatene os valores importador dedynamicImports_dev.js, dessa forma os pacotes existentes irão sobrescrever os anteriores.Importe o
envRequirejá executando e passando o objeto importado dedynamicImports.js, dessa forma ele já irá saber com quais pacotes irá trabalhar.O
dynamicImports_dev.jssó deve ser versionado com objeto vazio de forma que em produção sempre seja usado os pacotes NPM. Após versionar vazio, adicione odynamicImports_dev.jsao.gitignorepara que as mudanças de cada programador não sejam enviadas para produção.Garanta que os pacotes locais estejam com os pacotes instalados! (
npm install)Agora é só usar o
envRequireno lugar dorequire/import!
🗂️ Escopo
Eventualmente você pode querer ter duas instâncias do envRequire, para isso basta passar um segundo parâmetro com o nome do escopo de cada instância!
const envRequire = require('./dynamicImports')(packages, 'main')
const envRequire2 = require('./dynamicImports')(packages, 'second')
envRequire('@desco/atlas')
envRequire2('@desco/urano')Por padrão o nome do escopo é
default, sendo assim não é precisa passar um escopo caso esteja usando uma única instância.