Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
19ed87c3
Commit
19ed87c3
authored
Mar 15, 2017
by
chriseth
Committed by
GitHub
Mar 15, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #461 from ethereum/refactor-imports
Refactor remote imports
parents
52bc2b76
37cf8a3f
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
24 deletions
+21
-24
app.js
src/app.js
+21
-24
No files found.
src/app.js
View file @
19ed87c3
...
@@ -503,7 +503,6 @@ var run = function () {
...
@@ -503,7 +503,6 @@ var run = function () {
// ----------------- compiler ----------------------
// ----------------- compiler ----------------------
function
handleGithubCall
(
root
,
path
,
cb
)
{
function
handleGithubCall
(
root
,
path
,
cb
)
{
$
(
'#output'
).
append
(
$
(
'<div/>'
).
append
(
$
(
'<pre/>'
).
text
(
'Loading github.com/'
+
root
+
'/'
+
path
+
' ...'
)))
return
$
.
getJSON
(
'https://api.github.com/repos/'
+
root
+
'/contents/'
+
path
)
return
$
.
getJSON
(
'https://api.github.com/repos/'
+
root
+
'/contents/'
+
path
)
.
done
(
function
(
data
)
{
.
done
(
function
(
data
)
{
if
(
'content'
in
data
)
{
if
(
'content'
in
data
)
{
...
@@ -534,7 +533,6 @@ var run = function () {
...
@@ -534,7 +533,6 @@ var run = function () {
// replace ipfs:// with /ipfs/
// replace ipfs:// with /ipfs/
url
=
url
.
replace
(
/^ipfs:
\/\/?
/
,
'ipfs/'
)
url
=
url
.
replace
(
/^ipfs:
\/\/?
/
,
'ipfs/'
)
$
(
'#output'
).
append
(
$
(
'<div/>'
).
append
(
$
(
'<pre/>'
).
text
(
'Loading '
+
url
+
' ...'
)))
return
$
.
ajax
({
type
:
'GET'
,
url
:
'https://gateway.ipfs.io/'
+
url
})
return
$
.
ajax
({
type
:
'GET'
,
url
:
'https://gateway.ipfs.io/'
+
url
})
.
done
(
function
(
data
)
{
.
done
(
function
(
data
)
{
cb
(
null
,
data
)
cb
(
null
,
data
)
...
@@ -546,35 +544,29 @@ var run = function () {
...
@@ -546,35 +544,29 @@ var run = function () {
}
}
function
handleImportCall
(
url
,
cb
)
{
function
handleImportCall
(
url
,
cb
)
{
var
match
if
(
files
.
exists
(
url
))
{
if
(
files
.
exists
(
url
))
{
cb
(
null
,
files
.
get
(
url
))
cb
(
null
,
files
.
get
(
url
))
}
else
if
((
match
=
/^
(
https
?
:
\/\/)?(
www.
)?
github.com
\/([^/]
*
\/[^/]
*
)\/(
.*
)
/
.
exec
(
url
)))
{
handleGithubCall
(
match
[
3
],
match
[
4
],
function
(
err
,
content
)
{
if
(
err
)
{
cb
(
'Unable to import "'
+
url
+
'": '
+
err
)
return
return
}
}
// FIXME: at some point we should invalidate the cache
var
handlers
=
[
files
.
addReadOnly
(
url
,
content
)
{
match
:
/^https
?
:
\/\/?
www.
?
github.com
\/([^/]
*
\/[^/]
*
)\/(
.*
)
/
,
handler
:
function
(
match
,
cb
)
{
handleGithubCall
(
match
[
3
],
match
[
4
],
cb
)
}
},
cb
(
null
,
content
)
{
match
:
/^
(
bzz
[
ri
]?
:
\/\/?
.*
)
$/
,
handler
:
function
(
match
,
cb
)
{
handleSwarmImport
(
match
[
1
],
cb
)
}
},
})
{
match
:
/^
(
ipfs:
\/\/?
.+
)
/
,
handler
:
function
(
match
,
cb
)
{
handleIPFS
(
match
[
1
],
cb
)
}
}
}
else
if
((
match
=
/^
(
bzz
[
ri
]?
:
\/\/?
.*
)
$/
.
exec
(
url
)))
{
]
// Supported: bzz:, bzzr:, bzzi:
$
(
'#output'
).
append
(
$
(
'<div/>'
).
append
(
$
(
'<pre/>'
).
text
(
'Loading '
+
url
+
' ...'
)))
var
found
=
false
handleSwarmImport
(
match
[
1
],
function
(
err
,
content
)
{
handlers
.
forEach
(
function
(
handler
)
{
if
(
err
)
{
if
(
found
)
{
cb
(
'Unable to import "'
+
url
+
'": '
+
err
)
return
return
}
}
// FIXME: at some point we should invalidate the cache
var
match
=
handler
.
match
.
exec
(
url
)
files
.
addReadOnly
(
url
,
content
)
if
(
match
)
{
cb
(
null
,
content
)
found
=
true
})
}
else
if
((
match
=
/^
(
ipfs:
\/\/?
.+
)
/
.
exec
(
url
)))
{
$
(
'#output'
).
append
(
$
(
'<div/>'
).
append
(
$
(
'<pre/>'
).
text
(
'Loading '
+
url
+
' ...'
)))
handleIPFS
(
match
[
1
]
,
function
(
err
,
content
)
{
handler
.
handler
(
match
,
function
(
err
,
content
)
{
if
(
err
)
{
if
(
err
)
{
cb
(
'Unable to import "'
+
url
+
'": '
+
err
)
cb
(
'Unable to import "'
+
url
+
'": '
+
err
)
return
return
...
@@ -584,8 +576,13 @@ var run = function () {
...
@@ -584,8 +576,13 @@ var run = function () {
files
.
addReadOnly
(
url
,
content
)
files
.
addReadOnly
(
url
,
content
)
cb
(
null
,
content
)
cb
(
null
,
content
)
})
})
}
})
if
(
found
)
{
return
}
else
if
(
/^
[^
:
]
*:
\/\/
/
.
exec
(
url
))
{
}
else
if
(
/^
[^
:
]
*:
\/\/
/
.
exec
(
url
))
{
cb
(
'Unable to import "'
+
url
+
'": Unsupported URL'
)
cb
(
'Unable to import "'
+
url
+
'": Unsupported URL
schema
'
)
}
else
{
}
else
{
cb
(
'Unable to import "'
+
url
+
'": File not found'
)
cb
(
'Unable to import "'
+
url
+
'": File not found'
)
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment