Não se usa simplesmente peerDependencies.

Não se usa simplesmente peerDependencies.

peerDependencies done direito levemente.

Cenário

Eu me diverti muito com as dependências de pares . Então, comecei a procurar para descobrir como posso realmente ter o mesmo comportamento sem a frustração das dependências de colegas

Eu encontrei uma maneira bastante simples de conseguir isso usando o subpack / node-resolve . O truque é que com ele podemos resolver a partir do diretório de trabalho atual :

Exemplo com um plugin 6to5

var resolve = require('resolve');

var to5;
try {
to5
= require(resolve.sync('6to5', { basedir: process.cwd() }));
} catch (_) {
console
.warn('Processing using inner 6to5. version : ' + to5.version);
to5
= require('6to5');
}

// Do stuff with 6to5 here...

Deste jeito :

  • você pode ter 6to5 como uma dependência em seu projeto.
  • você não precisa ter 6to5 como uma dependência ou devDependency em seu plugin.

Veja meu plugin douglasduteil / isparta Karma para gerar cobertura de código para ES6 usando o 6to5.

Daqui para frente

Pode ser uma boa ideia adicionar mais algumas coisas a isso, como verificar semver, mas isso será para outro post …