Package specific configuration (for apps and libraries)
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- nodejs, react-native, typescript
- Domínio
- build-system, tooling
Direção de pesquisa
Nenhum arquivo de implementação ou teste é mencionado. Comece resolvendo o esquema de configuração, o comportamento de busca, as regras de varredura de dependências e o tratamento de caminhos específico da plataforma propostos aqui; considera-se concluído quando o projeto tiver um design de configuração acordado e documentado, além de um comportamento claro para cada opção.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
We've actively worked towards putting as few restrictions on the packages bringing Node-API modules as possible, to make it more likely to migrate / re-use existing packages intended for Node.js and we would like to continue to support packages providing Node-API modules without requiring package-specific configuration.
How to configure
We could rely on cosmiconfig (which is also used by the React Native Community CLI):
By default, Cosmiconfig will check the current directory for the following:
- a
package.jsonproperty- a JSON or YAML, extensionless "rc file"
- an "rc file" with the extensions
.json,.yaml,.yml,.js,.ts,.mjs, or.cjs- any of the above two inside a
.configsubdirectory- a
.config.js,.config.ts,.config.mjs, or.config.cjsfile
We could load this config starting from the "app" and then look for it in all direct dependencies of the app package and all transitive dependencies explicitly enumerated - see below.
What to configure
Possible configuration options which could optimise the experience:
Library name mapping to paths
We could allow library authors to provide explicit paths for the Node-API prebuilds bundled with their package:
{
// Alternative names for this property could be "addons" or "modules"? 🤔
"prebuilds": [
// Provide a path for a prebuild
"./build/Release/somthing.node",
// Which would be an alias for an object with the same path
{ "path": "./build/Release/somthing.node" },
// Allow overriding the name (default would be "my-lib--addon") used for the library files when linked into the app
{ "name": "addon", "path": "./build/Release/addon.node" },
// Allow specifying platform-specific paths
{
"name": "addon",
"path": {
"android": "./build/Release/addon.android.node",
"ios": "./build/Debug/addon.apple.node"
},
},
]
}
Control scanning
We could group options related to scanning for Node-API modules, either under a "scanning" (or simply "scan") key.
We could enable scanning of specific transitive dependencies (see #367 for use-case)
{
"scanning": {
"dependencies": ["name-of-lib-with-node-api-module"]
}
}
We could provide lists of glob patterns to include and exclude when scanning for modules
{
"scanning": {
"include": ["./build"],
"exclude": ["./node_modules"],
}
}
Or disable scanning all together:
{
"scanning": {
"disabled": true
}
}
- Linguagem predominante
- TypeScript
- Estrelas
- 191
- Forks
- 10
- Merge médio
- 2d 17h
- PRs com merge (30d)
- 3
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de callstackincubator/react-native-node-api
-
Android 🤖
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
-
Sanity check of Hermes source directory via environment variable, when building Android projectsAbertaAndroid 🤖 good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
callstackincubator/react-native-node-api#163 · 1 comentário ·
-
enhancement good first issue gyp-to-cmake
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
callstackincubator/react-native-node-api#161 · 3 comentários · 1 reação ·
-
enhancement Host 🏡
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
Automatable good first issue
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 15/100
callstackincubator/react-native-node-api#424 · 1 comentário ·
Todas as issues de callstackincubator/react-native-node-api
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
betagouv/mon-entreprise#4699 ·
Mantenedores costumam responder em até 3 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
jaegertracing/jaeger-ui#4547 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
ai-driven-qa
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
linagora/twake-calendar-frontend#1467 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
need4deed-org/sdk#267 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
auth0/universal-login#414 ·
Mantenedores costumam responder em até 1 dia