feat(gpt-runner-cli): move to cjs and install less deps in user pc
This commit is contained in:
@@ -6,9 +6,10 @@
|
||||
"msw",
|
||||
"open",
|
||||
"commander",
|
||||
"axios"
|
||||
"axios",
|
||||
"execa"
|
||||
],
|
||||
"packageMode": {
|
||||
"react": "minor"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env node
|
||||
'use strict'
|
||||
import('../dist/cli.mjs')
|
||||
require('../dist/cli.cjs')
|
||||
@@ -1,5 +1,15 @@
|
||||
import { defineBuildConfig } from 'unbuild'
|
||||
|
||||
function createGetChunkFilename(ctx: any) {
|
||||
return function (chunk: any, ext: string) {
|
||||
if (chunk.isDynamicEntry)
|
||||
return `chunks/[name].${ext}`
|
||||
|
||||
// TODO: Find a way to generate human friendly hash for short groups
|
||||
return `${ctx.options.name}.[hash].${ext}`
|
||||
}
|
||||
}
|
||||
|
||||
export default defineBuildConfig({
|
||||
entries: [
|
||||
{
|
||||
@@ -11,6 +21,42 @@ export default defineBuildConfig({
|
||||
clean: true,
|
||||
declaration: true,
|
||||
rollup: {
|
||||
emitCJS: true,
|
||||
resolve: {
|
||||
exportConditions: ['node'],
|
||||
},
|
||||
commonjs: {},
|
||||
inlineDependencies: true,
|
||||
},
|
||||
hooks: {
|
||||
'rollup:options': function (ctx, rollupOptions) {
|
||||
if (!rollupOptions.output)
|
||||
return
|
||||
|
||||
if (!Array.isArray(rollupOptions.output))
|
||||
rollupOptions.output = [rollupOptions.output]
|
||||
|
||||
const getChunkFilename = createGetChunkFilename(ctx)
|
||||
rollupOptions.output.forEach((output) => {
|
||||
const format = output.format || 'cjs'
|
||||
const ext = format === 'esm' ? 'mjs' : format
|
||||
output.chunkFileNames = chunk => getChunkFilename(chunk, ext)
|
||||
|
||||
if (format === 'esm') {
|
||||
output.banner = `
|
||||
import $__url__$ from 'url'
|
||||
import $__path__$ from 'path'
|
||||
|
||||
const __filename = $__url__$.fileURLToPath(import.meta.url);
|
||||
const __dirname = $__path__$.dirname(__filename);
|
||||
|
||||
${output.banner || ''}
|
||||
`
|
||||
}
|
||||
})
|
||||
|
||||
// remove esm
|
||||
rollupOptions.output = rollupOptions.output.filter(output => output.format !== 'esm')
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
"anthropic"
|
||||
],
|
||||
"bin": {
|
||||
"gptr": "./bin/gpt-runner.mjs"
|
||||
"gptr": "./bin/gpt-runner.cjs"
|
||||
},
|
||||
"files": [
|
||||
"bin/",
|
||||
@@ -46,14 +46,16 @@
|
||||
"stub": "unbuild --stub"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nicepkg/gpt-runner-core": "workspace:*",
|
||||
"@nicepkg/gpt-runner-shared": "workspace:*",
|
||||
"@nicepkg/gpt-runner-web": "workspace:*",
|
||||
"@nicepkg/gpt-runner-web": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"cac": "^6.7.14",
|
||||
"chokidar": "^3.5.3",
|
||||
"colorette": "^2.0.20",
|
||||
"consola": "^3.2.3",
|
||||
"execa": "^7.2.0",
|
||||
"wait-port": "^1.0.4"
|
||||
"execa": "5.1.1",
|
||||
"wait-port": "^1.0.4",
|
||||
"@nicepkg/gpt-runner-core": "workspace:*",
|
||||
"@nicepkg/gpt-runner-shared": "workspace:*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { loadUserConfig } from '@nicepkg/gpt-runner-core'
|
||||
import { PathUtils, Tunnel, checkNodeVersion, getLocalHostname, getPort, getRunServerEnv, openInBrowser } from '@nicepkg/gpt-runner-shared/node'
|
||||
import { consola } from 'consola'
|
||||
import { cyan, green } from 'colorette'
|
||||
import { execa } from 'execa'
|
||||
import execa from 'execa'
|
||||
import waitPort from 'wait-port'
|
||||
import { Debug } from '@nicepkg/gpt-runner-shared/common'
|
||||
import { version } from '../package.json'
|
||||
@@ -64,7 +64,11 @@ export async function startCli(cwd = PathUtils.resolve(process.cwd()), argv = pr
|
||||
GPTR_ONLY_LOAD_CONFIG_PATH: options.config || '',
|
||||
},
|
||||
stdio: 'inherit',
|
||||
})?.pipeStdout?.(process.stdout)?.pipeStderr?.(process.stderr)
|
||||
}).on('message', (message) => {
|
||||
consola.info(message)
|
||||
}).on('error', (error) => {
|
||||
consola.error(error)
|
||||
})
|
||||
}
|
||||
catch (error) {
|
||||
consola.error(error)
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
import type { UserConfig } from '@nicepkg/gpt-runner-core'
|
||||
|
||||
export const defaultConfig: UserConfig = {
|
||||
}
|
||||
24
pnpm-lock.yaml
generated
24
pnpm-lock.yaml
generated
@@ -128,15 +128,16 @@ importers:
|
||||
|
||||
packages/gpt-runner-cli:
|
||||
dependencies:
|
||||
'@nicepkg/gpt-runner-web':
|
||||
specifier: workspace:*
|
||||
version: link:../gpt-runner-web
|
||||
devDependencies:
|
||||
'@nicepkg/gpt-runner-core':
|
||||
specifier: workspace:*
|
||||
version: link:../gpt-runner-core
|
||||
'@nicepkg/gpt-runner-shared':
|
||||
specifier: workspace:*
|
||||
version: link:../gpt-runner-shared
|
||||
'@nicepkg/gpt-runner-web':
|
||||
specifier: workspace:*
|
||||
version: link:../gpt-runner-web
|
||||
cac:
|
||||
specifier: ^6.7.14
|
||||
version: 6.7.14
|
||||
@@ -150,8 +151,8 @@ importers:
|
||||
specifier: ^3.2.3
|
||||
version: 3.2.3
|
||||
execa:
|
||||
specifier: ^7.2.0
|
||||
version: 7.2.0
|
||||
specifier: 5.1.1
|
||||
version: 5.1.1
|
||||
wait-port:
|
||||
specifier: ^1.0.4
|
||||
version: 1.0.4
|
||||
@@ -9133,6 +9134,7 @@ packages:
|
||||
/cac@6.7.14:
|
||||
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/cacache@16.1.3:
|
||||
resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==}
|
||||
@@ -9590,6 +9592,7 @@ packages:
|
||||
/commander@9.5.0:
|
||||
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
|
||||
engines: {node: ^12.20.0 || >=14}
|
||||
dev: true
|
||||
|
||||
/common-tags@1.8.2:
|
||||
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
|
||||
@@ -9646,7 +9649,7 @@ packages:
|
||||
/consola@3.2.3:
|
||||
resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
|
||||
engines: {node: ^14.18.0 || >=16.10.0}
|
||||
dev: false
|
||||
dev: true
|
||||
|
||||
/console-control-strings@1.1.0:
|
||||
resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
|
||||
@@ -11932,6 +11935,7 @@ packages:
|
||||
onetime: 6.0.0
|
||||
signal-exit: 3.0.7
|
||||
strip-final-newline: 3.0.0
|
||||
dev: true
|
||||
|
||||
/exenv-es6@1.1.1:
|
||||
resolution: {integrity: sha512-vlVu3N8d6yEMpMsEm+7sUBAI81aqYYuEvfK0jNqmdb/OPXzzH7QWDDnVjMvDSY47JdHEqx/dfC/q8WkfoTmpGQ==}
|
||||
@@ -13139,6 +13143,7 @@ packages:
|
||||
/human-signals@4.3.1:
|
||||
resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
|
||||
engines: {node: '>=14.18.0'}
|
||||
dev: true
|
||||
|
||||
/humanize-ms@1.2.1:
|
||||
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
|
||||
@@ -13624,6 +13629,7 @@ packages:
|
||||
/is-stream@3.0.0:
|
||||
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/is-string@1.0.7:
|
||||
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
|
||||
@@ -15107,6 +15113,7 @@ packages:
|
||||
/mimic-fn@4.0.0:
|
||||
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/mimic-response@1.0.1:
|
||||
resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
|
||||
@@ -15683,6 +15690,7 @@ packages:
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dependencies:
|
||||
path-key: 4.0.0
|
||||
dev: true
|
||||
|
||||
/npm-to-yarn@2.0.0:
|
||||
resolution: {integrity: sha512-/IbjiJ7vqbxfxJxAZ+QI9CCRjnIbvGxn5KQcSY9xHh0lMKc/Sgqmm7yp7KPmd6TiTZX5/KiSBKlkGHo59ucZbg==}
|
||||
@@ -15785,6 +15793,7 @@ packages:
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
mimic-fn: 4.0.0
|
||||
dev: true
|
||||
|
||||
/open@8.4.2:
|
||||
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
|
||||
@@ -16073,6 +16082,7 @@ packages:
|
||||
/path-key@4.0.0:
|
||||
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/path-parse@1.0.7:
|
||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||
@@ -18877,6 +18887,7 @@ packages:
|
||||
/strip-final-newline@3.0.0:
|
||||
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/strip-indent@3.0.0:
|
||||
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
|
||||
@@ -20405,6 +20416,7 @@ packages:
|
||||
debug: 4.3.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/walk-up-path@3.0.1:
|
||||
resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==}
|
||||
|
||||
Reference in New Issue
Block a user