Skip to content

Commit f660d4a

Browse files
committed
update to scalajs 1.0.0-M1
1 parent 2e7110d commit f660d4a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+3981
-1204
lines changed

.babelrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"presets": [],
3+
"ignore": ["sjs.test.js"]
4+
}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,5 @@ npm-debug.log
3232

3333

3434
#project
35+
*.test.js
36+
*.test.js.map

.travis.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@ env:
1818
JSENV=node
1919

2020
script:
21-
- sbt ++$TRAVIS_SCALA_VERSION test:fastOptJS test:fullOptJS
22-
- sbt ++$TRAVIS_SCALA_VERSION 'set parallelExecution in ThisBuild := false' test
23-
- sbt ++$TRAVIS_SCALA_VERSION 'set parallelExecution in ThisBuild := false' 'set scalaJSStage in ThisBuild := FullOptStage' test
21+
- sbt ++$TRAVIS_SCALA_VERSION testDev testProd
2422

2523

2624
deploy:

build.sbt

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name := "universal"
22

3-
//version := "2017.4.0-SNAPSHOT"
3+
//version := "2017.7.0-SNAPSHOT"
44

55
enablePlugins(ScalaJSPlugin)
66

@@ -21,9 +21,12 @@ scalacOptions ++= Seq(
2121
)
2222

2323
//Dependencies
24-
libraryDependencies += "scalajs-react-interface" %%% "core" % "2017.4.23-beta" % Provided
25-
libraryDependencies += "scalajs-react-interface" %%% "macros" % "2017.3.26-beta"
26-
libraryDependencies += "org.scala-js" %%% "scalajs-dom" % "0.9.1"
24+
libraryDependencies ++= Seq(
25+
"scalajs-react-interface" %%% "core" % "2017.7.9-RC" % Provided,
26+
"org.scala-lang" % "scala-reflect" % scalaVersion.value % Provided,
27+
"scalajs-react-interface" %%% "macros" % "2017.7.9-RC",
28+
"org.scala-js" %%% "scalajs-dom" % "0.9.3"
29+
)
2730

2831
//bintray
2932
resolvers += Resolver.jcenterRepo
@@ -43,7 +46,39 @@ publishArtifact in Test := false
4346

4447
//Test
4548
resolvers += Resolver.bintrayRepo("scalajs-react-interface", "maven")
46-
libraryDependencies += "org.scalatest" %%% "scalatest" % "3.0.0" % Test
47-
scalaJSStage in Global := FastOptStage
4849

49-
scalaJSModuleKind in Test := ModuleKind.CommonJSModule
50+
scalaJSUseMainModuleInitializer in Test := true
51+
52+
scalaJSLinkerConfig ~= (_.withModuleKind(ModuleKind.CommonJSModule))
53+
54+
val TEST_FILE = s"./sjs.test.js"
55+
56+
artifactPath in Test in fastOptJS := new File(TEST_FILE)
57+
artifactPath in Test in fullOptJS := new File(TEST_FILE)
58+
59+
val testDev = Def.taskKey[Unit]("test in dev mode")
60+
val testProd = Def.taskKey[Unit]("test in prod mode")
61+
62+
testDev := {
63+
(fastOptJS in Test).value
64+
runJest()
65+
}
66+
67+
testProd := {
68+
(fullOptJS in Test).value
69+
runJest()
70+
}
71+
72+
def runJest() = {
73+
import sys.process._
74+
val jestResult = "npm test".!
75+
if (jestResult != 0) throw new IllegalStateException("Jest Suite failed")
76+
}
77+
78+
resolvers += Resolver.bintrayRepo("scalajs-react-interface", "maven")
79+
resolvers += Resolver.bintrayRepo("scalajs-jest", "maven")
80+
81+
libraryDependencies ++= Seq(
82+
"org.scala-js" %%% "scalajs-dom" % "0.9.3" % Test,
83+
"scalajs-jest" %%% "core" % "2017.7.9-beta" % Test
84+
)

package.json

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@
77
"url": ""
88
},
99
"scripts": {
10-
"start": "webpack --watch & webpack-dev-server --progress --colors --port 8090",
11-
"build": "webpack --watch"
12-
},
13-
"devDependencies": {
14-
"jsdom-global": "2.1.1",
15-
"jsdom": "^9.9.1"
10+
"test": "jest"
1611
},
12+
"devDependencies": {},
1713
"dependencies": {
18-
14+
"jest": "^20.0.4",
15+
"react": "next",
16+
"react-dom": "next"
1917
}
2018
}

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
sbt.version=0.13.13
1+
sbt.version=0.13.15
22

project/plugins.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.15")
1+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.0.0-M1")
22
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
3-
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "1.1.1")
3+
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "1.3.0")
44
addSbtPlugin("me.lessis" % "bintray-sbt" % "0.3.0")
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package sri.universal
2+
3+
import scala.scalajs.js
4+
import scala.scalajs.js.annotation.JSGlobalScope
5+
6+
@js.native
7+
@JSGlobalScope
8+
object AssetLoader extends js.Object {
9+
10+
def require[T](name: String): T = js.native
11+
12+
}
13+
14+
//http://www.cakesolutions.net/teamblogs/default-type-parameters-with-implicits-in-scala
15+
trait DefaultsTo[Type, Default]
16+
17+
object DefaultsTo {
18+
implicit def defaultDefaultsTo[T]: DefaultsTo[T, T] = null
19+
implicit def fallback[T, D]: DefaultsTo[T, D] = null
20+
}

src/main/scala/sri/universal/CreateDOMElement.scala

Lines changed: 0 additions & 61 deletions
This file was deleted.
Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,14 @@
11
package sri.universal
22

33
import scala.scalajs.js
4-
import scala.scalajs.js.annotation.ScalaJSDefined
54
import scala.scalajs.js.{UndefOr => U}
65

7-
8-
9-
@ScalaJSDefined
106
trait XYValueLiteral extends js.Object {
117
var x: Double
128
var y: Double
139
}
1410

15-
16-
@ScalaJSDefined
1711
trait WidthHeightLiteral extends js.Object {
1812
var width: Double
1913
var height: Double
2014
}
21-
22-

src/main/scala/sri/universal/ReactEvent.scala

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ trait TextInputEvent extends js.Object {
1313

1414
val text: String = js.native
1515

16-
val contentSize: TextInputContentSize = js.native
17-
1816
val contentOffset: TextContentOffset = js.native
1917
}
2018

@@ -35,18 +33,11 @@ trait TextContentOffset extends js.Object {
3533
}
3634

3735
@js.native
38-
trait ImageEvent extends js.Object {
39-
40-
}
36+
trait ImageEvent extends js.Object {}
4137

4238
@js.native
4339
trait WebViewEvent extends js.Object {
4440
val data: String = js.native
4541
}
46-
47-
4842
@js.native
49-
trait SyntheticEvent extends js.Object {
50-
51-
}
52-
43+
trait SyntheticEvent extends js.Object {}

src/main/scala/sri/universal/ReactUniversal.scala

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import sri.universal.apis.{
99
Keyboard,
1010
PanResponder,
1111
PixelRatio,
12-
ReactPlatForm,
12+
ReactPlatform,
1313
StyleSheet
1414
}
1515

@@ -62,10 +62,6 @@ trait ReactUniversal extends js.Object {
6262
// val Dimensions: js.Dynamic = js.native
6363

6464
//misc
65-
val Platform: ReactPlatForm = js.native
65+
val Platform: ReactPlatform = js.native
6666

6767
}
68-
69-
//@js.native
70-
//@JSImport("react-native", JSImport.Namespace)
71-
//object ReactUniversal extends ReactUniversal

src/main/scala/sri/universal/apis/AccessibilityInfo.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ trait AccessibilityInfo extends js.Object {
1414

1515
def removeEventListener(eventName: String, handler: js.Function): Unit =
1616
js.native
17+
18+
def setAccessibilityFocus(reactTag: Double): Unit = js.native
19+
20+
def announceForAccessibility(announcement: String): Unit = js.native
1721
}
1822

1923
@js.native

src/main/scala/sri/universal/apis/Alert.scala

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package sri.universal.apis
22

33
import scala.scalajs.js
44
import scala.scalajs.js.Dynamic.{literal => json}
5-
import scala.scalajs.js.annotation.{JSImport, ScalaJSDefined}
5+
import scala.scalajs.js.annotation.JSImport
66

77
@js.native
88
trait Alert extends js.Object {
@@ -17,20 +17,17 @@ trait Alert extends js.Object {
1717
@JSImport("react-native", "Alert")
1818
object Alert extends Alert
1919

20-
@ScalaJSDefined
2120
trait AlertButton extends js.Object {
2221
var text: js.UndefOr[String] = js.undefined
2322
var onPress: js.UndefOr[js.Function] = js.undefined
2423
var style: js.UndefOr[AlertButtonStyle] = js.undefined
2524
}
2625

27-
@ScalaJSDefined
2826
trait AlertOptions extends js.Object {
2927
val cancelable: js.UndefOr[Boolean] = js.undefined
3028
val onDismiss: js.UndefOr[js.Function] = js.undefined
3129
}
3230

33-
@ScalaJSDefined
3431
trait AlertType extends js.Object
3532

3633
object AlertType {
@@ -40,7 +37,6 @@ object AlertType {
4037
@inline def LOGIN_PASSWORD = "login-password".asInstanceOf[AlertType]
4138
}
4239

43-
@ScalaJSDefined
4440
trait AlertButtonStyle extends js.Object
4541

4642
object AlertButtonStyle {

0 commit comments

Comments
 (0)