refactor: flatten nuxt3 src

some packages yet to be externalized
This commit is contained in:
Pooya Parsa 2021-03-28 23:12:16 +02:00
parent 547b8ec2a7
commit 636d1e38bb
41 changed files with 28 additions and 42 deletions

View File

@ -32,7 +32,7 @@ export class Builder {
} }
build () { build () {
return build(this) return _build(this)
} }
close () { close () {
@ -41,7 +41,7 @@ export class Builder {
} }
// Extends VueRouter // Extends VueRouter
async function build (builder: Builder) { async function _build (builder: Builder) {
const { nuxt } = builder const { nuxt } = builder
await fsExtra.emptyDir(nuxt.options.buildDir) await fsExtra.emptyDir(nuxt.options.buildDir)
@ -107,3 +107,11 @@ async function bundle ({ nuxt }: Builder) {
.then(p => p.bundle) .then(p => p.bundle)
return bundle(nuxt) return bundle(nuxt)
} }
export function getBuilder (nuxt: Nuxt) {
return new Builder(nuxt)
}
export function build (nuxt: Nuxt) {
return getBuilder(nuxt).build()
}

View File

@ -1,12 +0,0 @@
import type { Nuxt } from '../core'
import { Builder } from './builder'
export { Builder } from './builder'
export function getBuilder (nuxt: Nuxt) {
return new Builder(nuxt)
}
export function build (nuxt: Nuxt) {
return getBuilder(nuxt).build()
}

View File

@ -1,4 +0,0 @@
export { default as Module } from './module'
export { default as Nuxt } from './nuxt'
export { default as Resolver } from './resolver'
export { loadNuxt } from './load'

View File

@ -1,17 +0,0 @@
import { dirname } from 'path'
import { loadNuxtConfig } from '@nuxt/kit'
import Nuxt from './nuxt'
export interface LoadNuxtOptions {
}
export async function loadNuxt (opts: LoadNuxtOptions) {
const options = await loadNuxtConfig(opts)
// Temp
options.appDir = dirname(require.resolve('@nuxt/app'))
options._majorVersion = 3
const nuxt = new Nuxt(options)
await nuxt.ready()
return nuxt
}

View File

@ -1,3 +1,2 @@
export { loadNuxt } from './core' export { Nuxt, loadNuxt } from './nuxt'
export { build } from './builder' export { build } from './builder'
export { main } from '../../nu/src'

View File

@ -2,7 +2,6 @@ import path from 'path'
import fs from 'fs' import fs from 'fs'
import hash from 'hash-sum' import hash from 'hash-sum'
import consola from 'consola' import consola from 'consola'
import { chainFn, sequence } from '@nuxt/kit' import { chainFn, sequence } from '@nuxt/kit'
import Nuxt from './nuxt' import Nuxt from './nuxt'

View File

@ -1,10 +1,11 @@
import type { IncomingHttpHeaders } from 'http' import type { IncomingHttpHeaders } from 'http'
import { dirname } from 'path'
import isPlainObject from 'lodash/isPlainObject' import isPlainObject from 'lodash/isPlainObject'
import consola from 'consola' import consola from 'consola'
import Hookable from 'hookable' import Hookable from 'hookable'
import { loadNuxtConfig } from '@nuxt/kit'
import { version } from '../../package.json' import { version } from '../package.json'
import ModuleContainer from './module' import ModuleContainer from './module'
import Resolver from './resolver' import Resolver from './resolver'
@ -18,7 +19,7 @@ declare global {
} }
} }
export default class Nuxt extends Hookable { export class Nuxt extends Hookable {
_ready?: Promise<this> _ready?: Promise<this>
_initCalled?: boolean _initCalled?: boolean
@ -92,3 +93,15 @@ export default class Nuxt extends Hookable {
} }
} }
} }
export async function loadNuxt (opts: LoadNuxtOptions) {
const options = await loadNuxtConfig(opts)
// Temp
options.appDir = dirname(require.resolve('@nuxt/app'))
options._majorVersion = 3
const nuxt = new Nuxt(options)
await nuxt.ready()
return nuxt
}

View File

@ -8,7 +8,7 @@ import {
isExternalDependency, isExternalDependency,
clearRequireCache clearRequireCache
} from '@nuxt/kit' } from '@nuxt/kit'
import { Nuxt } from '../core' import { Nuxt } from './nuxt'
interface ResolvePathOptions { interface ResolvePathOptions {
isAlias?: boolean isAlias?: boolean