<p>O daemon Fable analisa e compila o código-fonte inteiro nas alterações</p>

Criado em 21 nov. 2017  ·  49Comentários  ·  Fonte: fable-compiler/Fable

Descrição

dotnet fable yarn-start analisa e compila a fonte inteira em cada mudança em um arquivo fonte

Código Repro

Pegue qualquer projeto de fábula e comece o início do fio da fábula dotnet.
Modifique um arquivo e salve.

Resultados esperados e reais

Esperado: apenas o arquivo alterado (e talvez os arquivos dependentes) são recompilados.
Real: tudo é compilado novamente.

Informação relacionada

  • Versão da fábula ( dotnet fable --version ): 1.3.0, 1.3.1

Comentários muito úteis

OK, aqui estão minhas descobertas: o problema parece ser como o Webpack está resolvendo dependências. No simples mostrado por @SCullman antes de src/Home/View.fs é marcado como uma dependência de src App.fs . Portanto, toda vez que View.fs é atualizado, App.fs também é recompilado pelo Webpack para garantir que não haja erros no tempo de execução (o que pode acontecer com funções embutidas, mudanças nos nomes de métodos públicos de View.fs, etc).

Como é o último arquivo do projeto, obviamente App.fs possui muito mais dependências. E o Webpack está recompilando todos eles, mas aparentemente apenas no Windows . Tenho que relatar isso para a equipe do Webpack para ver o que está acontecendo.

Enquanto isso, publiquei o fable-loader 1.1.5 para que você possa cancelar as dependências usando a opção extra.ignoreDependencies . A desvantagem é que você terá que fazer uma alteração manual (como adicionar um espaço) em um arquivo dependente se ele precisar de recompilação até que possamos encontrar uma solução adequada, mas pelo menos o observador deve ser muito mais rápido. Exemplo:

    module: {
        rules: [
            {
                test: /\.fs(x|proj)?$/,
                use: {
                    loader: "fable-loader",
                    options: {
                        babel: babelOptions,
                        define: isProduction ? [] : ["DEBUG"],
                        extra: { ignoreDependencies: true }
                    }
                }
            },

Todos 49 comentários

Olá @SCullman! Desculpe, não posso reproduzir isso, no meu caso apenas os arquivos editados e dependentes estão sendo recompilados. Você tem um repositório ou um projeto compactado para testar isso?

@alfonsogarciacaro Strange, assim como outros relataram o mesmo problema no gitter esta manhã. Vou verificar se consigo reproduzi-lo com um projeto de amostra.

Passos para reproduzir:

dotnet new fable-elmish-react
.paket\paket update 
yarn
cd src
dotnet restore
dotnet fable yarn-start

e então, quando eu apenas toco home / view.fs:
image

Muito obrigado pelas etapas de reprodução, @SCullman : +1: Você também precisa atualizar o fable-loader, pode adicionar yarn upgrade fable-loader (ou apenas yarn upgrade para atualizar todos os pacotes npm) às etapas acima e tente novamente?

Nova tentativa em outro computador:

dotnet new fable-elmish-react
.paket\paket update 
yarn install
yarn upgrade
cd src
dotnet restore
dotnet fable yarn-start

Mesmos resultados.

Eu vejo o mesmo problema.

Estranho, não consigo reproduzir ... 😕 Alguém mais com esse problema? @MangelMaxime @forki

Não consigo reproduzir nenhum dos dois, segui os passos do @SCullman e editei o arquivo Home\View.fs .

Eu consegui este resultado:

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
16:15-19 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
172:15-25 "export 'defaultArg' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
185:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
188:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
webpack: Compiled with warnings.
webpack: Compiling...
fable: Compiled src\Home\View.fs
Hash: 64fb89640a7e19c1f870
Version: webpack 3.8.1
Time: 2227ms
                                   Asset      Size  Chunks                    Chunk Names
                               bundle.js      2 MB       0  [emitted]  [big]  main
    0.b7f14501e6aa67373323.hot-update.js   1.77 kB       0  [emitted]         main
    b7f14501e6aa67373323.hot-update.json  43 bytes          [emitted]
                           bundle.js.map   2.19 MB       0  [emitted]         main
0.b7f14501e6aa67373323.hot-update.js.map   1.01 kB       0  [emitted]         main
[./node_modules/webpack/hot ^\.\/log$] (webpack)/hot nonrecursive ^\.\/log$ 170 bytes {0} [built]
[./src/Home/View.fs] ./src/Home/View.fs 632 bytes {0} [built]
    + 390 hidden modules

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
16:15-19 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
172:15-25 "export 'defaultArg' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
185:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj

WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
188:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
 @ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
 @ ./src/App.fs
 @ ./src/testDaemon.fsproj
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
webpack: Compiled with warnings.

A parte importante é:

webpack: Compiling...
fable: Compiled src\Home\View.fs

Suspeito do aviso, sobre: export 'some' was not found in causado pela nova forma do Fable de lidar com o tipo option . @alfonsogarciacaro estou certo Se sim, apenas atualizar os repositórios elmish deve ser suficiente para fazê-los desaparecer.

Mesmo problema aqui. Agora leva muito tempo para compilar projetos maiores.

Tentei o mesmo que @SCullman acima e obtenha

webpack: Compiled with warnings.
webpack: Compiling...
Parsing ./Home/View.fs...
Parsing ./App.fs...
fable: Compiled src\App.fs
Parsing ./Counter/View.fs...
Parsing ./Types.fs...
Parsing ./Info/View.fs...
Parsing ./Navbar/View.fs...
fable: Compiled src\Types.fs
fable: Compiled src\Counter\View.fs
fable: Compiled src\Info\View.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish/1.0.0/fable/program.fs...
fable: Compiled src\Navbar\View.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs...
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.react\1.0.0\fable\react.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish\1.0.0\fable\program.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.debugger\1.0.0\fable\debugger.fs
Parsing ./State.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.browser\1.0.0\fable\navigation.fs
Parsing ./Home/View.fs...
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.react/1.0.0/fable/common.fs...
fable: Compiled src\State.fs
fable: Compiled src\Home\View.fs
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.react\1.0.0\fable\common.fs
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.browser\1.0.0\fable\parser.fs

quando eu mudo Home / View.fs

yarn info fable-loader me dá version: '1.1.4',

Qual é a sua versão dotnet?

2.0.2 no windows

Apenas tentei na minha máquina linux (com dotnet 2.0.0) e lá funciona

Estou no Windows com 2.0.3.

Isso está começando a ficar louco. Eu tenho muitos comportamentos diferentes entre 2.0.0, 2.0.1, 2.0.2, 2.0.3 nos últimos dias ...

Você pode tentar com 2.0.3 no Windows?

Editar: Para verificar se isso está relacionado à versão dotnet ...

Atualizado para 2.0.3 no Windows 10 (1709)
fio 1.3.2
nó 8.6.0 / 9.2.0

Ainda o mesmo...

De volta a casa, atualizei essa máquina também para dotnet2.0.3, ainda com o mesmo comportamento

Mesmo aqui. Mesmos problemas com dotnet 2.0.3

Eu também vejo esse problema. dotnet 2.0.3

Para referências, aqui está o resultado que obtenho no Linux com dotnet 2.0.3:

webpack: Compiling...
Parsing ./Home/View.fs...
Parsing ./App.fs...
fable: Compiled src/App.fs
Parsing ./Home/View.fs...
fable: Compiled src/Home/View.fs

Há um pouco mais de linha do que antes sob o Windows, mas isso parece ok.

Vocês usam um global.json em algum lugar do seu sistema?

Vocês usam um global.json em algum lugar do seu sistema?

sim

{
    "sdk": {
        "version": "2.0.3"
    }
}

Vocês usam um global.json em algum lugar do seu sistema?

Não

Estou no macOS com dotnet SDK 2.0.0 e não vejo o problema. Também # 1246 diz que o problema acontece de 1.3.0 beta a 1.3.1, mas eu não toquei no código para detectar arquivos sujos entre essas versões. Argh!

Hmm, Fable 1.3 usa System.IO.File.GetLastWriteTime para detectar arquivos sujos ( fonte ). Talvez isso dê resultados diferentes dependendo da versão / plataforma do netcore? @ vasily-kirichenko @enricosada

@forki está relatando que Fable parou de funcionar com dotnet SDK 2.0.3 (no Windows, eu acho) e reverter para 2.0.2 fez com que funcionasse.

@forki está relatando que Fable parou de funcionar com dotnet SDK 2.0.3 (no Windows, eu acho) e reverter para 2.0.2 fez com que funcionasse.

O que você quer dizer com "parou de funcionar"? Tenho 2.0.3 e tudo funciona (exceto a otimização de recompilação). Devo fazer o downgrade para 2.0.2?

image

basicamente em um commit que definitivamente funcionava, parou de funcionar hoje.

Hmm, Fable 1.3 usa System.IO.File.GetLastWriteTime para detectar arquivos sujos (fonte).

O FCS mudou para carimbos de data / hora UTC em todos os lugares recentemente, isso pode causar o problema?

mhm não tenho certeza, porque mudar as versões do dotnet resolveu

Mas presumo que verei o mesmo problema no 2.0.2 eventualmente. Eu acho que é apenas um cache "novo" de algo

@alfonsogarciacaro você poderia adicionar o login em https://github.com/fable-compiler/Fable/blob/cda3ae8a97c538b783c961ccb7aa168d695b7b3c/src/dotnet/dotnet-fable/StateUtil.filings#L137 como "xxxfiling = xxxxx é maior que o carimbo de hora do projeto = xxxxx "? (no entanto, não tenho certeza se entendi o que project.TimeStamp é)

Posso reproduzir no Windows (ambos com dotnet 2.0.0 e 2.0.3). Eu adicionei o log como você sugeriu @ vasily-kirichenko e em meus testes locais isso revelou que o problema não está nessa linha, então deve estar em outro lugar. Verificando agora 👍

@alfonsogarciacaro ótimo! Estamos esperando a correção, a dor é enorme :)

OK, aqui estão minhas descobertas: o problema parece ser como o Webpack está resolvendo dependências. No simples mostrado por @SCullman antes de src/Home/View.fs é marcado como uma dependência de src App.fs . Portanto, toda vez que View.fs é atualizado, App.fs também é recompilado pelo Webpack para garantir que não haja erros no tempo de execução (o que pode acontecer com funções embutidas, mudanças nos nomes de métodos públicos de View.fs, etc).

Como é o último arquivo do projeto, obviamente App.fs possui muito mais dependências. E o Webpack está recompilando todos eles, mas aparentemente apenas no Windows . Tenho que relatar isso para a equipe do Webpack para ver o que está acontecendo.

Enquanto isso, publiquei o fable-loader 1.1.5 para que você possa cancelar as dependências usando a opção extra.ignoreDependencies . A desvantagem é que você terá que fazer uma alteração manual (como adicionar um espaço) em um arquivo dependente se ele precisar de recompilação até que possamos encontrar uma solução adequada, mas pelo menos o observador deve ser muito mais rápido. Exemplo:

    module: {
        rules: [
            {
                test: /\.fs(x|proj)?$/,
                use: {
                    loader: "fable-loader",
                    options: {
                        babel: babelOptions,
                        define: isProduction ? [] : ["DEBUG"],
                        extra: { ignoreDependencies: true }
                    }
                }
            },

@alfonsogarciacaro muito obrigado, estou de volta ao feedback de 2 segundos :)

Publiquei dotnet-fable 1.3.2. Você poderia atualizá-lo e experimentá-lo? Esta versão não envia dependências para o cliente JS (então você nem precisa da opção extra.ignoreDependencies ), mas o daemon irá mantê-las e ainda recompilará os arquivos dependentes na compilação do relógio. Dessa forma, se uma alteração estiver causando um erro em outro arquivo, o erro será relatado pelo Webpack.

Como um bônus, isso também deve beneficiar o divisor de fábulas, já que não depende do cliente para as dependências (trocadilho não intencional) @forki

BTW, também para @forki , 1.3.2 foi construído com dotnet SDK 2.0.3 no Windows, talvez isso resolva o seu problema? 🤔

Eu testei em um projeto maior e fiz algumas alterações em arquivos diferentes com mais ou menos dependências.
Trabalho incrível. Obrigado!

Funciona com 2.0.3 em uma máquina. Vou verificar o outro mais tarde hoje

Am 24.11.2017 08:10 schrieb "Stefan Cullmann" [email protected] :

Eu testei em um projeto maior e fiz algumas alterações em arquivos diferentes
com mais ou menos dependências.
Trabalho incrível. Obrigado!

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/fable-compiler/Fable/issues/1241#issuecomment-346757401 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AADgNMohglCrLNRcXVtu0d_YfzfGc3dZks5s5mvSgaJpZM4Ql5zA
.

Não tenho certeza se funciona completamente bem para mim.

Arquivo de projeto:

<ItemGroup>
    <Compile Include="Global.fs" />
    <Compile Include="ElasticSearch\Common.fs" />
    <Compile Include="EsScratchPad\View.fs" />
    <Compile Include="Errors\Types.fs" />
    <Compile Include="Errors\Es.fs" />
    <Compile Include="Errors\State.fs" />
    <Compile Include="Errors\View.fs" />
    <Compile Include="Apps\Types.fs" />
    <Compile Include="Apps\State.fs" />
    <Compile Include="Apps\View.fs" />
    <Compile Include="Types.fs" />
    <Compile Include="State.fs" />
    <Compile Include="App.fs" />
  </ItemGroup>

Depois de alterar Apps\View.fs , obtenho esta saída:

webpack: Compiling...
Parsing ./Apps/View.fs...
Parsing ./App.fs...
fable: Compiled src\App.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Navbar.fs...
Parsing ./EsScratchPad/View.fs...
Parsing ./Types.fs...
Parsing ./Errors/View.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish/1.0.0/fable/program.fs...
fable: Compiled src\Types.fs
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs...
fable: Compiled src\EsScratchPad\View.fs
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs...
Parsing ./State.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish\1.0.0\fable\program.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.react\1.0.0\fable\react.fs
Parsing ./Apps/View.fs...
Parsing ./ElasticSearch/Common.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Section.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Navbar.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Columns.fs...
fable: Compiled src\State.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Column.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.browser\1.0.0\fable\navigation.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Form.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.debugger\1.0.0\fable\debugger.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Button.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Common.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Columns.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Extra/FontAwesome.fs...
fable: Compiled src\Errors\View.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Icon.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Notification.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Section.fs
fable: Compiled src\ElasticSearch\Common.fs
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/common.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Common.fs
Parsing ./Apps/State.fs...
Parsing ./Errors/State.fs...
fable: Compiled src\Apps\View.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Panel.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.react\1.0.0\fable\common.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Box.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Message.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Table.fs...
Parsing ./Errors/Es.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Pagination.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Extra\FontAwesome.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Content.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.powerpack/1.3.1/fable/src/Fetch.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Menu.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Level.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Tag.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Column.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Notification.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Button.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Icon.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Level.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Tag.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Menu.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.powerpack\1.3.1\fable\src\Fetch.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Pagination.fs
fable: Compiled src\Errors\Es.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Content.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Form.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Table.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Message.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Panel.fs
fable: Compiled src\Errors\State.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Box.fs
fable: Compiled src\Apps\State.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.browser\1.0.0\fable\parser.fs
Hash: 3311826e924a74e32344
Version: webpack 3.8.1
Time: 3656ms
                                   Asset      Size  Chunks                    Chunk Names
                               bundle.js    2.7 MB       0  [emitted]  [big]  main
    0.42dbebdd1d8a29329817.hot-update.js   33.4 kB       0  [emitted]         main
    42dbebdd1d8a29329817.hot-update.json  43 bytes          [emitted]
                           bundle.js.map   2.55 MB       0  [emitted]         main
0.42dbebdd1d8a29329817.hot-update.js.map   9.24 kB       0  [emitted]         main
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs 4.73 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs 8.33 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs 8.99 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs 871 bytes {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish/1.0.0/fable/program.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish/1.0.0/fable/program.fs 8.33 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Navbar.fs] C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Navbar.fs 24.2 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Panel.fs] C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Panel.fs 10.3 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Box.fs] C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Box.fs 787 bytes {0} [built]
[./node_modules/webpack/hot ^\.\/log$] (webpack)/hot nonrecursive ^\.\/log$ 170 bytes {0} [built]
[./src/App.fs] ./src/App.fs 6.51 kB {0} [built]
[./src/Apps/View.fs] ./src/Apps/View.fs 9.28 kB {0} [built]
[./src/Errors/View.fs] ./src/Errors/View.fs 15.5 kB {0} [built]
[./src/EsScratchPad/View.fs] ./src/EsScratchPad/View.fs 8.99 kB {0} [built]
[./src/State.fs] ./src/State.fs 3.04 kB {0} [built]
[./src/Types.fs] ./src/Types.fs 2.72 kB {0} [built]
    + 400 hidden modules
webpack: Compiled successfully.

3,6 segundos é muito bom (mas é mais longo do que era com extra.ignoreDependencies - 1,7 segundos).

@vassily-kirichenko Eu tenho o mesmo no começo. Depois de reinstalar o Paket deps do zero, tudo está ok agora.

Agora são 10 segundos ... :(

@irium ah! paket install --force ?

Não ajudou, ao mesmo tempo :(

@ vasily-kirichenko Por favor, certifique-se de ter 1.3.2 em paket.lock e ao executar dotnet fable --version . Se necessário, exclua a pasta obj antes de executar dotnet restore .

Meu webpack.config.js OK?

var path = require("path");
var webpack = require("webpack");
var fableUtils = require("fable-utils");

function resolve(filePath) {
    return path.join(__dirname, filePath)
}

var babelOptions = fableUtils.resolveBabelOptions({
    presets: [["es2015", {"modules": false}]],
    plugins: [["transform-runtime", {
        "helpers": true,
        // We don't need the polyfills as we're already calling
        // cdn.polyfill.io/v2/polyfill.js in index.html
        "polyfill": false,
        "regenerator": false
    }]]
});

var isProduction = process.argv.indexOf("-p") >= 0;
console.log("Bundling for " + (isProduction ? "production" : "development") + "...");

module.exports = {
    devtool: "source-map",
    entry: resolve('./src/EsExplorer.fsproj'),
    output: {
        filename: 'bundle.js',
        path: resolve('./public'),
    },
    resolve: {
        modules: [
            "node_modules", resolve("./node_modules/")
        ]
    },
    devServer: {
        contentBase: resolve('./public'),
        port: 8080,
        hot: true,
        inline: true
    },
    module: {
        rules: [
            {
                test: /\.fs(x|proj)?$/,
                use: {
                    loader: "fable-loader",
                    options: {
                        babel: babelOptions,
                        define: isProduction ? [] : ["DEBUG"]
                    }
                }
            },
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: babelOptions
                },
            },
            {
                test: /\.sass$/,
                use: [
                    "style-loader",
                    "css-loader",
                    "sass-loader"
                ]
            }
        ]
    },
    plugins : isProduction ? [] : [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NamedModulesPlugin()
    ]
};

Parece bom para mim.

Excluir obj e dotnet restore resolve o problema - 1,5 segundo agora. Muito obrigado!

maldito obj - É uma merda agora. sempre o problema

@forki é dotnet problema ou pacote ou ...?

ponto Net

Outra pergunta: posso remover todos os prerelease s de packet.dependencies ?

Sim, exceto para Fulma, se você usá-lo :) @ vasily-kirichenko

OK, obrigado. Não consigo imaginar minha vida sem Fulma :)

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

Questões relacionadas

forki picture forki  ·  3Comentários

alfonsogarciacaro picture alfonsogarciacaro  ·  3Comentários

funlambda picture funlambda  ·  4Comentários

alfonsogarciacaro picture alfonsogarciacaro  ·  3Comentários

alfonsogarciacaro picture alfonsogarciacaro  ·  3Comentários