Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

How about modules which are functions with properties?

Aberta
#13 1 comentário 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
20/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
javascript
Domínio
tooling

Direção de pesquisa

Comece pelas chamadas de staticModule e pelos dois exemplos de função versus propriedade na issue; depois, inspecione como o projeto lida atualmente com a substituição de módulos. Compare o comportamento desejado de chamada e de acesso à propriedade e estabeleça semânticas explícitas para ambos; o trabalho estará concluído quando o comportamento compatível tiver sido acordado e demonstrado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

If I have a module mymodule which exports a function with properties, as follows:

module.exports = function mymodule() { /* ... */ }
module.exports.foo = 1

How am I supposed to "statify" it, without choosing whether to restrict my client code to use either the function or the properties?

// Case 1: statify the function
staticModule({
    mymodule: function () { return '"something"' }
})  // Bad! cannot access require('mymodule').foo

// Case 2: statify the props
staticModule({
    mymodule: {
        foo: function() { return '1' }
    }
})  // Bad! cannot call require('mymodule')()

My use case is my project over at fabiosantoscode/require-emscripten, which is a node module exporting a function which also has properties.

Linguagem predominante
JavaScript
Estrelas
75
Forks
22
Métricas de merge de PRs
Nenhum PR com merge em 30d

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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de browserify/static-module

Todas as issues de browserify/static-module

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.