mirror of
				https://github.com/actions-rs/cargo.git
				synced 2025-10-31 03:13:49 +00:00 
			
		
		
		
	Initial commit
This commit is contained in:
		
						commit
						7562f78615
					
				
							
								
								
									
										11
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| root = true | ||||
| 
 | ||||
| [*] | ||||
| charset = utf-8 | ||||
| end_of_line = lf | ||||
| insert_final_newline = true | ||||
| max_line_length = 80 | ||||
| indent_size =  4 | ||||
| 
 | ||||
| [*.yml] | ||||
| indent_size = 2 | ||||
							
								
								
									
										91
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,91 @@ | ||||
| __tests__/runner/* | ||||
| 
 | ||||
| # Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore | ||||
| # Logs | ||||
| logs | ||||
| *.log | ||||
| npm-debug.log* | ||||
| yarn-debug.log* | ||||
| yarn-error.log* | ||||
| lerna-debug.log* | ||||
| 
 | ||||
| # Diagnostic reports (https://nodejs.org/api/report.html) | ||||
| report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||||
| 
 | ||||
| # Runtime data | ||||
| pids | ||||
| *.pid | ||||
| *.seed | ||||
| *.pid.lock | ||||
| 
 | ||||
| # Directory for instrumented libs generated by jscoverage/JSCover | ||||
| lib-cov | ||||
| 
 | ||||
| # Coverage directory used by tools like istanbul | ||||
| coverage | ||||
| *.lcov | ||||
| 
 | ||||
| # nyc test coverage | ||||
| .nyc_output | ||||
| 
 | ||||
| # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||||
| .grunt | ||||
| 
 | ||||
| # Bower dependency directory (https://bower.io/) | ||||
| bower_components | ||||
| 
 | ||||
| # node-waf configuration | ||||
| .lock-wscript | ||||
| 
 | ||||
| # Compiled binary addons (https://nodejs.org/api/addons.html) | ||||
| build/Release | ||||
| 
 | ||||
| # Dependency directories | ||||
| node_modules/ | ||||
| jspm_packages/ | ||||
| 
 | ||||
| # TypeScript v1 declaration files | ||||
| typings/ | ||||
| 
 | ||||
| # TypeScript cache | ||||
| *.tsbuildinfo | ||||
| 
 | ||||
| # Optional npm cache directory | ||||
| .npm | ||||
| 
 | ||||
| # Optional eslint cache | ||||
| .eslintcache | ||||
| 
 | ||||
| # Optional REPL history | ||||
| .node_repl_history | ||||
| 
 | ||||
| # Output of 'npm pack' | ||||
| *.tgz | ||||
| 
 | ||||
| # Yarn Integrity file | ||||
| .yarn-integrity | ||||
| 
 | ||||
| # dotenv environment variables file | ||||
| .env | ||||
| .env.test | ||||
| 
 | ||||
| # parcel-bundler cache (https://parceljs.org/) | ||||
| .cache | ||||
| 
 | ||||
| # next.js build output | ||||
| .next | ||||
| 
 | ||||
| # nuxt.js build output | ||||
| .nuxt | ||||
| 
 | ||||
| # vuepress build output | ||||
| .vuepress/dist | ||||
| 
 | ||||
| # Serverless directories | ||||
| .serverless/ | ||||
| 
 | ||||
| # FuseBox cache | ||||
| .fusebox/ | ||||
| 
 | ||||
| # DynamoDB Local files | ||||
| .dynamodb/ | ||||
							
								
								
									
										22
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| 
 | ||||
| The MIT License (MIT) | ||||
| 
 | ||||
| Copyright (c) 2019 actions-rs team and contributors | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in | ||||
| all copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| THE SOFTWARE. | ||||
							
								
								
									
										36
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| # Rust `cargo` Action | ||||
| 
 | ||||
| This GitHub Action runs specified [`cargo`](https://github.com/rust-lang/cargo) | ||||
| command on a Rust language project. | ||||
| 
 | ||||
| ## Example workflow | ||||
| 
 | ||||
| ```yaml | ||||
| on: [push] | ||||
| 
 | ||||
| name: CI | ||||
| 
 | ||||
| jobs: | ||||
|   build_and_test: | ||||
|     name: Rust project | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/checkout@master | ||||
|       - uses: actions-rs/cargo@v1 | ||||
|         with: | ||||
|           command: build | ||||
|           toolchain: nightly | ||||
|           arguments: --release --all-features | ||||
|       - uses: actions-rs/cargo@v1 | ||||
|         with: | ||||
|           command: test | ||||
|           toolchain: nightly | ||||
|           arguments: --all-targets | ||||
| ``` | ||||
| 
 | ||||
| ## Inputs | ||||
| 
 | ||||
| * `command` (*required*) - Cargo command to run (ex. `check` or `build`) | ||||
| * `toolchain` - Rust toolchain to use (without the `+` sign, ex. `nightly`) | ||||
| * `args` - Arguments for the cargo command | ||||
| * `use-cross` - Use [cross](https://github.com/rust-embedded/cross) instead of cargo (default: `false`) | ||||
							
								
								
									
										31
									
								
								__tests__/args.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								__tests__/args.test.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| import * as args from '../src/args' | ||||
| 
 | ||||
| const testEnvVars = { | ||||
|     INPUT_COMMAND: 'build', | ||||
|     INPUT_ARGS: '--release --target x86_64-unknown-linux-gnu --no-default-features --features unstable', | ||||
|     'INPUT_USE-CROSS': 'true', | ||||
|     INPUT_TOOLCHAIN: '+nightly' | ||||
| } | ||||
| 
 | ||||
| describe('actions-rs/check', () => { | ||||
|     beforeEach(() => { | ||||
|     for (const key in testEnvVars) | ||||
|         process.env[key] = testEnvVars[key as keyof typeof testEnvVars] | ||||
|     }) | ||||
| 
 | ||||
|     it('Parses action input into cargo input', async () => { | ||||
|         const result = args.parse(); | ||||
| 
 | ||||
|         expect(result.command).toBe('build'); | ||||
|         expect(result.args).toStrictEqual([ | ||||
|             '--release', | ||||
|             '--target', | ||||
|             'x86_64-unknown-linux-gnu', | ||||
|             '--no-default-features', | ||||
|             '--features', | ||||
|             'unstable' | ||||
|         ]); | ||||
|         expect(result.useCross).toBe(true); | ||||
|         expect(result.toolchain).toBe('nightly'); | ||||
|     }); | ||||
| }); | ||||
							
								
								
									
										23
									
								
								action.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								action.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| name: 'cargo' | ||||
| description: 'Run cargo command' | ||||
| author: 'actions-rs team' | ||||
| branding: | ||||
|   icon: play-circle | ||||
|   color: black | ||||
| inputs: | ||||
|   command: | ||||
|     description: Cargo command to run (ex. `check` or `build`) | ||||
|     required: true | ||||
|   toolchain: | ||||
|     description: Toolchain to use (without the `+` sign, ex. `nightly`) | ||||
|     required: false | ||||
|   args: | ||||
|     description: Arguments for the cargo command | ||||
|     required: false | ||||
|   use-cross: | ||||
|     description: Use cross instead of cargo | ||||
|     default: false | ||||
| 
 | ||||
| runs: | ||||
|   using: 'node12' | ||||
|   main: 'dist/index.js' | ||||
							
								
								
									
										1
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										11
									
								
								jest.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								jest.config.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| module.exports = { | ||||
|   clearMocks: true, | ||||
|   moduleFileExtensions: ['js', 'ts'], | ||||
|   testEnvironment: 'node', | ||||
|   testMatch: ['**/*.test.ts'], | ||||
|   testRunner: 'jest-circus/runner', | ||||
|   transform: { | ||||
|     '^.+\\.ts$': 'ts-jest' | ||||
|   }, | ||||
|   verbose: true | ||||
| } | ||||
							
								
								
									
										4941
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										4941
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										44
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| { | ||||
|     "name": "cargo", | ||||
|     "version": "0.1.0", | ||||
|     "private": false, | ||||
|     "description": "Run cargo command", | ||||
|     "main": "lib/main.js", | ||||
|     "directories": { | ||||
|         "lib": "lib", | ||||
|         "test": "__tests__" | ||||
|     }, | ||||
|     "scripts": { | ||||
|         "build": "ncc build src/main.ts --minify", | ||||
|         "watch": "ncc build src/main.ts --watch --minify", | ||||
|         "test": "jest" | ||||
|     }, | ||||
|     "repository": { | ||||
|         "type": "git", | ||||
|         "url": "git+https://github.com/actions-rs/cargo.git" | ||||
|     }, | ||||
|     "keywords": [ | ||||
|         "actions", | ||||
|         "rust", | ||||
|         "cargo" | ||||
|     ], | ||||
|     "author": "actions-rs", | ||||
|     "license": "MIT", | ||||
|     "bugs": { | ||||
|         "url": "https://github.com/actions-rs/cargo/issues" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@actions/core": "^1.0.0", | ||||
|         "@actions/exec": "^1.0.0", | ||||
|         "@actions/io": "^1.0.0" | ||||
|     }, | ||||
|     "devDependencies": { | ||||
|         "@types/jest": "^24.0.13", | ||||
|         "@types/node": "^12.7.5", | ||||
|         "@zeit/ncc": "^0.20.5", | ||||
|         "jest": "^24.9.0", | ||||
|         "jest-circus": "^24.9.0", | ||||
|         "ts-jest": "^24.0.2", | ||||
|         "typescript": "^3.5.1" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										138
									
								
								src/input.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								src/input.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,138 @@ | ||||
| /** | ||||
|  * Parse action input into a some proper thing. | ||||
|  */ | ||||
| 
 | ||||
| import * as core from '@actions/core'; | ||||
| import * as exec from '@actions/exec'; | ||||
| import * as exec_tr from '@actions/exec/lib/toolrunner'; | ||||
| 
 | ||||
| // Workaround for a GH bug: https://github.com/actions/toolkit/issues/127
 | ||||
| //
 | ||||
| // For input `all-features: true` it will generate the `INPUT_ALL-FEATURES: true`
 | ||||
| // env variable, which looks too weird.
 | ||||
| // Here we are trying to get proper name `INPUT_NO_DEFAULT_FEATURES` first,
 | ||||
| // and if it does not exist, trying the `INPUT_NO-DEFAULT-FEATURES`
 | ||||
| function getInput(name: string): string { | ||||
|     const inputFullName = name.replace(/-/g, '_'); | ||||
|     let value = core.getInput(inputFullName); | ||||
|     if (value.length > 0) { | ||||
|         return value | ||||
|     } | ||||
| 
 | ||||
|     return core.getInput(name) | ||||
| } | ||||
| 
 | ||||
| function getInputBool(name: string): boolean { | ||||
|     const value = getInput(name); | ||||
|     if (value && (value == 'true' || value == '1')) { | ||||
|         return true; | ||||
|     } else { | ||||
|         return false; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Parsed action input
 | ||||
| export interface Input { | ||||
|     command: string, | ||||
|     toolchain?: string, | ||||
|     args: string[], | ||||
|     useCross: boolean, | ||||
| } | ||||
| 
 | ||||
| export function parse(): Input { | ||||
|     const command = getInput('command'); | ||||
|     const args = exec_tr.argStringToArray(getInput('args')); | ||||
|     let toolchain = getInput('toolchain'); | ||||
|     if (toolchain.startsWith('+')) { | ||||
|         toolchain = toolchain.slice(1); | ||||
|     } | ||||
|     const useCross = getInputBool('use-cross'); | ||||
| 
 | ||||
|     return { | ||||
|         command: command, | ||||
|         args: args, | ||||
|         useCross: useCross, | ||||
|         toolchain: toolchain || undefined | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // import * as core from '@actions/core';
 | ||||
| //
 | ||||
| // // Workaround for a GH bug: https://github.com/actions/toolkit/issues/127
 | ||||
| // //
 | ||||
| // // For input `all-features: true` it will generate the `INPUT_ALL-FEATURES: true`
 | ||||
| // // env variable, which looks too weird.
 | ||||
| // // Here we are trying to get proper name `INPUT_NO_DEFAULT_FEATURES` first,
 | ||||
| // // and if it does not exist, trying the `INPUT_NO-DEFAULT-FEATURES`
 | ||||
| // function getInput(name: string): string {
 | ||||
| //     const inputFullName = name.replace(/-/g, '_');
 | ||||
| //     let value = core.getInput(inputFullName);
 | ||||
| //     if (value.length > 0) {
 | ||||
| //         return value
 | ||||
| //     }
 | ||||
| //
 | ||||
| //     return core.getInput(name)
 | ||||
| // }
 | ||||
| //
 | ||||
| // function inputFlag(name: string): string | null {
 | ||||
| //     const value = getInput(name);
 | ||||
| //     if (value == 'true' || value == '1') {
 | ||||
| //         return `--${name}`;
 | ||||
| //     }
 | ||||
| //
 | ||||
| //     return null;
 | ||||
| // }
 | ||||
| //
 | ||||
| // function inputString(name: string): string | null {
 | ||||
| //     const value = getInput(name);
 | ||||
| //     if (value.length > 0) {
 | ||||
| //         return `--${name}=${value}`;
 | ||||
| //     }
 | ||||
| //
 | ||||
| //     return null
 | ||||
| // }
 | ||||
| //
 | ||||
| // const INPUT_GENERATOR: Array<() => string | null> = [
 | ||||
| //     () => inputFlag('quiet'),
 | ||||
| //     () => inputString('package'),
 | ||||
| //     () => inputFlag('all'),
 | ||||
| //     () => inputString('exclude'),
 | ||||
| //     () => inputFlag('lib'),
 | ||||
| //     () => inputString('bin'),
 | ||||
| //     () => inputFlag('bins'),
 | ||||
| //     () => inputString('example'),
 | ||||
| //     () => inputFlag('examples'),
 | ||||
| //     () => inputString('test'),
 | ||||
| //     () => inputFlag('tests'),
 | ||||
| //     () => inputString('bench'),
 | ||||
| //     () => inputFlag('benches'),
 | ||||
| //     () => inputFlag('all-targets'),
 | ||||
| //     () => inputFlag('release'),
 | ||||
| //     () => inputString('profile'),
 | ||||
| //     () => inputString('features'),
 | ||||
| //     () => inputFlag('all-features'),
 | ||||
| //     () => inputFlag('no-default-features'),
 | ||||
| //     () => inputString('target'),
 | ||||
| //     () => inputString('target-dir'),
 | ||||
| //     () => inputString('manifest-path'),
 | ||||
| //     () => inputFlag('frozen'),
 | ||||
| //     () => inputFlag('locked')
 | ||||
| // ];
 | ||||
| //
 | ||||
| // // All `cargo check` args are optional,
 | ||||
| // // but we need to do some validation at least
 | ||||
| // export function check_args(): string[] {
 | ||||
| //     let args: string[] = ['check'];
 | ||||
| //     for (const caller of INPUT_GENERATOR) {
 | ||||
| //         const arg = caller();
 | ||||
| //         if (arg == null) {
 | ||||
| //             continue
 | ||||
| //         } else {
 | ||||
| //             args.push(arg);
 | ||||
| //         }
 | ||||
| //     }
 | ||||
| //
 | ||||
| //     return args
 | ||||
| // }
 | ||||
							
								
								
									
										47
									
								
								src/main.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/main.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| import * as core from '@actions/core'; | ||||
| import * as exec from '@actions/exec'; | ||||
| import * as io from '@actions/io'; | ||||
| 
 | ||||
| import * as input from './input'; | ||||
| 
 | ||||
| async function getCross(): Promise<string> { | ||||
|     try { | ||||
|         return await io.which('cross', true); | ||||
|     } catch (error) { | ||||
|         core.warning('Unable to find cross, installing it now'); | ||||
|     } | ||||
| 
 | ||||
|     try { | ||||
|         await exec.exec('cargo', ['install', 'cross']); | ||||
|     } catch (error) { | ||||
|         core.setFailed(error.message); | ||||
|     } | ||||
| 
 | ||||
|     return 'cross'; | ||||
| } | ||||
| 
 | ||||
| async function run() { | ||||
|     const actionInput = input.parse(); | ||||
| 
 | ||||
|     let program; | ||||
|     if (actionInput.useCross) { | ||||
|         program = await getCross(); | ||||
|     } else { | ||||
|         program = 'cargo'; | ||||
|     } | ||||
| 
 | ||||
|     let args: string[] = []; | ||||
|     if (actionInput.toolchain) { | ||||
|         args.push(`+${actionInput.toolchain}`); | ||||
|     } | ||||
| 
 | ||||
|     args = args.concat(actionInput.args); | ||||
| 
 | ||||
|     try { | ||||
|         await exec.exec(program, args); | ||||
|     } catch (error) { | ||||
|         core.setFailed(error.message); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| run(); | ||||
							
								
								
									
										63
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,63 @@ | ||||
| { | ||||
|   "compilerOptions": { | ||||
|     /* Basic Options */ | ||||
|     // "incremental": true,                   /* Enable incremental compilation */ | ||||
|     "target": "es6",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ | ||||
|     "module": "commonjs",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ | ||||
|     // "allowJs": true,                       /* Allow javascript files to be compiled. */ | ||||
|     // "checkJs": true,                       /* Report errors in .js files. */ | ||||
|     // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ | ||||
|     // "declaration": true,                   /* Generates corresponding '.d.ts' file. */ | ||||
|     // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */ | ||||
|     // "sourceMap": true,                     /* Generates corresponding '.map' file. */ | ||||
|     // "outFile": "./",                       /* Concatenate and emit output to single file. */ | ||||
|     "outDir": "./lib",                        /* Redirect output structure to the directory. */ | ||||
|     "rootDir": "./src",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ | ||||
|     // "composite": true,                     /* Enable project compilation */ | ||||
|     // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */ | ||||
|     // "removeComments": true,                /* Do not emit comments to output. */ | ||||
|     // "noEmit": true,                        /* Do not emit outputs. */ | ||||
|     // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */ | ||||
|     // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ | ||||
|     // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ | ||||
| 
 | ||||
|     /* Strict Type-Checking Options */ | ||||
|     "strict": true,                           /* Enable all strict type-checking options. */ | ||||
|     "noImplicitAny": false,                 /* Raise error on expressions and declarations with an implied 'any' type. */ | ||||
|     // "strictNullChecks": true,              /* Enable strict null checks. */ | ||||
|     // "strictFunctionTypes": true,           /* Enable strict checking of function types. */ | ||||
|     // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ | ||||
|     // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */ | ||||
|     // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */ | ||||
|     // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */ | ||||
| 
 | ||||
|     /* Additional Checks */ | ||||
|     // "noUnusedLocals": true,                /* Report errors on unused locals. */ | ||||
|     // "noUnusedParameters": true,            /* Report errors on unused parameters. */ | ||||
|     // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */ | ||||
|     // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */ | ||||
| 
 | ||||
|     /* Module Resolution Options */ | ||||
|     // "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ | ||||
|     // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */ | ||||
|     // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ | ||||
|     // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */ | ||||
|     // "typeRoots": [],                       /* List of folders to include type definitions from. */ | ||||
|     // "types": [],                           /* Type declaration files to be included in compilation. */ | ||||
|     // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ | ||||
|     "esModuleInterop": true                   /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ | ||||
|     // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */ | ||||
|     // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */ | ||||
| 
 | ||||
|     /* Source Map Options */ | ||||
|     // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */ | ||||
|     // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */ | ||||
|     // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */ | ||||
|     // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ | ||||
| 
 | ||||
|     /* Experimental Options */ | ||||
|     // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */ | ||||
|     // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */ | ||||
|   }, | ||||
|   "exclude": ["node_modules", "**/*.test.ts"] | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user