mirror of
				https://github.com/actions-rs/cargo.git
				synced 2025-10-31 09:33:51 +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