1.Server set header: Content-Security-Policy: default-src https:
Isso não parece ser um problema com os pegjs.
Você está carregando seus scripts de uma fonte não segura (http?)
Posso reproduzir isso nos protocolos http e https. É tudo uma questão de política de segurança. Se o código usa a função eval, então ele não será executado, o navegador irá bloquear sua execução
Eu tenho uma solução alternativa para isso, mas não é segura.
Mais detalhes sobre a política de segurança:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
Seu link é para cabeçalhos http. Você está no controle de quaisquer cabeçalhos que enviar ao seu servidor.
Sim, este cabeçalho está relacionado à segurança, mas qual aplicativo em 2020 não pensará em segurança. É uma prática comum usar essa abordagem em um aplicativo da web moderno.
Pesquisei um pouco no Google e percebi que bibliotecas populares já fizeram essa atualização.
Portanto, não acho que muitos aplicativos irão ignorar a segurança no futuro e selecionar ferramentas apropriadas que serão consistentes com isso.
Pegjs é um gerador de analisador, é um pouco de uma raça separada de bibliotecas JS,
Como o JS dentro da gramática funcionaria sem eval
ing isso?
Não acho que seja uma boa solução para um gerador de analisador. Afinal, o desempenho é muito importante aqui.
Estou perdendo o contexto neste problema. Alguém pode apontar o dedo para um código relevante?
Acho que vale a pena adicionar uma alternativa não eval
para compatibilidade com a Política de Segurança de Conteúdo; verá isso em algum ponto antes de 0.12 adicionando outro pacote (talvez denominado dist/peg.csp.js
) por meio de um novo arquivo de entrada a ser consumido apenas pelo Webpack
Provavelmente não o torne apenas webpack. Este problema não é específico do webpack, e o webpack está diminuindo rapidamente, em favor do rollup e parcel
Honestamente, não há nenhuma razão particular para deixar eval
no lugar se qualquer alternativa for fornecida. Não é como se fosse de alguma forma mais rápido, como estranhamente sugerido acima. Bem pelo contrário
Isso não deve ser sinalizado not-a-bug
. Na verdade, é um bug severo.
Comentários muito úteis
Acho que vale a pena adicionar uma alternativa não
eval
para compatibilidade com a Política de Segurança de Conteúdo; verá isso em algum ponto antes de 0.12 adicionando outro pacote (talvez denominadodist/peg.csp.js
) por meio de um novo arquivo de entrada a ser consumido apenas pelo Webpack