File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ bin /*
2+ node_modules /*
Original file line number Diff line number Diff line change 1+ # jsx-demo
2+
3+ ## Overview
4+ A demo project for showing off JSX in TypeScript
5+
6+ ## Install dependencies
7+ ```
8+ npm install
9+ ```
10+
11+ ## Compile
12+ ```
13+ node node_modules/typescript/bin/tsc
14+ ```
15+
16+ ## Start http server
17+ ```
18+ node node_modules/http-server/bin/http-server -o
19+ ```
20+
Original file line number Diff line number Diff line change 1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+ < head >
4+ < title > JSX and TypeScript</ title >
5+ < script src ="node_modules/requirejs/require.js " data-main ="bin/app "> </ script >
6+ < script src ="require-config.js "> </ script >
7+ </ head >
8+ < body >
9+ < div id ="output "> </ div >
10+ </ body >
11+ </ html >
Original file line number Diff line number Diff line change 1+ {
2+ "name" : " jsx-demo" ,
3+ "version" : " 0.0.1" ,
4+ "description" : " JSX in TypeScript Demo Project" ,
5+ "main" : " app.js" ,
6+ "scripts" : {
7+ "test" : " echo \" Error: no test specified\" && exit 1" ,
8+ "postinstall" : " node_modules/.bin/tsd update" ,
9+ "build" : " node node_modules/typescript/bin/tsc" ,
10+ "run" : " node node_modules/http-server/bin/http-server -o"
11+ },
12+ "repository" : {
13+ "type" : " git" ,
14+ "url" : " https://github.com/Microsoft/TypeScriptSamples.git"
15+ },
16+ "keywords" : [
17+ " jsx" ,
18+ " tsx" ,
19+ " typescript" ,
20+ " ts" ,
21+ " react"
22+ ],
23+ "author" : " Ryan Cavanaugh (Microsoft)" ,
24+ "license" : " Apache" ,
25+ "bugs" : {
26+ "url" : " https://github.com/Microsoft/TypeScriptSamples/issues"
27+ },
28+ "homepage" : " https://github.com/Microsoft/TypeScriptSamples" ,
29+ "devDependencies" : {
30+ "typescript" : " latest" ,
31+ "http-server" : " 0.8.0" ,
32+ "tsd" : " latest"
33+ },
34+ "dependencies" : {
35+ "jquery" : " ^2.1.4" ,
36+ "react" : " ^0.13.3" ,
37+ "requirejs" : " ^2.1.20"
38+ }
39+ }
Original file line number Diff line number Diff line change 1+ requirejs . config ( {
2+ paths : {
3+ react : [ '/node_modules/react/dist/react' ] ,
4+ jquery : [ '/node_modules/jquery/dist/jquery' ]
5+ }
6+ } ) ;
Original file line number Diff line number Diff line change 1+ import * as React from 'react' ;
2+ import * as $ from 'jquery' ;
3+ import { Greeter as Greetifier , GreeterProps as GreeterProps } from 'greeter' ;
4+
5+ function getRandomGreeting ( ) {
6+ switch ( Math . floor ( Math . random ( ) * 4 ) ) {
7+ case 0 : return 'Hello' ;
8+ case 1 : return 'Howdy' ;
9+ case 2 : return 'Greetings to you' ;
10+ case 3 : return 'Hail' ;
11+ }
12+ }
13+
14+ $ ( ( ) => {
15+ let props : GreeterProps = {
16+ whomToGreet : 'world!' ,
17+ } ;
18+
19+ React . render ( < Greetifier { ...props } /> , $ ( '#output' ) . get ( 0 ) ) ;
20+ } ) ;
21+
Original file line number Diff line number Diff line change 1+ import * as React from 'react' ;
2+
3+ export interface GreeterProps extends React . Props < Greeter > {
4+ whomToGreet : string ;
5+ greeting ?: string | ( ( ) => string ) ;
6+ }
7+
8+ export class Greeter extends React . Component < GreeterProps , { } > {
9+ render ( ) {
10+ let g = this . props . greeting ;
11+
12+ let greeting = 'Hello' ;
13+
14+ if ( typeof g === 'string' ) {
15+ greeting = g ;
16+ }
17+ else if ( g ) {
18+ greeting = g ( ) ;
19+ }
20+
21+ return < div > { greeting } , { this . props . whomToGreet } </ div > ;
22+ }
23+ }
Original file line number Diff line number Diff line change 1+ {
2+ "compilerOptions" : {
3+ "jsx" : " react" ,
4+ "outDir" : " bin" ,
5+ "module" : " amd"
6+ },
7+ "exclude" : [
8+ " node_modules"
9+ ]
10+ }
Original file line number Diff line number Diff line change 1+ {
2+ "version" : " v4" ,
3+ "repo" : " borisyankov/DefinitelyTyped" ,
4+ "ref" : " master" ,
5+ "path" : " typings" ,
6+ "bundle" : " typings/tsd.d.ts" ,
7+ "installed" : {
8+ "react/react.d.ts" : {
9+ "commit" : " 04a025ada3492a22df24ca2d8521c911697721b3"
10+ },
11+ "jquery/jquery.d.ts" : {
12+ "commit" : " 04a025ada3492a22df24ca2d8521c911697721b3"
13+ }
14+ }
15+ }
You can’t perform that action at this time.
0 commit comments