Ionic-framework: PostCSS pode gerar erro de mapa de origem errado

Criado em 4 jan. 2018  ·  27Comentários  ·  Fonte: ionic-team/ionic-framework

Versão iônica: (marque um com "x")
(Para problemas com o Ionic 1.x, use https://github.com/ionic-team/ionic-v1)
[] 2.x
[x] 3.x
[] 4.x

Estou enviando um ... (marque um com "x")
[x] relatório de bug
[] solicitação de recurso

Não envie solicitações de suporte ou perguntas do tipo "Como fazer" aqui. Em vez disso, use um destes canais: https://forum.ionicframework.com/ ou http://ionicworldwide.herokuapp.com/

Comportamento atual:
Se construirmos um novo aplicativo usando o seu iniciador em branco ou qualquer outro modelo de construção do aplicativo Android, teremos este erro

[16:52:18]  sass started ... 
Witout `from` option PostCSS could generate wrong source map or do not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning
[16:52:19]  sass finished in 1.13 s 

Comportamento esperado:
A mensagem de bug não deve ser

Passos para reproduzir:
Crie um novo aplicativo em branco usando
ionic start postcss
construir o aplicativo Android fazendo
ionic cordova build android

e você pode ver o log com o aviso ou mensagem de erro

[16:57:54]  sass started ... 
Witout `from` option PostCSS could generate wrong source map or do not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning
[16:57:55]  sass finished in 793 ms 

Informações iônicas: (execute ionic info em um prompt de terminal / cmd e cole a saída abaixo):

cli packages: (/usr/lib/node_modules)

    @ionic/cli-utils  : 1.19.0
    ionic (Ionic CLI) : 3.19.0

global packages:

    cordova (Cordova CLI) : 8.0.0 

local packages:

    @ionic/app-scripts : 3.1.6
    Cordova Platforms  : android 7.0.0
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    Node              : v8.9.4
    npm               : 5.6.0 
    OS                : Linux 4.13

Environment Variables:
    ANDROID_HOME : /abcdef/android/sdk

Misc:
    backend : legacy
v3

Comentários muito úteis

Até que isso seja corrigido, uma possibilidade é reverter alguns patches antes de o erro ser introduzido:

npm i -D -E [email protected]

CHANGELOG.md de PostCSS

6.0.16
Corrigir texto de aviso (por Michael Keller).
6.0.15
Adicione um aviso sobre a opção perdida na chamada de processo (). Depois ().
Adicione suporte para IE 10.

https://github.com/postcss/postcss/blame/master/lib/lazy-result.es6#L192

No: package.json de ionic-app-scripts
este "postcss": "^6.0.13" instala também o novo patch 6.0.15 , que contém o novo aviso.

Todos 27 comentários

Como diz o aviso:

Sem a from option, o PostCSS pode gerar um mapa de origem errado ou não encontrar a configuração da lista de navegadores. Defina-o como o caminho do arquivo CSS ou undefined para evitar este aviso

Eu adicionei o campo from , configurei-o como indefinido e criei uma solicitação pull.

https://github.com/StefanRein/ionic-app-scripts/blob/29873ae96611ae209ca4b065fd9940d6b7b96bda/src/sass.ts#L285

Isso resolve esse aviso. Mas não sei se isso tem outras consequências e a equipe Ionic precisa preencher lá um caminho para o arquivo css gerado ou algo parecido.

@danbucholtz Você poderia revisar isso, por favor? Nossas compilações automatizadas estão falhando por causa disso.
(O "aviso" é interpretado como um erro ..)

Edit: PostCSS usa basicamente console.warn, mas isso vai para o nó do tubo stderr e nosso TeamFS falha.

stderr é usado para saída de aviso ou erro. Fonte

Até que isso seja corrigido, uma possibilidade é reverter alguns patches antes de o erro ser introduzido:

npm i -D -E [email protected]

CHANGELOG.md de PostCSS

6.0.16
Corrigir texto de aviso (por Michael Keller).
6.0.15
Adicione um aviso sobre a opção perdida na chamada de processo (). Depois ().
Adicione suporte para IE 10.

https://github.com/postcss/postcss/blame/master/lib/lazy-result.es6#L192

No: package.json de ionic-app-scripts
este "postcss": "^6.0.13" instala também o novo patch 6.0.15 , que contém o novo aviso.

isso foi corrigido?

@thezakman Ainda não. A questão está aberta. O aviso ainda existe.

encontre o arquivo sass.js. em /node_modules/@ionic/app-scripts/dist/sass.js.
encontre var postcssOptions e adicione from: undefined,

Finalmente deve ser assim:
var postcssOptions = {
from: undefined,
para: path_1.basename (sassConfig.outFile),
map: autoPrefixerMapOptions
};

https://github.com/ionic-team/ionic-app-scripts/pull/1364#issuecomment -358557878

Você não deve modificar nenhum arquivo no diretório node_modules. Se você atualizar pacotes, reinstalá-los, instalando-os em um novo projeto, todas as modificações desaparecerão.

Por favor, use a sugestão acima por enquanto.

eu resolvo o problema usando isso (obrigado também para @AlbenJohn)
https://stackoverflow.com/a/48315414

Alguma correção para isso?

Embora não esteja quebrando minhas compilações, este aviso também aparece para mim. Esta é uma solução rápida de uma linha. Já existe uma solicitação de pull para isso?

@ johnroper100 Sim e foi aprovado (

Editar: Os arquivos de mapa estão funcionando corretamente.

Este aviso ainda aparece.

Este aviso ainda aparece.

Este aviso ainda aparece.

@JosepAlacid @Veyhunk @ajmalhassan tente usar a correção que @hanifmazlan sugeriu. Na verdade, funciona para mim. https://stackoverflow.com/a/48315414/3288671

É verdade, mas como @StefanRein sugere, ainda está a milhas de distância de qualquer ambiente semelhante ao de produção. melhor evitar node_modules. Ainda esperando por uma correção adequada. Alguma atualização da equipe Ionic?

Este aviso ainda aparece.

Este aviso ainda aparece.

Este aviso ainda aparece.

Este aviso ainda aparece.

Este aviso ainda aparece.

Por favor pare. Isso não está ajudando de forma alguma.
Este é um projeto open source. Se as pessoas tiverem tempo, elas vão consertar.
Existem soluções mencionadas acima para corrigir o aviso.

Embora eu não queira falar em nome da equipe IONIC, sinto que algo precisa ser dito aqui:

Esse problema não se aproxima da resolução em proporção ao número de comentários que dizem "Este aviso ainda aparece". / "Qualquer atualização sobre isso" / "Qualquer correção para isso" / etc.

Se você estiver travado, leia o tópico - há uma solução alternativa que, como o nome sugere, o ajudará a trabalhar. Se você gostaria de receber atualizações sobre isso, salve algumas teclas clicando no botão 'Inscrever-se' - que permite que você receba atualizações em seu e-mail. Você também receberá atualizações sempre que alguém comentar "Alguma atualização sobre isso?", Então, por favor, não seja essa pessoa.

Este aviso ainda aparece.

@jhonnhenry cara, sério? Nós sabemos - o problema ainda está aberto. Basta se inscrever e seguir seu caminho ...

Se você insiste em deixar um comentário, ajude-nos a ser mais produtivos, fornecendo alguns insights, por exemplo, quais versões você está executando.

Eu encontrei esta solução alternativa

Primeiro, encontre o arquivo sass.js em /node_modules/@ionic/app-scripts/dist/sass.js. dentro da pesquisa var postcssOptions e adicionar from: undefined,

Finalmente deve ser assim:

var postcssOptions = {
from: undefined,
para: path_1.basename (sassConfig.outFile),
map: autoPrefixerMapOptions
};

https://stackoverflow.com/questions/48162738/without-from-option-postcss-could-generate-wrong-source-map-or-do-not-find-bro

Ainda tenho seu aviso. Pular para node_modules não é sério :: /

Obrigado pelo problema! Nós movemos o código-fonte e os problemas do Ionic 3 para um repositório separado. Estou movendo este problema para o repositório do Ionic 3. Acompanhe esse problema lá.

Obrigado por usar o Ionic!

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