Skip to content

Commit

Permalink
feat(cli): add --open to dev command, fix #257
Browse files Browse the repository at this point in the history
  • Loading branch information
Akryum committed Feb 8, 2023
1 parent 7ce2088 commit 876161b
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 1 deletion.
1 change: 1 addition & 0 deletions packages/histoire/src/node/bin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ program.version(version)
program.command('dev')
.describe('open the stories in your browser for development')
.option('-p, --port <port>', 'Listening port of the server')
.option('--open', 'Open in your default browser')
.action(async (options) => {
const { devCommand } = await import('./commands/dev.js')
return devCommand(options)
Expand Down
6 changes: 5 additions & 1 deletion packages/histoire/src/node/commands/dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { createServer } from '../server.js'

export interface DevOptions {
port: number
open?: boolean
}

export async function devCommand (options: DevOptions) {
Expand All @@ -15,7 +16,10 @@ export async function devCommand (options: DevOptions) {
const ctx = await createContext({
mode: 'dev',
})
const { server, viteConfigFile, close } = await createServer(ctx, { port: options.port })
const { server, viteConfigFile, close } = await createServer(ctx, {
port: options.port,
open: options.open,
})
server.printUrls()

// Histoire config watcher
Expand Down
6 changes: 6 additions & 0 deletions packages/histoire/src/node/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,17 @@ import { createMarkdownFilesWatcher, onMarkdownListChange } from './markdown.js'

export interface CreateServerOptions {
port?: number
open?: boolean
}

export async function createServer (ctx: Context, options: CreateServerOptions = {}) {
const getViteServer = async (collecting: boolean) => {
const { viteConfig, viteConfigFile } = await getViteConfigWithPlugins(collecting, ctx)

if (!collecting && options.open) {
viteConfig.server.open = true
}

const server = await createViteServer(viteConfig)
await server.pluginContainer.buildStart({})
return {
Expand Down

0 comments on commit 876161b

Please sign in to comment.