lint and highlight jsx

This commit is contained in:
Leo Horie 2017-01-08 19:30:23 -05:00
parent 6345859e19
commit a0def08101
4 changed files with 41 additions and 38 deletions

View file

@ -12,7 +12,7 @@
JSX is a syntax extension that enables you to write HTML tags interspersed with Javascript. JSX is a syntax extension that enables you to write HTML tags interspersed with Javascript.
``` ```jsx
var MyComponent = { var MyComponent = {
view: function() { view: function() {
return m("main", [ return m("main", [
@ -35,7 +35,7 @@ var MyComponent = {
When using JSX, it's possible to interpolate Javascript expressions within JSX tags by using curly braces: When using JSX, it's possible to interpolate Javascript expressions within JSX tags by using curly braces:
``` ```jsx
var greeting = "Hello" var greeting = "Hello"
var url = "http://google.com" var url = "http://google.com"
var div = <a href={url}>{greeting + "!"}</a> var div = <a href={url}>{greeting + "!"}</a>
@ -43,7 +43,7 @@ var div = <a href={url}>{greeting + "!"}</a>
Components can be used by using a convention of uppercasing the first letter of the component name: Components can be used by using a convention of uppercasing the first letter of the component name:
```javascript ```jsx
m.mount(document.body, <MyComponent />) m.mount(document.body, <MyComponent />)
// equivalent to m.mount(document.body, m(MyComponent)) // equivalent to m.mount(document.body, m(MyComponent))
``` ```
@ -190,7 +190,7 @@ Hyperscript is the compiled representation of JSX. It's designed to be readable
In addition, since hyperscript is plain Javascript, it's often more natural to indent than JSX: In addition, since hyperscript is plain Javascript, it's often more natural to indent than JSX:
``` ```jsx
//JSX //JSX
var BigComponent = { var BigComponent = {
activate: function() {/*...*/}, activate: function() {/*...*/},

View file

@ -122,6 +122,9 @@ function initMocks() {
"GET /api/v1/users/foo:bar": function(request) { "GET /api/v1/users/foo:bar": function(request) {
return {status: 200, responseText: JSON.stringify({id: 123})} return {status: 200, responseText: JSON.stringify({id: 123})}
}, },
"GET /files/image.svg": function(request) {
return {status: 200, responseText: "<svg></svg>"}
},
}) })
} }

View file

@ -7,8 +7,8 @@ var parseQueryString = require("../querystring/parse")
module.exports = function() { module.exports = function() {
var routes = {} var routes = {}
var callback = "callback" var callback = "callback"
var serverErrorHandler = function() { var serverErrorHandler = function(url) {
return {status: 500, responseText: "server error, most likely the URL was not defined"} return {status: 500, responseText: "server error, most likely the URL was not defined " + url}
} }
var $window = { var $window = {
@ -32,7 +32,7 @@ module.exports = function() {
} }
this.send = function(body) { this.send = function(body) {
var self = this var self = this
var handler = routes[args.method + " " + args.pathname] || serverErrorHandler var handler = routes[args.method + " " + args.pathname] || serverErrorHandler.bind(null, args.pathname)
var data = handler({url: args.pathname, query: args.search || {}, body: body || null}) var data = handler({url: args.pathname, query: args.search || {}, body: body || null})
self.readyState = 4 self.readyState = 4
self.status = data.status self.status = data.status
@ -54,7 +54,7 @@ module.exports = function() {
element.parentNode = this element.parentNode = this
if (element.nodeName === "SCRIPT") { if (element.nodeName === "SCRIPT") {
var urlData = parseURL(element.src, {protocol: "http:", hostname: "localhost", port: "", pathname: "/"}) var urlData = parseURL(element.src, {protocol: "http:", hostname: "localhost", port: "", pathname: "/"})
var handler = routes["GET " + urlData.pathname] || serverErrorHandler var handler = routes["GET " + urlData.pathname] || serverErrorHandler.bind(null, element.src)
var data = handler({url: urlData.pathname, query: urlData.search, body: null}) var data = handler({url: urlData.pathname, query: urlData.search, body: null})
var query = parseQueryString(urlData.search) var query = parseQueryString(urlData.search)
callAsync(function() { callAsync(function() {