commit b6b0828c8c6b5401141dcda932c96d2925a59151
parent 8c5d27186810670d9a0d87dfed50cfb22a156c5e
Author: Johan Lindskogen <johan.lindskogen@gmail.com>
Date: Fri, 30 Mar 2018 17:57:15 +0200
Switch to typescript
Diffstat:
4 files changed, 64 insertions(+), 1 deletion(-)
diff --git a/package.json b/package.json
@@ -7,7 +7,9 @@
"test": "jest"
},
"dependencies": {
+ "@types/lodash": "^4.14.106",
"js-sha256": "^0.9.0",
+ "lodash": "^4.17.5",
"react": "^16.3.0-alpha.1",
"react-apple-easing": "^0.0.2",
"react-native": "0.54.4",
@@ -17,10 +19,14 @@
"redux": "^3.7.2"
},
"devDependencies": {
+ "@types/react-native": "^0.52.21",
"babel-jest": "22.4.3",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.3",
- "react-test-renderer": "^16.3.0-alpha.1"
+ "prettier": "^1.11.1",
+ "react-native-typescript-transformer": "^1.2.3",
+ "react-test-renderer": "^16.3.0-alpha.1",
+ "typescript": "^2.8.1"
},
"jest": {
"preset": "react-native"
diff --git a/rn-cli.config.js b/rn-cli.config.js
@@ -0,0 +1,8 @@
+module.exports = {
+ getTransformModulePath() {
+ return require.resolve("react-native-typescript-transformer");
+ },
+ getSourceExts() {
+ return ["ts", "tsx"];
+ }
+};
diff --git a/tsconfig.json b/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "target": "es2015",
+ "jsx": "react",
+ "noEmit": true,
+ "moduleResolution": "node",
+ "importHelpers": true
+ },
+ "exclude": ["node_modules"]
+}
diff --git a/yarn.lock b/yarn.lock
@@ -392,6 +392,20 @@
lodash "^4.2.0"
to-fast-properties "^2.0.0"
+"@types/lodash@^4.14.106":
+ version "4.14.106"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.106.tgz#6093e9a02aa567ddecfe9afadca89e53e5dce4dd"
+
+"@types/react-native@^0.52.21":
+ version "0.52.21"
+ resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.52.21.tgz#132bded2b9251b0a7f5c6562f1cf8976122be163"
+ dependencies:
+ "@types/react" "*"
+
+"@types/react@*":
+ version "16.1.0"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-16.1.0.tgz#6c0e9955ce73f332b4a1948d45decaf18c764c6e"
+
abab@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
@@ -492,6 +506,10 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
+app-root-path@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46"
+
append-transform@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
@@ -3132,6 +3150,10 @@ jest@22.4.3:
import-local "^1.0.0"
jest-cli "^22.4.3"
+jju@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/jju/-/jju-1.3.0.tgz#dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa"
+
js-sha256@^0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966"
@@ -4129,6 +4151,10 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+prettier@^1.11.1:
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.11.1.tgz#61e43fc4cd44e68f2b0dfc2c38cd4bb0fccdcc75"
+
pretty-format@^22.4.3:
version "22.4.3"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f"
@@ -4243,6 +4269,15 @@ react-native-parsed-text@^0.0.20:
babel-plugin-check-es2015-constants "6.22.0"
prop-types "^15.5.10"
+react-native-typescript-transformer@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/react-native-typescript-transformer/-/react-native-typescript-transformer-1.2.3.tgz#10433dae575200b9c0356bf33cc5d3e613787080"
+ dependencies:
+ app-root-path "^2.0.1"
+ jju "^1.3.0"
+ semver "^5.4.1"
+ source-map "^0.5.6"
+
react-native@0.54.4:
version "0.54.4"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.54.4.tgz#19c6c598f6acf04f1c032fe9a1812f0c640fa8b7"
@@ -5172,6 +5207,10 @@ typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+typescript@^2.8.1:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.1.tgz#6160e4f8f195d5ba81d4876f9c0cc1fbc0820624"
+
ua-parser-js@^0.7.9:
version "0.7.17"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"