Skip to content

Commit

Permalink
fix: serialize manifest instead of emitting it
Browse files Browse the repository at this point in the history
  • Loading branch information
brillout committed Dec 13, 2023
1 parent 73dc5df commit a085605
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 48 deletions.
14 changes: 8 additions & 6 deletions telefunc/node/vite/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
export { plugin as telefunc }
export default plugin

import type { Plugin } from 'vite'
import { transform } from './plugins/transform'
import { commonConfig } from './plugins/commonConfig'
import { devConfig } from './plugins/devConfig'
Expand All @@ -11,15 +10,19 @@ import { packageJsonFile } from './plugins/packageJsonFile'
import { importBuild } from './plugins/importBuild'
import { previewConfig } from './plugins/previewConfig'
import { printShieldGenResult } from './plugins/printShieldGenResult'
import { manifest } from './plugins/manifest'
import { importGlobOn } from './importGlob/toggle'

import { ConfigUser } from '../server/serverConfig'
import { config } from '../server/serverConfig'
import type { Plugin } from 'vite'
import type { ConfigUser } from '../server/serverConfig'

// Return as `any` to avoid Plugin type mismatches when there are multiple Vite versions installed
function plugin(config?: ConfigUser): any {
function plugin(configUser?: ConfigUser): any {
importGlobOn()

// - For dev
// - Ensures that `configUser` is valid before `config` is serialized while building
Object.assign(config, configUser)

const plugins: Plugin[] = [
transform(),
commonConfig(),
Expand All @@ -29,7 +32,6 @@ function plugin(config?: ConfigUser): any {
packageJsonFile(),
...importBuild(),
previewConfig(),
manifest(config),
printShieldGenResult()
]
return plugins
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export { assertManifest }
export type { Manifest }

import { assertUsage, projectInfo, assert, hasProp, checkType } from '../../utils'

Expand Down
14 changes: 14 additions & 0 deletions telefunc/node/vite/plugins/importBuild/getTelefuncManifest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export { getTelefuncManifest }

import { config } from '../../../server/serverConfig'
import { projectInfo } from '../../utils'
import { assertManifest, type Manifest } from './assertManifest'

function getTelefuncManifest(): Manifest {
const manifest = {
version: projectInfo.projectVersion,
config
}
assertManifest(manifest)
return manifest
}
6 changes: 4 additions & 2 deletions telefunc/node/vite/plugins/importBuild/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type { Plugin, ResolvedConfig } from 'vite'
import { assert, assertPosixPath, getOutDirAbsolute, projectInfo, toPosixPath } from '../../utils'
import path from 'path'
import { telefuncFilesGlobFileNameBase } from '../../importGlob/telefuncFilesGlobFileNameBase'
import { manifestFileName } from '../manifest'
import { getTelefuncManifest } from './getTelefuncManifest'

function importBuild(): Plugin[] {
let config: ResolvedConfig
Expand All @@ -30,13 +30,15 @@ function importBuild(): Plugin[] {
function getImporterCode(config: ResolvedConfig, telefuncFilesEntry: string) {
const importPath = getImportPath(config)

const telefuncManifest = getTelefuncManifest()

// console.log(`\n importPath: ${importPath}\n outDirServer: ${outDirServer}\n importPathAbsolute: ${importPathAbsolute}\n config.build.outDir: ${config.build.outDir}`)
const importerCode = [
'{',
` const { setLoaders } = require('${importPath}');`,
' setLoaders({',
` loadTelefuncFiles: () => import('./${telefuncFilesEntry}'),`,
` loadManifest: () => require('./${manifestFileName}')`,
` loadManifest: () => (${JSON.stringify(telefuncManifest, null, 2)})`,
' });',
'}',
''
Expand Down
2 changes: 1 addition & 1 deletion telefunc/node/vite/plugins/importBuild/loadBuild.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ export { setLoaders }

import { config } from '../../../server/serverConfig'
import { getGlobalObject } from '../../utils'
import { assertManifest } from '../manifest/assertManifest'
import { assertManifest } from './assertManifest'

const globalObject = getGlobalObject<{
loadTelefuncFiles?: LoadTelefuncFiles
Expand Down
39 changes: 0 additions & 39 deletions telefunc/node/vite/plugins/manifest/index.ts

This file was deleted.

0 comments on commit a085605

Please sign in to comment.