Docs on publishing of header-only C++ libs (include in node c++ modules)
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Localize as bibliotecas C++ header-only neste repositório e compare o padrão de package.json e include_dirs.js do Nan com os exemplos vinculados. Adicione os metadados de pacote solicitados para cada biblioteca, depois execute npm pack e inspecione o tarball para confirmar que ele contém os headers e apenas os arquivos padrão do npm.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
rational
We are increasingly working on small node C++ modules that depend on header-only C++ libs.
Node.js's Nan module has pioneered a best practice for how to include header only C++ libs in node C++ addons by simply adding a package.json and include_dirs.js file to the root of the project. I think we should follow the lead of howNan does this and package all our C++ header only libs in npm as well as mason. I think publishing in two places is worth it because it makes including the libraries from node modules very easy and consistent with how JS modules work.
method
Add:
- package.json
- include_dirs.js
filesparameter topackage.jsonso that only theinclude/directory is included
Example:
{
"name": "@mapbox/geometry-hpp",
"version": "0.9.0",
"description": "A C++ header only geometry type library",
"main": "./include_dirs.js",
"repository" : {
"type" : "git",
"url" : "git://github.com/mapbox/geometry.hpp.git"
},
"files": [
"include"
]
}
Then test that only the right files are going to be packaged:
npm pack
tar -ztvf *tgz
^^ that should list just the headers and the default files npm includes like README.md and package.json etc
Examples:
Example use case:
- Linguagem predominante
- Sem dados de linguagem
- Estrelas
- 110
- Forks
- 17
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
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 mapbox/cpp
-
glossary
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 68/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 25/100
-
Docs on ABIs Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
-
clang-tidy v. -Weffc++ Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
Issues semelhantes
-
Help-Wanted Needs-Triage Package-Request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
microsoft/winget-pkgs#438680 ·
-
Update ghgrab to 2.1.0 Abertapackage-update
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
oSoWoSo/vOid_Community_repOsitory#148 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 68/100
-
documentation pkg infrastructure
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
epiverse-trace/epiparameter#511 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100