mirror of
				https://github.com/Brandon-Rozek/website.git
				synced 2025-10-31 13:51:13 +00:00 
			
		
		
		
	Editing CLI flags
This commit is contained in:
		
							parent
							
								
									dab1d571f6
								
							
						
					
					
						commit
						cc39b742d1
					
				
					 1 changed files with 11 additions and 4 deletions
				
			
		|  | @ -18,26 +18,33 @@ npm install -g typescript | ||||||
| Typecheck a file: | Typecheck a file: | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| tsc --checkJs --allowJs example.js --outfile /dev/null | tsc --checkJs --allowJs example.js --noEmit | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| | Flag        | Description                                             | | | Flag        | Description                                             | | ||||||
| | ----------- | ------------------------------------------------------- | | | ----------- | ------------------------------------------------------- | | ||||||
| | `--checkJs` | Allow JavaScript files to be a part of your program.    | | | `--checkJs` | Allow JavaScript files to be a part of your program.    | | ||||||
| | `--allowJs` | Enable error reporting in type-checked JavaScript files | | | `--allowJs` | Enable error reporting in type-checked JavaScript files | | ||||||
|  | | `--noEmit`  | Disable emitting files from a compilation.              | | ||||||
| 
 | 
 | ||||||
| Since `tsc` is primarily a compiler, it will produce code output. We're only concerned with seeing if there's any type errors, so we throw away the compiled code by writing to `/dev/null`. | Since `tsc` is primarily a compile, it by default produces code output. | ||||||
|  | We're only concerned with seeing any type errors, so we throw away | ||||||
|  | the compiled code with the flag `--noEmit`.[^1] | ||||||
|  | 
 | ||||||
|  | [^1]: In an earlier version of this post, I had `--outfile /dev/null` instead of `--noEmit`. | ||||||
|  | [Veyndan](https://veyndan.com/) kindly reached out and showed how the `--noEmit` flag is | ||||||
|  | more flexible in allowing for exported classes.  | ||||||
| 
 | 
 | ||||||
| Now it's likely that we're using features of the standard library or the DOM in our Javascript code. We need to include a couple flags for Typescript to understand them. | Now it's likely that we're using features of the standard library or the DOM in our Javascript code. We need to include a couple flags for Typescript to understand them. | ||||||
| 
 | 
 | ||||||
| | Flag       | Description                                                  | | | Flag       | Description                                                  | | ||||||
| | ---------- | ------------------------------------------------------------ | | | ---------- | ------------------------------------------------------------ | | ||||||
| | `--target` | Set the JavaScript language version for emitted JavaScript and include compatible library declarations. | | | `--target` | Set the JavaScript language version for emitted JavaScript and include compatible library declarations. | | ||||||
| | `--lib`    | Specify a set of bundled library declaration files that describe the target runtime environment | | | `--lib`    | Specify a set of bundled library declaration files that describe the target runtime environment. | | ||||||
| 
 | 
 | ||||||
| You can see `tsc --help`for the long list of options. Here's an example for targetting `ES2022` with the DOM library. | You can see `tsc --help`for the long list of options. Here's an example for targetting `ES2022` with the DOM library. | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| tsc --checkJs --allowJs --target es2022 --lib es2022,dom example.js --outfile /dev/null | tsc --checkJs --allowJs --target es2022 --lib es2022,dom example.js --noEmit | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue