<?xml version="1.0" encoding="utf-8"?>
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule Name="TypeScriptBuild" DisplayName="TypeScript 빌드" PageTemplate="generic" Description="TypeScript 빌드" xmlns="http://schemas.microsoft.com/build/2009/properties">

  <Rule.Categories>
    <Category Name="TypeScriptBuild" DisplayName="TypeScript 빌드"/>
  </Rule.Categories>

  <Rule.DataSource>
    <DataSource Persistence="ProjectFile" Label="Configuration"/>
  </Rule.DataSource>

  <DynamicEnumProperty Name="TypeScriptToolsVersion" DisplayName="TypeScript 버전" Category="TypeScriptBuild" Description="사용하는 TypeScript 컴파일러 버전" EnumProvider="AvailableTypeScriptVersions"/>

  <EnumProperty Name="TypeScriptTarget" DisplayName="ECMAScript 버전" Category="TypeScriptBuild" Description="JavaScript를 생성하는 데 사용할 ECMAScript 버전">
    <EnumValue Name="ES3" DisplayName="ECMAScript 3"/>
    <EnumValue Name="ES5" DisplayName="ECMAScript 5"/>
    <EnumValue Name="ES6" DisplayName="ECMAScript 6"/>
    <EnumValue Name="ES2016" DisplayName="ECMAScript 2016"/>
    <EnumValue Name="ES2017" DisplayName="ECMAScript 2017"/>
    <EnumValue Name="ESNext" DisplayName="ECMAScript Next"/>
  </EnumProperty>

  <EnumProperty Name="TypeScriptCompileOnSaveEnabled" DisplayName="저장 시 컴파일" Category="TypeScriptBuild" Description="저장 시 소스 다시 컴파일">
    <EnumValue Name="true" DisplayName="예"/>
    <EnumValue Name="false" DisplayName="아니요"/>
  </EnumProperty>

  <EnumProperty Name="TypeScriptNoImplicitAny" DisplayName="암시적인 'any' 형식 허용" Category="TypeScriptBuild" Description="암시적인 Any 형식이 있는 식 및 선언에 경고 표시 안 함">
    <EnumValue Name="false" DisplayName="예"/>
    <EnumValue Name="true" DisplayName="아니요"/>
  </EnumProperty>

  <EnumProperty Name="TypeScriptModuleKind" DisplayName="모듈 시스템" Category="TypeScriptBuild" Description="외부 모듈 코드 생성 대상">
    <EnumValue Name="none" DisplayName="없음"/>
    <EnumValue Name="amd" DisplayName="AMD"/>
    <EnumValue Name="commonjs" DisplayName="CommonJS"/>
    <EnumValue Name="umd" DisplayName="UMD"/>
    <EnumValue Name="system" DisplayName="시스템"/>
  </EnumProperty>

  <EnumProperty Name="TypeScriptRemoveComments" DisplayName="JavaScript 출력에 주석 유지" Category="TypeScriptBuild" Description="출력에 주석 내보내기">
    <EnumValue Name="false" DisplayName="예"/>
    <EnumValue Name="true" DisplayName="아니요"/>
  </EnumProperty>

  <StringProperty Name="TypeScriptOutFile" DisplayName="JavaScript 출력을 파일에 결합" Category="TypeScriptBuild" Description="출력을 파일에 리디렉션"/>

  <StringProperty Name="TypeScriptOutDir" DisplayName="JavaScript 출력을 디렉터리에 리디렉션" Category="TypeScriptBuild" Description="출력을 소스 이외의 다른 디렉터리에 리디렉션"/>

  <EnumProperty Name="TypeScriptGeneratesDeclarations" DisplayName="선언 파일 생성" Category="TypeScriptBuild" Description="해당하는 d.ts 파일 생성">
    <EnumValue Name="true" DisplayName="예"/>
    <EnumValue Name="false" DisplayName="아니요"/>
  </EnumProperty>

  <EnumProperty Name="TypeScriptSourceMap" DisplayName="소스 맵 생성" Category="TypeScriptBuild" Description="해당하는 .map 파일 생성">
    <EnumValue Name="true" DisplayName="예"/>
    <EnumValue Name="false" DisplayName="아니요"/>
  </EnumProperty>

  <StringProperty Name="TypeScriptMapRoot" DisplayName="소스 맵의 루트 디렉터리 지정" Category="TypeScriptBuild" Description="soucemap을 디버깅하는 동안 해당 sourcemap을 내보내면 sourcemap 루트에 배치됩니다."/>

  <StringProperty Name="TypeScriptSourceRoot" DisplayName="TypeScript 파일의 루트 디렉터리 지정" Category="TypeScriptBuild" Description="소스를 디버깅하는 동안 해당 sourcemap을 내보내면 소스 루트에 배치됩니다."/>

  <EnumProperty Name="TypeScriptNoEmitOnError" DisplayName="오류 시 내보내기" Category="TypeScriptBuild" Description="오류가 보고되면 출력을 내보냅니다.">
    <EnumValue Name="true" DisplayName="아니요"/>
    <EnumValue Name="false" DisplayName="예"/>
  </EnumProperty>

  <EnumProperty Name="TypeScriptJSXEmit" DisplayName=".tsx 파일의 컴파일 모드" Category="TypeScriptBuild" Description=".tsx 파일의 JSX 코드 컴파일 모드를 지정합니다. 이는 .ts 파일에 영향을 주지 않습니다.">
    <EnumValue Name="none" DisplayName="없음"/>
    <EnumValue Name="preserve" DisplayName="JSX 요소 보존"/>
    <EnumValue Name="react" DisplayName="JSX 요소에 대한 대응 호출 내보내기"/>
  </EnumProperty>
</Rule>
