Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Não está criando automaticamente minhas pastas js

O instrutor disse que não mexeríamos nas pastas de formato js e que elas seriam geradas de forma automática, mesmo baixando o arquivo da aula e executando após fazer alguns testes, não é criado nenhum arquivo em formato js. e como o instrutor não os mostra na aula fica impossível replicá-los. ta bem chato isso...

9 respostas

Olá Daniele, tudo bem com você?

Você poderia postar o seu tsconfig.json para que a gente possa ver?

Teoricamente se você digitou no terminal npm start e dentro do script está:

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "compile": "tsc",
    "start": "tsc -w"
  }

Era para ele habilitar o watch-modee a cada vez que você salvasse um arquivo houvesse a compilação para a pasta definida em tsconfig.json

Abraços e Bons Estudos :)

Está assim no package.json, na parte que dos scripts

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "compile": "tsc",
    "start": "tsc -w"
},

Na parte do tsconfig.json está assim:

{
    "compilerOptions": {
        "target": "es6",
        "outDir": "app/js",
        "noEmitOnError": true        
    },
    "include": [
        "app/ts/**/*"
    ]
}

Olá Daniele,

Que estranho, eu fiz o download do projeto da aula e executei e gerou corretamente a pasta js

Qual o log do terminal quando você executa o npm start ?

Os seus arquivos de configurações estão certinhos, a única coisa que impediria de criar a pasta js seria se houvessem erros em seu projeto por conta do noEmitOnError: true

Abraços e Bons Estudos!

C:\Users\Daniele\Desktop>cd ts-alurabank

C:\Users\Daniele\Desktop\ts-alurabank>npm start

> ts-alurabank@1.0.0 start C:\Users\Daniele\Desktop\ts-alurabank
> tsc -w

Version 2.3.2
Syntax:   tsc [options] [file ...]

Examples: tsc hello.ts
          tsc --outFile file.js file.ts
          tsc @args.txt

Options:
 -h, --help                                         Print this message.
 --all                                              Show all compiler options.
 -v, --version                                      Print the compiler's version.
 --init                                             Initializes a TypeScript project and creates a tsconfig.json file.
 -p FILE OR DIRECTORY, --project FILE OR DIRECTORY  Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'.
 --pretty                                           Stylize errors and messages using color and context (experimental).
 -w, --watch                                        Watch input files.
 -t VERSION, --target VERSION                       Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'.
 -m KIND, --module KIND                             Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'.
 --lib                                              Specify library files to be included in the compilation:
                                                      'es5' 'es6' 'es2015' 'es7' 'es2016' 'es2017' 'esnext' 'dom' 'dom.iterable' 'webworker' 'scripthost' 'es2015.core' 'es2015.collection' 'es2015.generator' 'es2015.iterable' 'es2015.promise' 'es2015.proxy' 'es2015.reflect' 'es2015.symbol' 'es2015.symbol.wellknown' 'es2016.array.include' 'es2017.object' 'es2017.sharedmemory' 'es2017.string' 'esnext.asynciterable'
 --allowJs                                          Allow javascript files to be compiled.
 --jsx KIND                                         Specify JSX code generation: 'preserve', 'react-native', or 'react'.
 -d, --declaration                                  Generates corresponding '.d.ts' file.
 --sourceMap                                        Generates corresponding '.map' file.
 --outFile FILE                                     Concatenate and emit output to single file.
 --outDir DIRECTORY                                 Redirect output structure to the directory.
 --removeComments                                   Do not emit comments to output.
 --noEmit                                           Do not emit outputs.
 --strict                                           Enable all strict type-checking options.
 --noImplicitAny                                    Raise error on expressions and declarations with an implied 'any' type.
 --strictNullChecks                                 Enable strict null checks.
 --noImplicitThis                                   Raise error on 'this' expressions with an implied 'any' type.
 --alwaysStrict                                     Parse in strict mode and emit "use strict" for each source file.
 --noUnusedLocals                                   Report errors on unused locals.
 --noUnusedParameters                               Report errors on unused parameters.
 --noImplicitReturns                                Report error when not all code paths in function return a value.
 --noFallthroughCasesInSwitch                       Report errors for fallthrough cases in switch statement.
 --types                                            Type declaration files to be included in compilation.
 @<file>                                            Insert command line options and files from a file.

C:\Users\Daniele\Desktop\ts-alurabank>

Olá Daniele,

Você pode dar um dir para eu ver como está a estrutura de pasta?

Era para quando você digitar npm start, aparecer o seguinte log:

[14:59:05] Starting compilation in watch mode...

[14:59:06] Found 0 errors. Watching for file changes.

Eu só consegui reproduzir o seu erro, movendo o tsconfig.jsonde lugar, a sua estrutura está assim ?

  • app
    • css
    • lib
    • ts
  • node_modules
  • package.json
  • tsconfig.json

Abraços!

O tsconfig.json está dentro da pasta alurabank, ele deve estar fora de todas igual o package.json ?

Após deixar ele fora da pasta "alurabank" aparece o seguinte erro:

C:\Users\Daniele>cd desktop

C:\Users\Daniele\Desktop>cd ts-alurabank

C:\Users\Daniele\Desktop\ts-alurabank>npm start

> ts-alurabank@1.0.0 start C:\Users\Daniele\Desktop\ts-alurabank
> tsc -w

error TS18003: No inputs were found in config file 'C:/Users/Daniele/Desktop/ts-alurabank/tsconfig.json'. Specified 'include' paths were '["app/ts/**/*"]' and 'exclude' paths were '["app/js"]'.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ts-alurabank@1.0.0 start: `tsc -w`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ts-alurabank@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Daniele\AppData\Roaming\npm-cache\_logs\2020-05-29T18_26_19_289Z-debug.log

C:\Users\Daniele\Desktop\ts-alurabank>

Colocando ela dentro da pasta alurabank que contem outros diretorios como o "app", deixa de aparecer o erro..

solução!

Opa Daniele,

Isso mesmo! O tsconfig.jsontem que estar junto do package.json, se eles estiverem em pastas diferentes não funciona :)

O que acontece é que quando executamos o npm start ele executa o script presente ( em nosso caso o tsc) , que vai tentar ler o nosso tsconfig.jsonna mesma pasta, se ele não encontrar acaba dando apenas aquele log :)

Então a sua organização tem que estar da maneira como mostrei acima

Dentro da pasta alurabank tem que ter os seguintes arquivos:

  • A pasta app
  • A pasta node_modules
  • O nosso package.json
  • O nosso tsconfig.json

Após deixar ele fora da pasta "alurabank" aparece o seguinte erro:

Então, com o comando dir iria auxiliar para eu conseguir ver como está a sua estrutura de pasta

Mas deixa eu ver se entendi:

Você tem uma pasta chamada ts-alurabank, e dentro dela temos

  • alurabank
  • package.json

Se estiver assim veja que o package.json tem que estar dentro da alurabank

Então seria algo assim ( veja cada identação como um nível de pasta):

  • ts-alurabank
    • alurabank
      • package.json
      • tsconfig.json
      • app
      • node_modules

Abraços e Bons Estudos :)

OBS: Consegui achar o erro e arrumar, não sei porque mas o arquivo estava criando um diretório chamado "alurabank" e deixando alguns diretorios de fora como o node_modules e também os arquivos json. ao colocar tudo nessa pasta "alurabank" entrar dentro dela e executar o comando, foi gerado os arquivos js.

Obrigada pela força!