@valbuild/cli 0.12.0

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.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "targets": {
3
+ "node": 16
4
+ }
5
+ }
package/CHANGELOG.md ADDED
File without changes
package/bin.js ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ require("./cli");
@@ -0,0 +1,2 @@
1
+ export * from "../../dist/declarations/src/cli";
2
+ //# sourceMappingURL=valbuild-cli-cli.cjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valbuild-cli-cli.cjs.d.ts","sourceRoot":"","sources":["../../dist/declarations/src/cli.d.ts"],"names":[],"mappings":"AAAA"}
@@ -0,0 +1,123 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var meow = require('meow');
5
+ var server = require('@valbuild/server');
6
+ var chalk = require('chalk');
7
+ var express = require('express');
8
+ var cors = require('cors');
9
+ var node_http = require('node:http');
10
+ var LocalValServer = require('@valbuild/server/src/LocalValServer');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
13
+
14
+ var path__default = /*#__PURE__*/_interopDefault(path);
15
+ var meow__default = /*#__PURE__*/_interopDefault(meow);
16
+ var chalk__default = /*#__PURE__*/_interopDefault(chalk);
17
+ var express__default = /*#__PURE__*/_interopDefault(express);
18
+ var cors__default = /*#__PURE__*/_interopDefault(cors);
19
+
20
+ function error(...message) {
21
+ console.error(chalk__default["default"].red(...message));
22
+ }
23
+ function info(...message) {
24
+ console.log(...message);
25
+ }
26
+
27
+ async function serve({
28
+ root,
29
+ port,
30
+ cfg
31
+ }) {
32
+ const projectRoot = root ? path__default["default"].resolve(root) : process.cwd();
33
+ const service = await server.createService(projectRoot, {
34
+ valConfigPath: cfg ?? "./val.config"
35
+ });
36
+ const valReqHandler = server.createRequestHandler(new LocalValServer.LocalValServer({
37
+ service
38
+ }));
39
+ const app = express__default["default"]();
40
+ // TODO: Properly configure CORS
41
+ app.use(cors__default["default"](), valReqHandler);
42
+ const server$1 = node_http.createServer(app);
43
+ await new Promise(resolve => {
44
+ server$1.listen(port, resolve);
45
+ });
46
+ info(`Root is ${projectRoot}`);
47
+ info(`Config is ${service.valConfigPath}`);
48
+ info(`Listening on port ${port}`);
49
+ let handled = false;
50
+ const handleInterrupt = async () => {
51
+ if (handled) return;
52
+ handled = true;
53
+ info("Shutting down...");
54
+ server$1.close(err => {
55
+ if (!err) return;
56
+ error(err.toString());
57
+ });
58
+ };
59
+ process.on("SIGINT", handleInterrupt);
60
+ process.on("SIGTERM", handleInterrupt);
61
+ return new Promise(resolve => {
62
+ server$1.on("close", () => {
63
+ service.dispose();
64
+ resolve();
65
+ });
66
+ });
67
+ }
68
+ async function main() {
69
+ const {
70
+ input,
71
+ flags,
72
+ showHelp
73
+ } = meow__default["default"](`
74
+ Usage
75
+ $ val [command]
76
+ Commands
77
+ serve Run val development server
78
+
79
+ Options
80
+ --help Show this message
81
+ --port [port], -p [port] Set server port (default 4123)
82
+ --root [root], -r [root] Set project root directory (default process.cwd())
83
+ --cfg [cfg], -c [cfg] Set path to config relative to root (default ./val.config)
84
+ `, {
85
+ flags: {
86
+ port: {
87
+ type: "number",
88
+ alias: "p",
89
+ default: 4123
90
+ },
91
+ root: {
92
+ type: "string",
93
+ alias: "r"
94
+ },
95
+ cfg: {
96
+ type: "string",
97
+ alias: "c"
98
+ }
99
+ },
100
+ hardRejection: false
101
+ });
102
+ if (input.length === 0) {
103
+ return showHelp();
104
+ }
105
+ if (input.length !== 1) {
106
+ return error(`Unknown command "${input.join(" ")}"`);
107
+ }
108
+ const [command] = input;
109
+ switch (command) {
110
+ case "serve":
111
+ return serve({
112
+ root: flags.root,
113
+ port: flags.port,
114
+ cfg: flags.cfg
115
+ });
116
+ default:
117
+ return error(`Unknown command "${input.join(" ")}"`);
118
+ }
119
+ }
120
+ void main().catch(err => {
121
+ error(err);
122
+ process.exitCode = 1;
123
+ });
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./valbuild-cli-cli.cjs.prod.js");
5
+ } else {
6
+ module.exports = require("./valbuild-cli-cli.cjs.dev.js");
7
+ }
@@ -0,0 +1,123 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var meow = require('meow');
5
+ var server = require('@valbuild/server');
6
+ var chalk = require('chalk');
7
+ var express = require('express');
8
+ var cors = require('cors');
9
+ var node_http = require('node:http');
10
+ var LocalValServer = require('@valbuild/server/src/LocalValServer');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
13
+
14
+ var path__default = /*#__PURE__*/_interopDefault(path);
15
+ var meow__default = /*#__PURE__*/_interopDefault(meow);
16
+ var chalk__default = /*#__PURE__*/_interopDefault(chalk);
17
+ var express__default = /*#__PURE__*/_interopDefault(express);
18
+ var cors__default = /*#__PURE__*/_interopDefault(cors);
19
+
20
+ function error(...message) {
21
+ console.error(chalk__default["default"].red(...message));
22
+ }
23
+ function info(...message) {
24
+ console.log(...message);
25
+ }
26
+
27
+ async function serve({
28
+ root,
29
+ port,
30
+ cfg
31
+ }) {
32
+ const projectRoot = root ? path__default["default"].resolve(root) : process.cwd();
33
+ const service = await server.createService(projectRoot, {
34
+ valConfigPath: cfg ?? "./val.config"
35
+ });
36
+ const valReqHandler = server.createRequestHandler(new LocalValServer.LocalValServer({
37
+ service
38
+ }));
39
+ const app = express__default["default"]();
40
+ // TODO: Properly configure CORS
41
+ app.use(cors__default["default"](), valReqHandler);
42
+ const server$1 = node_http.createServer(app);
43
+ await new Promise(resolve => {
44
+ server$1.listen(port, resolve);
45
+ });
46
+ info(`Root is ${projectRoot}`);
47
+ info(`Config is ${service.valConfigPath}`);
48
+ info(`Listening on port ${port}`);
49
+ let handled = false;
50
+ const handleInterrupt = async () => {
51
+ if (handled) return;
52
+ handled = true;
53
+ info("Shutting down...");
54
+ server$1.close(err => {
55
+ if (!err) return;
56
+ error(err.toString());
57
+ });
58
+ };
59
+ process.on("SIGINT", handleInterrupt);
60
+ process.on("SIGTERM", handleInterrupt);
61
+ return new Promise(resolve => {
62
+ server$1.on("close", () => {
63
+ service.dispose();
64
+ resolve();
65
+ });
66
+ });
67
+ }
68
+ async function main() {
69
+ const {
70
+ input,
71
+ flags,
72
+ showHelp
73
+ } = meow__default["default"](`
74
+ Usage
75
+ $ val [command]
76
+ Commands
77
+ serve Run val development server
78
+
79
+ Options
80
+ --help Show this message
81
+ --port [port], -p [port] Set server port (default 4123)
82
+ --root [root], -r [root] Set project root directory (default process.cwd())
83
+ --cfg [cfg], -c [cfg] Set path to config relative to root (default ./val.config)
84
+ `, {
85
+ flags: {
86
+ port: {
87
+ type: "number",
88
+ alias: "p",
89
+ default: 4123
90
+ },
91
+ root: {
92
+ type: "string",
93
+ alias: "r"
94
+ },
95
+ cfg: {
96
+ type: "string",
97
+ alias: "c"
98
+ }
99
+ },
100
+ hardRejection: false
101
+ });
102
+ if (input.length === 0) {
103
+ return showHelp();
104
+ }
105
+ if (input.length !== 1) {
106
+ return error(`Unknown command "${input.join(" ")}"`);
107
+ }
108
+ const [command] = input;
109
+ switch (command) {
110
+ case "serve":
111
+ return serve({
112
+ root: flags.root,
113
+ port: flags.port,
114
+ cfg: flags.cfg
115
+ });
116
+ default:
117
+ return error(`Unknown command "${input.join(" ")}"`);
118
+ }
119
+ }
120
+ void main().catch(err => {
121
+ error(err);
122
+ process.exitCode = 1;
123
+ });
@@ -0,0 +1,113 @@
1
+ import path from 'path';
2
+ import meow from 'meow';
3
+ import { createService, createRequestHandler } from '@valbuild/server';
4
+ import chalk from 'chalk';
5
+ import express from 'express';
6
+ import cors from 'cors';
7
+ import { createServer } from 'node:http';
8
+ import { LocalValServer } from '@valbuild/server/src/LocalValServer';
9
+
10
+ function error(...message) {
11
+ console.error(chalk.red(...message));
12
+ }
13
+ function info(...message) {
14
+ console.log(...message);
15
+ }
16
+
17
+ async function serve({
18
+ root,
19
+ port,
20
+ cfg
21
+ }) {
22
+ const projectRoot = root ? path.resolve(root) : process.cwd();
23
+ const service = await createService(projectRoot, {
24
+ valConfigPath: cfg ?? "./val.config"
25
+ });
26
+ const valReqHandler = createRequestHandler(new LocalValServer({
27
+ service
28
+ }));
29
+ const app = express();
30
+ // TODO: Properly configure CORS
31
+ app.use(cors(), valReqHandler);
32
+ const server = createServer(app);
33
+ await new Promise(resolve => {
34
+ server.listen(port, resolve);
35
+ });
36
+ info(`Root is ${projectRoot}`);
37
+ info(`Config is ${service.valConfigPath}`);
38
+ info(`Listening on port ${port}`);
39
+ let handled = false;
40
+ const handleInterrupt = async () => {
41
+ if (handled) return;
42
+ handled = true;
43
+ info("Shutting down...");
44
+ server.close(err => {
45
+ if (!err) return;
46
+ error(err.toString());
47
+ });
48
+ };
49
+ process.on("SIGINT", handleInterrupt);
50
+ process.on("SIGTERM", handleInterrupt);
51
+ return new Promise(resolve => {
52
+ server.on("close", () => {
53
+ service.dispose();
54
+ resolve();
55
+ });
56
+ });
57
+ }
58
+ async function main() {
59
+ const {
60
+ input,
61
+ flags,
62
+ showHelp
63
+ } = meow(`
64
+ Usage
65
+ $ val [command]
66
+ Commands
67
+ serve Run val development server
68
+
69
+ Options
70
+ --help Show this message
71
+ --port [port], -p [port] Set server port (default 4123)
72
+ --root [root], -r [root] Set project root directory (default process.cwd())
73
+ --cfg [cfg], -c [cfg] Set path to config relative to root (default ./val.config)
74
+ `, {
75
+ flags: {
76
+ port: {
77
+ type: "number",
78
+ alias: "p",
79
+ default: 4123
80
+ },
81
+ root: {
82
+ type: "string",
83
+ alias: "r"
84
+ },
85
+ cfg: {
86
+ type: "string",
87
+ alias: "c"
88
+ }
89
+ },
90
+ hardRejection: false
91
+ });
92
+ if (input.length === 0) {
93
+ return showHelp();
94
+ }
95
+ if (input.length !== 1) {
96
+ return error(`Unknown command "${input.join(" ")}"`);
97
+ }
98
+ const [command] = input;
99
+ switch (command) {
100
+ case "serve":
101
+ return serve({
102
+ root: flags.root,
103
+ port: flags.port,
104
+ cfg: flags.cfg
105
+ });
106
+ default:
107
+ return error(`Unknown command "${input.join(" ")}"`);
108
+ }
109
+ }
110
+ void main().catch(err => {
111
+ error(err);
112
+ process.exitCode = 1;
113
+ });
@@ -0,0 +1,4 @@
1
+ {
2
+ "main": "dist/valbuild-cli-cli.cjs.js",
3
+ "module": "dist/valbuild-cli-cli.esm.js"
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function error(...message: string[]): void;
2
+ export declare function info(...message: string[]): void;
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@valbuild/cli",
3
+ "version": "0.12.0",
4
+ "description": "Val CLI tools",
5
+ "bin": {
6
+ "val": "./bin.js"
7
+ },
8
+ "exports": {
9
+ "./cli": {
10
+ "module": "./cli/dist/valbuild-cli-cli.esm.js",
11
+ "default": "./cli/dist/valbuild-cli-cli.cjs.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "scripts": {
16
+ "typecheck": "tsc --noEmit"
17
+ },
18
+ "dependencies": {
19
+ "@valbuild/server": "~0.12.0",
20
+ "chalk": "^4.1.2",
21
+ "cors": "^2.8.5",
22
+ "express": "^4.18.2",
23
+ "meow": "^9.0.0"
24
+ },
25
+ "preconstruct": {
26
+ "entrypoints": [
27
+ "cli.ts"
28
+ ]
29
+ },
30
+ "engines": {
31
+ "node": ">=16.0.0"
32
+ }
33
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "compilerOptions": {
3
+ "strict": true,
4
+ "isolatedModules": true,
5
+ "noEmit": true,
6
+ "esModuleInterop": true,
7
+ "module": "esnext",
8
+ "moduleResolution": "node"
9
+ }
10
+ }