Moment: requer momento sem localidades nem hacks

Criado em 1 set. 2017  ·  17Comentários  ·  Fonte: moment/moment

Descrição do problema e etapas para reproduzir:
Estou usando o momento em uma construção de webpack.

Parece que require ('moment') é o equivalente a usar moment-with-locales.min.js do CDN (a julgar principalmente pelo aumento de tamanho em meu pacote).

Existe uma maneira de exigir um momento apenas com o locale inglês padrão? (ou seja, o equivalente a moment.min.js do CDN).

Acho que minha pergunta está relacionada ao # 2373 # 2416

POR FAVOR, não sugira remover locales com o plugin Webpack Ignore (ou hack semelhante) PORQUE EU NÃO POSSO.

Estamos usando o Angular CLI, que não oferece suporte à modificação do pipeline.

Precisamos fazer com que todas as localidades aceitem

Ambiente:
CLI Angular, Nó 8

Comentários muito úteis

não posso acreditar que isso ainda não foi resolvido, problema descrito há mais de 1,5 anos em diferentes repositórios e questões

Todos 17 comentários

@ aldo-roman:

Oi Sean do webpack

  • Não é uma _sugestão_ fazer isso. É a única maneira de fazer isso se você for consumir momentjs com webpack em seu formato de módulo atual.

  • Se você quiser outra solução, envie um momento de reescrita de PR js da AMD para o formato do módulo ESM. Ou talvez até contribua com uma especificação de projeto para a rearquitetura. A questão é que o que você enviou não é acionável.

O Moment não tem controle sobre se você tem ou não a capacidade de configurar o webpack. Portanto, eu recomendo fortemente que, se você realmente ama o momento e deseja usá-lo, que contribua para levá-lo adiante <3.

Equipe do Moment: Apoio totalmente o encerramento desta edição.

Bem, isso cobre tudo então.

Obrigado @TheLarkInn. Além disso, WRT:

Estamos usando o Angular CLI, que não oferece suporte à modificação do pipeline.

Não sei muito sobre isso, mas parece algo a ser abordado com o projeto Angular CLI. Duvido que usar o plugin WebPack Ignore para ignorar as localidades do Moment seja a única razão pela qual alguém iria querer "modificar o pipeline".

Bem, eu suspeitava que essa era a resposta que eu obteria, mas não havia nada a perder tentando.

Pelo menos pode haver um plano de refatoração de momentjs para módulos es6. É triste ver que esta biblioteca está abandonada. Não enviar um PR no momento.

Em 1 de setembro de 2017, às 13h09, Matt Johnson [email protected] escreveu:

Obrigado @TheLarkInn. Além disso, WRT:

Estamos usando o Angular CLI, que não oferece suporte à modificação do pipeline.

Não sei muito sobre isso, mas parece algo a ser abordado com o projeto Angular CLI. Duvido que usar o plugin WebPack Ignore para ignorar as localidades do Moment seja a única razão pela qual alguém iria querer "modificar o pipeline".

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub ou ignore a conversa.

Eu não iria tão longe para dizer que esta biblioteca está abandonada. Especialmente considerando as respostas imediatas que você viu.

Eu poderia convencê-lo a enviar um problema para discussão sobre a mudança para esses módulos (se ainda não existir) .🙇🙇

@TheLarkInn
Eu tentei fazer algumas mudanças que tornariam o moment mais modular recentemente. O rastreador de problemas neste projeto ainda está ativo, mas não consegui motivar ninguém a revisar as alterações, então desisti e segui em frente.

Existem questões em aberto em relação à modularização - eu mesmo as abri e, pelo que sei, nenhuma delas foi encerrada.

@ aldo-roman
Você deve tratar as pessoas que mantêm bibliotecas como esta com mais respeito. Eles estão oferecendo seu tempo para fazer isso e não devem nada a você. Ao escrever um problema, você deve pedir mudanças, não exija.

@ovangle - para onde foi seu branch de módulo? Posso encontrar um ramo de mudança de TS que você fechou. Não tenho nada programado concretamente na minha vida hoje, então se quisermos colocar alguns módulos em movimento, provavelmente pode ser feito.

Além disso, se as pessoas estão se perguntando, @ mj1856 e eu basicamente redirecionamos nosso tempo de código aberto para obter uma biblioteca padrão decente para Date em JavaScript. Consulte tc39 / temporal-proposal e https://github.com/maggiepint/temporal-shim . Como isso envolve dias de viagem para chegar às reuniões do comitê TC39 para mim, não posso perder muito tempo evitando problemas de momento. Esperançosamente, porém, o resultado final é melhor para todos.

Eu gostaria de receber ajuda conscienciosa sobre o calço e as especificações.

O ramo de mudança do TS é aquele a que me referia - ele não inclui realmente as mudanças do módulo (porque fazia sentido mesclar 2.x antes de começar esse trabalho, em vez de ter que fazer isso duas vezes), mas o ts as alterações estão principalmente relacionadas à declaração de áreas de funcionalidade que formam a base da divisão.

A principal coisa que eu estava ansioso para fazer a fusão foram as alterações de transpilação que fiz, elas reduziram significativamente o tempo necessário para executar os testes de unidade, o que teria sido bom durante a fusão.

Não estou muito entusiasmado em retomar o trabalho nisso, no entanto. Meus projetos pessoais não usam mais o momento e tenho um PR para trocar de dependências no trabalho que está quase pronto para fusão. Se eu continuasse trabalhando nisso, estaria investindo muito do meu tempo em uma dependência que na verdade não uso.

ps. Sinto muito por desaparecer sem dizer nada, mas não tinha certeza do que deveria ter dito. Como observei, todos vocês estão doando seu tempo como voluntários e não queria apressá-los, mas também não consegui justificar o tempo que demorou para mesclar até mesmo pequenas mudanças incontroversas (sem falar nas mudanças mais ambiciosas que eu estava planejando make) quando já existem projetos disponíveis que satisfaçam todas as minhas necessidades de uma biblioteca de datas sem os problemas de empacotamento que o momento tem.

@ovangle - não estamos chateados. Este tem sido um grande obstáculo para todos nós. Infelizmente, o Moment chega a esse lugar de massa crítica onde tudo o que você faz, não importa o que seja, mesmo que pareça uma 'correção' óbvia, perturba alguém. Isso nos torna mais resistentes às mudanças do que deveríamos. Não para bater em um cavalo morto, mas é por isso que a proposta temporal. É melhor consertá-lo para sempre, certo?

Eu também acabei de encontrar esse problema. Estamos usando o momento com o Meteor. E apenas em inglês. Existe uma maneira fácil de remover localidades?

@ aldo-roman Corrigi esse problema apenas diminuindo o momento de 2.19.0 para 2.17.1.

Alguns aqui, eu uso angular-cli e preciso carregar apenas moment + locale/pt-br

não posso acreditar que isso ainda não foi resolvido, problema descrito há mais de 1,5 anos em diferentes repositórios e questões

É possível que eu esteja excluindo toda a dependência do momento?

Esta página foi útil?
0 / 5 - 0 avaliações