json-server 0.12.2 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +8 -6
- package/.eslintrc.js +2 -2
- package/CHANGELOG.md +18 -0
- package/README.md +26 -21
- package/{lib/server/public → dist}/favicon.ico +0 -0
- package/{lib/server/public → dist}/index.html +3 -11
- package/dist/main.css +675 -0
- package/dist/main.js +1 -0
- package/lib/cli/bin.js +4 -1
- package/lib/cli/index.js +13 -8
- package/lib/cli/run.js +98 -109
- package/lib/cli/utils/is.js +3 -4
- package/lib/cli/utils/load.js +71 -38
- package/lib/front/index.js +67 -0
- package/lib/server/body-parser.js +8 -3
- package/lib/server/defaults.js +44 -37
- package/lib/server/index.js +3 -5
- package/lib/server/mixins.js +37 -26
- package/lib/server/rewriter.js +7 -9
- package/lib/server/router/delay.js +4 -3
- package/lib/server/router/get-full-url.js +3 -4
- package/lib/server/router/index.js +59 -59
- package/lib/server/router/nested.js +13 -12
- package/lib/server/router/plural.js +134 -110
- package/lib/server/router/singular.js +35 -17
- package/lib/server/router/validate-data.js +4 -4
- package/lib/server/router/write.js +1 -1
- package/lib/server/utils.js +1 -1
- package/package.json +79 -51
- package/webpack.config.js +21 -0
- package/bin/index.js +0 -3
- package/lib/cli/example.json +0 -9
- package/lib/server/public/images/json.png +0 -0
- package/lib/server/public/main.js +0 -39
- package/lib/server/public/style.css +0 -73
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const CleanWebpackPlugin = require('clean-webpack-plugin')
|
|
2
|
+
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
|
3
|
+
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
entry: './src/front/index.js',
|
|
7
|
+
module: {
|
|
8
|
+
rules: [
|
|
9
|
+
{ test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader'] },
|
|
10
|
+
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
plugins: [
|
|
14
|
+
new CleanWebpackPlugin(['dist']),
|
|
15
|
+
new HtmlWebpackPlugin({
|
|
16
|
+
favicon: 'src/front/favicon.ico',
|
|
17
|
+
template: 'src/front/index.html'
|
|
18
|
+
}),
|
|
19
|
+
new MiniCssExtractPlugin()
|
|
20
|
+
]
|
|
21
|
+
}
|
package/bin/index.js
DELETED
package/lib/cli/example.json
DELETED
|
Binary file
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/* global m */
|
|
4
|
-
|
|
5
|
-
// Resource list
|
|
6
|
-
var db = {};
|
|
7
|
-
|
|
8
|
-
m.request('db').then(function (data) {
|
|
9
|
-
db = data;
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
m.mount(document.getElementById('resources'), {
|
|
13
|
-
view: function view() {
|
|
14
|
-
var keys = Object.keys(db);
|
|
15
|
-
var resourceList = m('ul', keys.map(function (key) {
|
|
16
|
-
return m('li', [m('a', { href: key }, '/' + key), m('sup', Array.isArray(db[key]) ? ' ' + db[key].length + 'x' : ' object')]);
|
|
17
|
-
}).concat([m('a', { href: 'db' }, '/db'), m('sup', m('em', ' state'))]));
|
|
18
|
-
|
|
19
|
-
return [m('h4', 'Resources'), keys.length ? resourceList : m('p', 'No resources found')];
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// Custom routes
|
|
24
|
-
var customRoutes = {};
|
|
25
|
-
|
|
26
|
-
m.request('__rules').then(function (data) {
|
|
27
|
-
customRoutes = data;
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
m.mount(document.getElementById('custom-routes'), {
|
|
31
|
-
view: function view() {
|
|
32
|
-
var rules = Object.keys(customRoutes);
|
|
33
|
-
if (rules.length) {
|
|
34
|
-
return [m('h4', 'Custom routes'), m('table', rules.map(function (rule) {
|
|
35
|
-
return m('tr', [m('td', rule), m('td', '⇢ ' + customRoutes[rule])]);
|
|
36
|
-
}))];
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
html {
|
|
2
|
-
font-size: 70%;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
body {
|
|
6
|
-
display: flex;
|
|
7
|
-
min-height: 100vh;
|
|
8
|
-
flex-direction: column;
|
|
9
|
-
padding:0;
|
|
10
|
-
margin: 0;
|
|
11
|
-
color: #333;
|
|
12
|
-
letter-spacing: 0;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
header {
|
|
16
|
-
padding-top: 2.0rem;
|
|
17
|
-
border-bottom: 1px solid #EEE;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
header a, header a:hover {
|
|
21
|
-
text-decoration: none;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
main {
|
|
25
|
-
flex: 1;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
footer {
|
|
29
|
-
padding-top: 2.5rem;
|
|
30
|
-
border-top: 1px solid #EEE;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
h4 {
|
|
34
|
-
margin-top: 4rem;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
a {
|
|
38
|
-
color: #0275d8;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
a:hover {
|
|
42
|
-
color: #014c8c;
|
|
43
|
-
text-decoration: underline;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
table {
|
|
47
|
-
margin-left: 0;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
td {
|
|
51
|
-
border: 0;
|
|
52
|
-
padding: 0 1em .5em 0;
|
|
53
|
-
color: #014c8c;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
td:first-child {
|
|
57
|
-
width: 1%;
|
|
58
|
-
white-space: nowrap;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
ul {
|
|
62
|
-
list-style-position: inside;
|
|
63
|
-
padding-left: 0;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
li {
|
|
67
|
-
list-style-type: none;
|
|
68
|
-
margin-bottom: .2rem;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
code {
|
|
72
|
-
border-radius: 0;
|
|
73
|
-
}
|