├── .editorconfig ├── LICENSE ├── README.md ├── code-tips ├── .gitignore ├── code-tips-01.ts ├── code-tips-02.js ├── code-tips-03.js ├── code-tips-04.js ├── code-tips-05.js ├── code-tips-06.js ├── code-tips-07.js ├── code-tips-08.js ├── code-tips-09.js ├── code-tips-10.ts ├── code-tips-11.js ├── code-tips-12.js ├── code-tips-13.js └── code-tips-14.js └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = false -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Glaucia Lemos 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Code Tips Weekly 2 | 3 | [![Co-pia-de-Tutorial-Node-js-Express-com-Docker.jpg](https://i.postimg.cc/v8V8Gmbs/Co-pia-de-Tutorial-Node-js-Express-com-Docker.jpg)](https://postimg.cc/G9bnQd47) 4 | 5 | Toda semana dicas de código em JavaScript ou TypeScript. 6 | 7 | ## 🚀 Recursos Utilizados 8 | 9 | - **[TypeScript](https://www.typescriptlang.org/download)** 10 | - **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=javascript-36001-gllemos)** 11 | - **[Node.js](https://nodejs.org/en/)** 12 | - **[Extensão Visual Studio Code - Code Runner](https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner&WT.mc_id=javascript-36001-gllemos)** 13 | 14 | ## 💻 Códigos - Code Tips 15 | 16 | Abaixo vocês encontrarão todos os Code Tips que saem todas as quartas-feiras nas principais redes sociais! 17 | 18 | | Code Tip | Descrição | Código | Tweet | 19 | |---|---|---|---| 20 | | Code Tips #01 | Tuplas com Spread Operator com TypeScript | **[Code Tips #01](code-tips/code-tips-01.ts)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1417917256575619073)** | 21 | | Code Tips #02 | Uso do objeto 'Set' com Spread Operator com JavaScript | **[Code Tips #02](code-tips/code-tips-02.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1420373519930699779)** | 22 | | Code Tips #03 | Uso do método 'table' no console em JavaScript | **[Code Tips #03](code-tips/code-tips-03.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1422968142247120899)** | 23 | | Code Tips #04 | Uso do método 'fromEntries' em JavaScript | **[Code Tips #04](code-tips/code-tips-04.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1425464520642732036)** | 24 | | Code Tips #05 | Uso do método 'entries' em JavaScript | **[Code Tips #05](code-tips/code-tips-05.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1427993688307757062)** | 25 | | Code Tips #06 | Uso do método 'concat' em JavaScript | **[Code Tips #06](code-tips/code-tips-06.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1433819717463052302)** | 26 | | Code Tips #07 | Uso do método 'assign' em JavaScript | **[Code Tips #07](code-tips/code-tips-07.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1435610069425692675)** | 27 | | Code Tips #08 | Uso do método 'flat' em JavaScript | **[Code Tips #08](code-tips/code-tips-08.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1440705507056971776)** | 28 | | Code Tips #09 | Diferentes usos de arrays em JavaScript | **[Code Tips #09](code-tips/code-tips-09.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1448303109919416322)** | 29 | | Code Tips #10 | Uso de Tuplas (heterogêneas e homogêneas) | **[Code Tips #10](code-tips/code-tips-10.ts)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1450869515269591044)** | 30 | | Code Tips #11 | Uso do 'Array.fill()' em JavaScript | **[Code Tips #11](code-tips/code-tips-11.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1460977700538101766)** | 31 | | Code Tips #12 | Uso do método 'split()' em JavaScript | **[Code Tips #12](code-tips/code-tips-12.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1478749778225864711)** | 32 | | Code Tips #13 | Uso do método 'push()' em JavaScript | **[Code Tips #13](code-tips/code-tips-13.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1483835720238260227)** | 33 | | Code Tips #14 | Uso do método 'apply()' em JavaScript | **[Code Tips #14](code-tips/code-tips-14.js)** | **[Tweet](https://twitter.com/glaucia_lemos86/status/1486444634079469570)** | 34 | | Code Tips #15 | Teste | Teste | **[Tweet]()** | 35 | 36 | ## ❗️ Links & Recursos Importantes 37 | 38 | - ✅ **[Curso Grátis de Node.js](https://docs.microsoft.com/learn/paths/build-javascript-applications-nodejs/?WT.mc_id=javascript-36001-gllemos)** 39 | - ✅ **[Curso Grátis - TypeScript](https://docs.microsoft.com/pt-br/learn/paths/build-javascript-applications-typescript/?WT.mc_id=javascript-36001-gllemos)** 40 | - ✅ **[Curso Grátis - JavaScript](https://github.com/glaucia86/js-101-beginners-ms)** 41 | 42 | - ✅ **[Documentação Oficial do TypeScript](http://typescriptlang.org/docs/handbook/)** 43 | - ✅ **[TypeScript no Visual Studio Code](https://code.visualstudio.com/docs/languages/typescript?WT.mc_id=javascript-36001-gllemos)** 44 | - ✅ **[Compilando Códigos TypeScript no Vs Code](https://code.visualstudio.com/docs/typescript/typescript-compiling?WT.mc_id=javascript-36001-gllemos)** 45 | - ✅ **[Tutorial TypeScript no Vs Code](https://code.visualstudio.com/docs/typescript/typescript-tutorial?WT.mc_id=javascript-36001-gllemos)** 46 | 47 | ## ❓ Tenho Dúvidas... O que Faço?! 48 | 49 | Caso tenham dúvidas aos códigos desenvolvidos durante a série Code Tips, sintam-se à vontade em abrir uma **[ISSUE AQUI](https://github.com/glaucia86/code-tips-weekly/issues)**. Assim que possível, estaremos respondendo a todas as dúvidas que tiverem! 50 | 51 | 52 | -------------------------------------------------------------------------------- /code-tips/.gitignore: -------------------------------------------------------------------------------- 1 | .env -------------------------------------------------------------------------------- /code-tips/code-tips-01.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #01 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Uso de Tuplas com Spread Operator em TypeScript 9 | 10 | let frutas: [string, ...string[]] = ['🍎', '🍊', '🍌', '🍓', '🍏', '🍉']; 11 | console.log(...frutas); 12 | 13 | // ==> Resultado 14 | // 🍎 🍊 🍌 🍓 🍏 🍉 -------------------------------------------------------------------------------- /code-tips/code-tips-02.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #02 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Usando o objeto 'Set' com Spread Operator para remover valores 9 | // duplicados num determinado array 10 | 11 | const listaArray = ['🍩', '🍎', 2, '🍎', '🍩', 2, '🍩', '🍎', 2]; 12 | 13 | const listaArraySemValoresDuplicados = [... new Set(listaArray)]; 14 | 15 | console.log(listaArraySemValoresDuplicados); 16 | 17 | // ==> Resultado 18 | // [ '🍩', '🍎', 2 ] -------------------------------------------------------------------------------- /code-tips/code-tips-03.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #03 - TypeScript/JavaScript (todas as quartas-feiras dicas de código!) 3 | * Twitter: @glaucia_lemos86 4 | * Lintree: linktree.ee/glaucia_lemos86 5 | */ 6 | 7 | const pessoa01 = { nome: 'Glaucia', idade: 30, vacinado: true }; 8 | const pessoa02 = { nome: 'Jurema', idade: 40, vacinado: true }; 9 | const cachorro = { nome: 'Prince', idade: 1, vacinado: false }; 10 | 11 | console.table([pessoa01, pessoa02, cachorro]); 12 | 13 | //Resultado: 14 | /* 15 | ┌─────────┬───────────┬───────┬──────────┐ 16 | │ (index) │ nome │ idade │ vacinado │ 17 | ├─────────┼───────────┼───────┼──────────┤ 18 | │ 0 │ 'Glaucia' │ 30 │ true │ 19 | │ 1 │ 'Jurema' │ 40 │ true │ 20 | │ 2 │ 'Prince' │ 1 │ false │ 21 | └─────────┴───────────┴───────┴──────────┘ 22 | */ -------------------------------------------------------------------------------- /code-tips/code-tips-04.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #04 - TypeScript/JavaScript (todas as quartas-feiras dicas de código!) 3 | * Twitter: @glaucia_lemos86 4 | * Lintree: linktree.ee/glaucia_lemos86 5 | */ 6 | 7 | // ==> Uso do método 'fromEntries' 8 | 9 | // O método: Object.fromEntries() ajuda a converter um array com key pair 10 | // para objeto. (array -> object) 11 | 12 | const arrayAnimais = [ 13 | ['cachorro', '🐶'], 14 | ['gato', '🐱'], 15 | ['sapo', '🐸'], 16 | ]; 17 | 18 | const objetoAnimais = Object.fromEntries(arrayAnimais); 19 | console.log(objetoAnimais); 20 | 21 | /** 22 | * Resultado: 23 | * { cachorro: '🐶', gato: '🐱', sapo: '🐸' } 24 | */ 25 | -------------------------------------------------------------------------------- /code-tips/code-tips-05.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #05 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Uso do método: 'Object.entries' 9 | // server para converter de object para array 10 | 11 | // Objeto de animais 12 | const listaAnimais = { cachorro : '🐶', raposa: '🦊', ovelha: '🐏' }; 13 | 14 | // Usamos o 'Object.entries' para converter object -> array 15 | const arrayAnimais = Object.entries(listaAnimais); 16 | console.log(arrayAnimais); 17 | 18 | /** 19 | * Resultado: 20 | * [ [ 'cachorro', '🐶' ], [ 'raposa', '🦊' ], [ 'ovelha', '🐏' ] ] 21 | */ 22 | -------------------------------------------------------------------------------- /code-tips/code-tips-06.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #06 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Uso do método 'concat' 9 | // se precisar juntar dois arrays, basta usar o método 'concat' 10 | 11 | const arrayAnimais = [ 12 | ['cachorro', '🐶'], 13 | ['gato', '🐱'], 14 | ['sapo', '🐸'], 15 | ]; 16 | 17 | const arrayFrutas = [ 18 | ['uva', '🍇'], 19 | ['maca', '🍎'], 20 | ['banana', '🍌'] 21 | ]; 22 | 23 | const combinacaoArrays = arrayAnimais.concat(arrayFrutas); 24 | console.log(combinacaoArrays); 25 | /** 26 | *[ 27 | [ 'cachorro', '🐶' ], 28 | [ 'gato', '🐱' ], 29 | [ 'sapo', '🐸' ], 30 | [ 'uva', '🍇' ], 31 | [ 'maca', '🍎' ], 32 | [ 'banana', '🍌' ] 33 | ] 34 | */ -------------------------------------------------------------------------------- /code-tips/code-tips-07.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #07 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Uso do método 'Object.assign() & Spread Operator' 9 | // se você precisar mergear vários objetos em um só, basta usar o método 'assign' 10 | 11 | let pessoa = { 12 | nome: 'Glaucia', 13 | sobrenome: 'Lemos', 14 | idade: 34, 15 | contato: { 16 | twitter: '@glaucia_lemos86', 17 | email: 'glaucia.lemos@examplo.com' 18 | } 19 | }; 20 | 21 | let trabalho = { 22 | funcao: 'Cloud Advocate', 23 | empresa: 'Microsoft', 24 | localizacao: 'Brasil/USA' 25 | }; 26 | 27 | const mergeObjetos = Object.assign(pessoa, trabalho); 28 | console.log(mergeObjetos); 29 | 30 | // ==> Usando spread operator! 31 | 32 | let pessoa = { 33 | nome: 'Glaucia', 34 | sobrenome: 'Lemos', 35 | idade: 34, 36 | contato: { 37 | twitter: '@glaucia_lemos86', 38 | email: 'glaucia.lemos@examplo.com' 39 | } 40 | }; 41 | 42 | let trabalho = { 43 | funcao: 'Cloud Advocate', 44 | empresa: 'Microsoft', 45 | localizacao: 'Brasil/USA' 46 | }; 47 | 48 | let pessoaFuncionario = { ...pessoa, ...trabalho }; 49 | console.log(pessoaFuncionario); 50 | 51 | -------------------------------------------------------------------------------- /code-tips/code-tips-08.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #08 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Uso do método: 'flat' 9 | 10 | /** 11 | * O método flat() cria um novo array com todos elementos sub-arrays 12 | * concatenados nele de forma recursiva até a profundidade especificada. 13 | */ 14 | 15 | // ==> Exemplo 01: Uso do flat com Infinity 16 | const numbers = [1, 2, [3, 4, 5, [6, 7, [8, 9]]]].flat(Infinity); 17 | 18 | console.log(numbers); 19 | 20 | // ==> Resultado: 21 | // [1, 2, 3, 4, 5, 6, 7, 8, 9] 22 | 23 | // ==> Exemplo 02: uso simples do 'flat' 24 | const vaca = ["🐮", ["🐮", "🐮"], ["🐮", "🐮"], [[["🥛"]]]]; 25 | const copoLeite = vaca.flat(3) 26 | 27 | console.log(copoLeite); 28 | 29 | // ==> Resultado: 30 | // [ '🐮', '🐮', '🐮', '🐮', '🐮', '🥛' ] 31 | 32 | 33 | -------------------------------------------------------------------------------- /code-tips/code-tips-09.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #09 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Inúmeros usos de arrays com os métodos: 9 | 10 | const array1 = ['🐼', '🦀', '🦊'].find(x => x == '🦊'); 11 | console.log(array1); 12 | // ==> Resultado: 🦊 13 | 14 | const array2 = ['🐼', '🦀', '🦊'].findIndex(x => x == '🦊'); 15 | console.log(array2); 16 | // ==> Resultado: 2 17 | 18 | const array3 = ['🐼', '🦀', '🦊'].map(x => x == '🦊' ? "🐸" : x); 19 | console.log(array3); 20 | // ==> Resultado: [ '🐼', '🦀', '🐸' ] 21 | 22 | const array4 = ['🐼', '🦀', '🦊'].filter(x => x == '🦊'); 23 | console.log(array4); 24 | // ==> Resultado: [ '🦊' ] 25 | 26 | const array5 = ['🐼', '🦀', '🦊'].reduce((x, y) => x + y) 27 | console.log(array5); 28 | // ==> Resultado: 🐼🦀🦊 29 | 30 | -------------------------------------------------------------------------------- /code-tips/code-tips-10.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #10 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Exemplo 01 - Exemplo de Tuplas (lista heterogênea) 9 | 10 | let listFruitsTupleMixed: [string, ...string[], number] = ['🍍', '🍊', '🍎', '🍉', '🥭', 5]; 11 | console.log(...listFruitsTupleMixed); 12 | // Resultado: 🍍 🍊 🍎 🍉 🥭 5 13 | 14 | 15 | // ==> Exemplo 02 - Exemplo de Arrays (lista homogênea) 16 | 17 | let listFruitsArrayFixed: string[] = ['🍍', '🍊', '🍎', '🍉', '🥭']; 18 | console.log(listFruitsArrayFixed); 19 | // Resultado: 🍍 🍊 🍎 🍉 🥭 20 | -------------------------------------------------------------------------------- /code-tips/code-tips-11.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #11 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> Uso do: Array.fill 9 | 10 | // ==> O método fill() preenche todos os valores do array a partir do 11 | // índice inicial a um índice final com um valor estático. 12 | 13 | let plantarCenouras = ['🌱', '🌱', '🌱', '🌱', '🌱']; 14 | plantarCenouras.fill('🥕', 1, 4); 15 | 16 | console.log(plantarCenouras); 17 | 18 | // ==> Resultado: 19 | // [ '🌱', '🥕', '🥕', '🥕', '🌱' ] 20 | 21 | 22 | -------------------------------------------------------------------------------- /code-tips/code-tips-12.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #12 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> split() 9 | /** 10 | * Este método divide sua string em substrings separadas. 11 | */ 12 | 13 | // ==> Exemplo 01: uso simples do uso do método split() 14 | 15 | let nome = 'Glaucia Lemos'; 16 | let substrings = nome.split(' '); 17 | 18 | console.log(substrings); 19 | 20 | // ==> Resultado: 21 | // [ 'Glaucia', 'Lemos' ] 22 | 23 | 24 | // ==> Exemplo 02: usando o split() para expressões regulares 25 | 26 | let data = "05-01-2022"; 27 | dataArray = data.split(/[.,\/ -]/); 28 | 29 | console.log(dataArray); 30 | // ==> Resultado: 31 | // [ '05', '01', '2022' ] -------------------------------------------------------------------------------- /code-tips/code-tips-13.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #13 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> push() 9 | 10 | /** 11 | * Este método adiciona um ou mais elementos ao final de um determinado 12 | * array e retorna o novo comprimento desse array 13 | */ 14 | 15 | // ==> Exemplo 01: uso simples do uso do método push() 16 | 17 | let numeros = ['1️⃣', '2️⃣', '3️⃣', '4️⃣']; 18 | numeros.push('5️⃣'); 19 | 20 | console.log(numeros); 21 | // ==> Resultado: 22 | // [ '1️⃣', '2️⃣', '3️⃣', '4️⃣', '5️⃣' ] -------------------------------------------------------------------------------- /code-tips/code-tips-14.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Code Tips #14 - TypeScript/JavaScript 3 | * (todas as quartas-feiras dicas de código!) 4 | * Twitter: @glaucia_lemos86 5 | * Lintree: linktree.ee/glaucia_lemos86 6 | */ 7 | 8 | // ==> apply() 9 | 10 | /** 11 | * O método apply() adiciona todos os elementos em um segundo array. 12 | */ 13 | 14 | // ==> Exemplo 01: Fusão de dois Arrays! 15 | 16 | let comidaSaudavel = ['🌽', '🥑', '🍄'] 17 | let vegetais = ['🥦', '🥕', '🥔'] 18 | 19 | 20 | Array.prototype.push.apply(comidaSaudavel, vegetais); 21 | console.log(comidaSaudavel); 22 | // ==> Resultado: 23 | // [ '🌽', '🥑', '🍄', '🥦', '🥕', '🥔' ] 24 | 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Basic Options */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | "target": "ES2019", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ 8 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ 9 | // "lib": [], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, /* Allow javascript files to be compiled. */ 11 | // "checkJs": true, /* Report errors in .js files. */ 12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ 13 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 15 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | // "outDir": "./", /* Redirect output structure to the directory. */ 18 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 19 | // "composite": true, /* Enable project compilation */ 20 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 21 | // "removeComments": true, /* Do not emit comments to output. */ 22 | // "noEmit": true, /* Do not emit outputs. */ 23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 24 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 26 | 27 | /* Strict Type-Checking Options */ 28 | "strict": true, /* Enable all strict type-checking options. */ 29 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 30 | // "strictNullChecks": true, /* Enable strict null checks. */ 31 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 32 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 33 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 34 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 35 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 36 | 37 | /* Additional Checks */ 38 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 41 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 42 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 43 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ 44 | // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ 45 | 46 | /* Module Resolution Options */ 47 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 48 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 49 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 50 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 51 | // "typeRoots": [], /* List of folders to include type definitions from. */ 52 | // "types": [], /* Type declaration files to be included in compilation. */ 53 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 54 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 55 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 56 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 57 | 58 | /* Source Map Options */ 59 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 60 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 61 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 62 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 63 | 64 | /* Experimental Options */ 65 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 66 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 67 | 68 | /* Advanced Options */ 69 | "skipLibCheck": true, /* Skip type checking of declaration files. */ 70 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 71 | } 72 | } 73 | --------------------------------------------------------------------------------