@misterzik/espressojs 3.1.12 → 3.1.15
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/README.md +43 -33
- package/{Espresso-Logo.png → espresso.png} +0 -0
- package/espresso.svg +1 -0
- package/index.js +19 -25
- package/package.json +2 -2
- package/{server/routes → routes}/api/index.js +8 -8
- package/{server/routes → routes}/db/index.js +4 -2
- package/{server/routes → routes}/index.js +4 -9
- package/server/controllers/client/client.controller.js +1 -1
- package/webpack.config.js +0 -51
package/README.md
CHANGED
|
@@ -1,56 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-

|
|
1
|
+

|
|
3
2
|
|
|
4
3
|
## EspressoJS / Espresso
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
### EspressoJS / Espresso It's your one-stop Express Configuration Boiler-Plate, plug-and-play configuration to get you started with hosting your front-end projects. Barebones configuration with the option to scale up using MongoDB.
|
|
8
4
|
|
|
9
|
-
|
|
5
|
+
### EspressoJS / Espresso is your one-stop Express Configuration starting point or boilerplate. Simple, and unopinionated, EspressoJS plug-and-play configurations are based on Express. Espresso will get you started with an Express instance in seconds.
|
|
10
6
|
|
|
11
|
-
|
|
7
|
+
## Getting Started
|
|
12
8
|
|
|
9
|
+
- Download [latest release](https://github.com/misterzik/Espresso.js/packages/364567)
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
`npm install --save @misterzik/espressojs`
|
|
15
12
|
|
|
16
|
-
|
|
13
|
+
- Create `config.json` to handle the instances
|
|
17
14
|
|
|
18
|
-
|
|
15
|
+
```
|
|
16
|
+
{
|
|
17
|
+
"instance":"global",
|
|
18
|
+
"port":8080
|
|
19
|
+
}
|
|
20
|
+
```
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
- Create `.env` if you don't want to use config. A mix is possible.
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
```
|
|
25
|
+
MONGO_URI=USER:PASSWORD@DOMAIN.mongodb.net
|
|
26
|
+
MONGO_URI_PORT=27017
|
|
27
|
+
MONGO_URI_DB=clients
|
|
28
|
+
API_URI_ON=FALSE
|
|
29
|
+
API_URI=
|
|
30
|
+
PORT=8080
|
|
31
|
+
```
|
|
23
32
|
|
|
24
|
-
|
|
33
|
+
- Create `espresso.js` and add the following requirements to call the packages.
|
|
25
34
|
|
|
26
|
-
|
|
35
|
+
```
|
|
36
|
+
require("@misterzik/espressojs");
|
|
37
|
+
```
|
|
27
38
|
|
|
28
|
-
|
|
39
|
+
- Create `cli.js` and add the following requirements to call the packages.
|
|
29
40
|
|
|
30
|
-
|
|
41
|
+
```
|
|
42
|
+
require('@misterzik/espressojs/cli');
|
|
43
|
+
```
|
|
31
44
|
|
|
32
|
-
|
|
45
|
+
- And you are all set to start, To run the instance, use:
|
|
46
|
+
```
|
|
47
|
+
node cli run
|
|
48
|
+
```
|
|
33
49
|
|
|
34
|
-
Pre-made Configurations:
|
|
35
|
-
* `server/config/config.global.js`
|
|
36
|
-
* `server/config/config.production.js`
|
|
37
|
-
* `server/config/config.development.js`
|
|
38
50
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
* Run project Without MongoDB, by running `npm start`, If you would like to run instance with MongoDB run `npm run dev` or `npm run prod` .
|
|
42
|
-
|
|
43
|
-
Note: If you use MongoDB you have to edit the following file with your MongoDB instance credentials;
|
|
44
|
-
`server/config/config.production.js` or `server/config/config.development.js`
|
|
51
|
+
### Structured Files
|
|
45
52
|
|
|
53
|
+
Pre-made Configurations:
|
|
46
54
|
|
|
47
|
-
|
|
55
|
+
- `server/config/config.global.js`
|
|
56
|
+
- `server/config/config.production.js`
|
|
57
|
+
- `server/config/config.development.js`
|
|
48
58
|
|
|
49
|
-
|
|
59
|
+
### Commands
|
|
50
60
|
|
|
51
|
-
|
|
61
|
+
- Stop server by pressing `CTRL + C` to terminated the Espresso process.
|
|
52
62
|
|
|
53
|
-
|
|
54
|
-
* NPM
|
|
63
|
+
### Requirements
|
|
55
64
|
|
|
56
|
-
|
|
65
|
+
- NodeJS
|
|
66
|
+
- NPM
|
|
File without changes
|
package/espresso.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="8.959 172.108 609.716 126.257" width="605.72" height="122.26" xmlns:v="https://vecta.io/nano"><style><![CDATA[.B{alignment-baseline:before-edge}.C{dominant-baseline:text-before-edge}.D{font-style:normal}.E{text-anchor:start}]]></style><defs><style>@font-face{font-family:"Play";src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff"); font-weight:normal;font-style:normal;} @font-face{font-family:"Work Sans";src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAWcAA0AAAAACDAAAgMSAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABMAAAAE0AAABkK74kh09TLzIAAAGAAAAATwAAAGBcejTdY21hcAAAAdAAAABEAAABSgCcBKRnYXNwAAACFAAAAAgAAAAIAAAAEGdseWYAAAIcAAABFwAAAUhZmimmaGVhZAAAAzQAAAA2AAAANiPiKHBoaGVhAAADbAAAABsAAAAkA6QBlGhtdHgAAAOIAAAAFAAAABQJeQCfbG9jYQAAA5wAAAAMAAAADADqAUJtYXhwAAADqAAAABkAAAAgAAcAPG5hbWUAAAPEAAABuQAAAzARIj6PcG9zdAAABYAAAAAUAAAAIP+fADdwcmVwAAAFlAAAAAcAAAAHaAaMhXicY2BkYGDgYlBhMGJgcnHzCWHgy0ksyWPgY2ABijP8/88AkmfMTi3KY+AAscCYhYEJyGMEYiYGEbBKJQYpIJ8JpAdII0OgGAAb4QeQAAAAeJxjYGF8yjiBgZWBgamLKYKBgcEbQjPGMRgx6jAggQUMDP8FkPjhrp4MDAcYFBiCmRf952VgYAlkDFdgYJwMkmP8wjQFSCkwMAMAVr8M3QB4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFBiC//8H8sH0/8f/10HVAwEjGwNBwExYCTpgJKxk8AAAFKsJPgABAAH//wAPeJxjYEACjAza/78xuTLNY9ADcozExNn1GJWV+BhFRcTkGeWAFB+Qq8eobi7HZGxkx2hqoqbPqMdkamLHyOgQXqflrBrrZOqqoOPUH+9tX+Trkesn6SZsE2pu7K2hZTXb1lvROp9pnruriYOpnKG8sim/gmiovUW4gbqTpqWalYKkobKCMa8yn6GzummkGdAtTv8nMXkC3WLMwMAKtNXUxMyeEewWYyMzUxOgMyBWGyO7U45RXI4J5E5Gt5ASGyZGb0ammITQCMUA94hMPbtCn5waLn9mn2BTH3XlYI/wVB2H0jztYGtOES4xLhFOZ0cPZwUDdSFxSz9j52SzhBh5X2cFW21lE01hcTMvU8dkMwacAACE+zacAAABAAAAAgMSbCRJ1V8PPPUIAwPoAAAAAN0cG8MAAAAA3TnGiAAr/5ICSQKeAAAABgACAAAAAAAAeJxjYGRgYF70n5eBgamRAQIYGVABKwBAgwI8AAH0ADICgQArAoEAQgFVAAABLgAAAAAABgBMAJgAngCkeJxjYGRgYGBlMGEA0QxQEgLYQQQABiUARAAAAHichZBBTttAFIb/CQHEolHbRResRl3BInZioUqQFUIgISGBAJFNNyGyxgPGY82MhbgAV2gPUPUELHqCLnuAnqWL/mNP0hYh1XE837z3/v/NGwCv8R0C3fOR/44FNrjruId15JFXsIkych9v8Bh5Fa/wKfIaPb9EHrD+iSrR3+DuG35EFngrHiP3MBCfI69gR3yN3Md78TPyKjbFr8hrkL13kQfY6X04MPWD1arwMhuNd+VlkcupsbfyYlY5eWbNTT73cr/xhbFObhXe124vTZX2RXOdzM1dep9rvkUzq1T7SYN8GOTbS6PzXDXlzGbJaJxNpofHk5AJiWHM/GkZA1e5ddpUspU8rw6n4CHc3Orau8TpMjFWpadHJziAQY0HWGgoFPCQyDDCGLukS0ZyrlNWWdySLjBDBUc6Y8Tghvl5q9pHw7VoK0N+q3XzdHfYQ8qfYo9Q0eAaCVUGd4ze00HHb8gFf/UXpcvuw2X37RdOdE4HRVXJveUMSTtFhglrD3Hcrp1moRg+07w05b8VV9yF6TQrq/amFl3+5724i+4mHKcPN14z5ugRHEuuwSNMfIojnPwGOvyfdAAAAHicY2BmAIP/cxiMGDABKwAqiAHWuAH/hbAEjQA=) format("woff"); font-weight:normal;font-style:normal;}</style><text id="A" x="102.43" y="188.24" font-size="102" font-family="Play" font-weight="700" letter-spacing="0" transform="translate(-92.473 -15.135)" xml:space="preserve" class="B C D"><tspan x="102.43" dy="0em" class="B C E">(E )PRESS</tspan></text><path d="M615.68 249.16c0 22.03-17.42 39.89-38.9 39.89s-38.89-17.86-38.89-39.89 17.41-39.89 38.89-73.48c21.48 33.59 38.9 51.45 38.9 73.48z" id="B"/><path d="M572.54 210.31l-15.11 39.47h15.11l-10.79 28.51 41-39.47h-21.58l15.11-28.51h-23.74z" id="C"/><text id="D" x="111.89" y="362.57" font-size="103" font-family="Work Sans" font-weight="600" letter-spacing="0" transform="translate(-1.351 -188.203)" xml:space="preserve" class="B C D"><tspan x="111.89" dy="0em" class="B C E">S</tspan></text></defs><use xlink:href="#A" fill="#27477e"/><use xlink:href="#B" fill="#1665ce"/><filter id="E" x="495.89" y="133.68" width="176.79" height="227.37" filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse"><feFlood/><feComposite in2="SourceAlpha" operator="out"/><feGaussianBlur stdDeviation="1"/><feOffset dx="-15" dy="-30" result="A"/><feFlood flood-color="#fff" flood-opacity=".12"/><feComposite in2="A" operator="in"/><feMorphology operator="dilate" radius="5"/><feComposite in2="SourceAlpha" operator="in"/></filter><path d="M615.68 249.16c0 22.03-17.42 39.89-38.9 39.89s-38.89-17.86-38.89-39.89 17.41-39.89 38.89-73.48c21.48 33.59 38.9 51.45 38.9 73.48z" fill="#fff" filter="url(#E)"/><use xlink:href="#C" fill="#fff"/><use xlink:href="#D" fill="#1d3c71"/></svg>
|
package/index.js
CHANGED
|
@@ -8,25 +8,28 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
const fs = require("fs");
|
|
11
|
+
require("dotenv").config();
|
|
11
12
|
const express = require("express");
|
|
12
13
|
const app = express();
|
|
13
14
|
const cfg = require("./server");
|
|
14
|
-
|
|
15
|
-
require("dotenv").config();
|
|
16
|
-
|
|
17
15
|
const configBuffer = fs.readFileSync("./config.json"),
|
|
18
16
|
configJSON = configBuffer.toString(),
|
|
19
17
|
configData = JSON.parse(configJSON);
|
|
20
18
|
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
const Path = require("path"),
|
|
20
|
+
Cors = require("cors"),
|
|
21
|
+
Compression = require("compression"),
|
|
22
|
+
Favicon = require("serve-favicon"),
|
|
23
|
+
Static = require("serve-static"),
|
|
24
|
+
Port = configData.port || process.env.PORT || cfg.port,
|
|
25
|
+
Routes = require("./routes/index");
|
|
28
26
|
|
|
29
27
|
const mongoose = require("mongoose");
|
|
28
|
+
const setCustomCacheControl = (res, path) => {
|
|
29
|
+
if (Static.mime.lookup(path) === "text/html") {
|
|
30
|
+
res.setHeader("Cache-Control", "public, max-age=0");
|
|
31
|
+
}
|
|
32
|
+
};
|
|
30
33
|
|
|
31
34
|
if (cfg.mongo_isEnabled == true) {
|
|
32
35
|
let hasPort, hasUri;
|
|
@@ -40,7 +43,6 @@ if (cfg.mongo_isEnabled == true) {
|
|
|
40
43
|
} else {
|
|
41
44
|
hasUri = cfg.mongo.uri;
|
|
42
45
|
}
|
|
43
|
-
|
|
44
46
|
const url = `mongodb+srv://${hasUri + hasPort + cfg.mongo.db}`;
|
|
45
47
|
mongoose.Promise = global.Promise;
|
|
46
48
|
mongoose
|
|
@@ -53,14 +55,13 @@ if (cfg.mongo_isEnabled == true) {
|
|
|
53
55
|
.catch((err) => console.error(err));
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
app.use(
|
|
57
|
-
app.use(
|
|
58
|
+
app.use(Compression());
|
|
59
|
+
app.use(Cors());
|
|
58
60
|
app.use(express.urlencoded({ extended: false }));
|
|
59
61
|
app.use(express.json());
|
|
60
|
-
app.use(
|
|
61
|
-
|
|
62
|
+
app.use(Favicon(Path.join("./public", "favicon.ico")));
|
|
62
63
|
app.use(
|
|
63
|
-
|
|
64
|
+
Static(Path.join("./public"), {
|
|
64
65
|
maxAge: "1d",
|
|
65
66
|
setHeaders: setCustomCacheControl,
|
|
66
67
|
etag: true,
|
|
@@ -68,13 +69,6 @@ app.use(
|
|
|
68
69
|
})
|
|
69
70
|
);
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
res.setHeader("Cache-Control", "public, max-age=0");
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
_routes(app);
|
|
78
|
-
app.listen(_port);
|
|
79
|
-
|
|
72
|
+
Routes(app);
|
|
73
|
+
app.listen(Port);
|
|
80
74
|
module.exports = app;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@misterzik/espressojs",
|
|
3
|
-
"version": "3.1.
|
|
4
|
-
"description": "EspressoJS / Espresso
|
|
3
|
+
"version": "3.1.15",
|
|
4
|
+
"description": "EspressoJS / Espresso is your one-stop Express Configuration starting point or boilerplate. Simple, and unopinionated, EspressoJS plug-and-play configurations are based on Express. Espresso will get you started with an Express instance in seconds.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"test": "echo \"Error: no test specified\"",
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
const express = require("express");
|
|
10
|
-
const cfg = require("./../../../server");
|
|
11
|
-
const router = express.Router();
|
|
12
10
|
const axios = require("axios");
|
|
11
|
+
const router = express.Router();
|
|
12
|
+
const configuration = require("../../server");
|
|
13
13
|
|
|
14
14
|
const getAPI = (req, res) => {
|
|
15
15
|
axios
|
|
16
|
-
.get(
|
|
16
|
+
.get(configuration.swapi.uri, configuration.swapi.configs)
|
|
17
17
|
.then(function (response) {
|
|
18
18
|
if (response.status == 200) {
|
|
19
19
|
res.json(response.data);
|
|
@@ -26,7 +26,7 @@ const getAPI = (req, res) => {
|
|
|
26
26
|
|
|
27
27
|
const getItem = (req, res, params) => {
|
|
28
28
|
axios
|
|
29
|
-
.get(
|
|
29
|
+
.get(configuration.swapi.uri + "/" + params, configuration.swapi.configs)
|
|
30
30
|
.then(function (response) {
|
|
31
31
|
if (response.status == 200) {
|
|
32
32
|
res.json(response.data);
|
|
@@ -39,7 +39,10 @@ const getItem = (req, res, params) => {
|
|
|
39
39
|
|
|
40
40
|
const getItemId = (req, res, params, paramsId) => {
|
|
41
41
|
axios
|
|
42
|
-
.get(
|
|
42
|
+
.get(
|
|
43
|
+
configuration.swapi.uri + params + "/" + paramsId + "/",
|
|
44
|
+
configuration.swapi.configs
|
|
45
|
+
)
|
|
43
46
|
.then(function (response) {
|
|
44
47
|
if (response.status == 200) {
|
|
45
48
|
res.json(response.data);
|
|
@@ -49,15 +52,12 @@ const getItemId = (req, res, params, paramsId) => {
|
|
|
49
52
|
})
|
|
50
53
|
.catch((err) => res.send(err));
|
|
51
54
|
};
|
|
52
|
-
|
|
53
55
|
router.get("/v1/", (req, res) => {
|
|
54
56
|
getAPI(req, res);
|
|
55
57
|
});
|
|
56
|
-
|
|
57
58
|
router.get("/v1/:item", (req, res, next) => {
|
|
58
59
|
getItem(req, res, req.params.item);
|
|
59
60
|
});
|
|
60
|
-
|
|
61
61
|
router.get("/v1/:item/:itemId", (req, res, next) => {
|
|
62
62
|
getItemId(req, res, req.params.item, req.params.itemId);
|
|
63
63
|
});
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
* EspressoJS - Hippie's Fav Server Plate
|
|
3
3
|
* Powered by Vimedev.com Labs
|
|
4
4
|
* ---
|
|
5
|
-
* Client Model
|
|
5
|
+
* Client Model - WIP
|
|
6
|
+
* --
|
|
7
|
+
* Basic Clients Collection - API CRUD
|
|
6
8
|
* ---
|
|
7
9
|
* @param {*} app - Vimedev.com Labs
|
|
8
10
|
*/
|
|
9
11
|
|
|
10
12
|
module.exports = (app) => {
|
|
11
|
-
const clientRouter = require("../../controllers/client/client.controller.js");
|
|
13
|
+
const clientRouter = require("../../server/controllers/client/client.controller.js");
|
|
12
14
|
const preFix = "/api/clients/",
|
|
13
15
|
url = preFix;
|
|
14
16
|
|
|
@@ -8,21 +8,16 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = (app) => {
|
|
11
|
-
const
|
|
12
|
-
|
|
11
|
+
const configuration = require("../server"),
|
|
12
|
+
Path = require("path"),
|
|
13
13
|
api = require("./api");
|
|
14
|
-
|
|
15
14
|
app.get("/", function (res) {
|
|
16
|
-
res.sendFile("index.html", { root:
|
|
15
|
+
res.sendFile("index.html", { root: Path.join("./public") });
|
|
17
16
|
});
|
|
18
|
-
|
|
19
|
-
if (cfg.swapi_isEnabled == true) {
|
|
17
|
+
if (configuration.swapi_isEnabled == true) {
|
|
20
18
|
app.use("/api", api);
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
require("./db")(app);
|
|
24
|
-
require("./../utils/global.message")(app);
|
|
25
|
-
|
|
26
21
|
app.use(function (req, res, next) {
|
|
27
22
|
res.status(404).send("404 - Sorry can't find that!");
|
|
28
23
|
});
|
package/webpack.config.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EspressoJS - Powered by Vimedev.com Labs
|
|
3
|
-
* ---
|
|
4
|
-
* Basic Web-Pack Configuration Declarations
|
|
5
|
-
* ---
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
const webpack = require("webpack");
|
|
10
|
-
const path = require("path");
|
|
11
|
-
const TerserPlugin = require("terser-webpack-plugin");
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* EspressoJS - Powered by Vimedev.com Labs
|
|
15
|
-
* ---
|
|
16
|
-
* Configuration Usage
|
|
17
|
-
*/
|
|
18
|
-
const config = {
|
|
19
|
-
context: path.resolve(__dirname, "./public/assets/js/jQuery"),
|
|
20
|
-
entry: {
|
|
21
|
-
app: "./index.js",
|
|
22
|
-
vendor: "./other-file.js",
|
|
23
|
-
},
|
|
24
|
-
output: {
|
|
25
|
-
filename: "[name].bundle.js",
|
|
26
|
-
path: path.resolve(__dirname, "./public/assets/src"),
|
|
27
|
-
},
|
|
28
|
-
plugins: [
|
|
29
|
-
new webpack.ProvidePlugin({
|
|
30
|
-
$: "jquery",
|
|
31
|
-
jquery: "jQuery",
|
|
32
|
-
"window.jQuery": "jquery",
|
|
33
|
-
}),
|
|
34
|
-
],
|
|
35
|
-
module: {
|
|
36
|
-
rules: [
|
|
37
|
-
{
|
|
38
|
-
test: /jquery[\\\/]src[\\\/]selector\.js$/,
|
|
39
|
-
loader: "amd-define-factory-patcher-loader",
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
test: /\.js$/,
|
|
43
|
-
exclude: /(node_modules|bower_components)/,
|
|
44
|
-
use: {
|
|
45
|
-
loader: "babel-loader",
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
module.exports = config;
|