1
mirror of https://github.com/jakejarvis/jakejarvis.git synced 2025-04-26 06:35:23 -04:00

try compiling CLI to one dependency-free file

This commit is contained in:
Jake Jarvis 2021-08-07 20:17:37 -04:00
parent 48775edbba
commit 9d488db184
Signed by: jake
GPG Key ID: 2B0C9CF251E69A39
5 changed files with 1954 additions and 430 deletions

1
cli/.gitignore vendored
View File

@ -1 +1,2 @@
node_modules/
dist/

View File

@ -1,12 +1,20 @@
#!/usr/bin/env node
'use strict';
const meow = require('meow');
const React = require('react');
const {Box, Text} = require('ink');
const {render, Box, Text} = require('ink');
const BigText = require('ink-big-text');
const Gradient = require('ink-gradient');
const SelectInput = require('ink-select-input').default;
const open = require('open');
meow(`
Usage
$ npx @jakejarvis/cli
`);
const handleSelect = item => {
if (item.url) {
open(item.url);
@ -62,7 +70,7 @@ const items = createItems([
}
]);
const menu = () => (
const Menu = () => (
<Box flexDirection="column">
<Gradient name="pastel">
<BigText text="Jake Jarvis"/>
@ -74,4 +82,4 @@ const menu = () => (
</Box>
);
module.exports = menu;
render(<Menu />);

View File

@ -22,29 +22,42 @@
"node": "^12 || ^14 || >=16"
},
"files": [
"src/*"
"dist/index.js"
],
"bin": {
"jakejarvis": "./src/cli.js"
"jakejarvis": "./dist/index.js"
},
"scripts": {
"cli": "node ./src/cli.js",
"test": "eslint ./src/*.js"
"clean": "rimraf dist",
"compile": "babel index.js -o dist/babel.js && ncc build dist/babel.js -o dist && rimraf dist/babel.js",
"run": "yarn compile && node dist/index.js",
"test": "eslint ./src/*.js",
"prepublishOnly": "yarn clean && yarn compile"
},
"dependencies": {
"import-jsx": "^4.0.0",
"ink": "^3.0.8",
"dependencies": {},
"devDependencies": {
"@babel/cli": "^7.14.8",
"@babel/core": "^7.15.0",
"@babel/preset-env": "^7.15.0",
"@babel/preset-react": "^7.14.5",
"@vercel/ncc": "^0.29.0",
"eslint": "^7.32.0",
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-react-hooks": "^4.2.0",
"ink": "^3.0.9",
"ink-big-text": "^1.2.0",
"ink-gradient": "^2.0.0",
"ink-select-input": "^4.2.0",
"meow": "^9.0.0",
"open": "^8.2.0",
"react": "^16.x"
"open": "^8.2.1",
"react": "^16.x",
"rimraf": "^3.0.2"
},
"devDependencies": {
"eslint": "^7.27.0",
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-react-hooks": "^4.2.0"
"babel": {
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
},
"eslintConfig": {
"extends": [

View File

@ -1,17 +0,0 @@
#!/usr/bin/env node
'use strict';
const meow = require('meow');
const importJsx = require('import-jsx');
const React = require('react');
const {render} = require('ink');
const menu = importJsx('./menu');
meow(`
Usage
$ npx @jakejarvis/cli
`);
render(React.createElement(menu));

File diff suppressed because it is too large Load Diff