project helpers
This commit is contained in:
parent
682e0c29f3
commit
9fe788a35f
|
|
@ -4,20 +4,13 @@ import { join, extname } from "path"
|
|||
|
||||
import type { CommandOutput } from "app/src/shared/types"
|
||||
import { NOSE_WWW } from "app/src/config"
|
||||
import { getState } from "@/session"
|
||||
import { appDir } from "app/src/webapp"
|
||||
import { isBinaryFile } from "app/src/utils"
|
||||
import { highlight } from "../lib/highlight"
|
||||
import { projectName, projectDir } from "@/project"
|
||||
|
||||
export default async function (path: string) {
|
||||
const state = getState()
|
||||
if (!state) return { error: "no state" }
|
||||
|
||||
const project = state.project
|
||||
if (!project) return { error: "no project loaded" }
|
||||
|
||||
const root = appDir(project)
|
||||
if (!root) return { error: "error loading project" }
|
||||
const project = projectName()
|
||||
const root = projectDir()
|
||||
|
||||
let files: string[] = []
|
||||
|
||||
|
|
|
|||
|
|
@ -1,23 +1,15 @@
|
|||
import { escapeHTML } from "bun"
|
||||
import { readdirSync } from "fs"
|
||||
import { join, extname } from "path"
|
||||
|
||||
import type { CommandOutput } from "app/src/shared/types"
|
||||
import { NOSE_WWW } from "app/src/config"
|
||||
import { getState } from "@/session"
|
||||
import { appDir } from "app/src/webapp"
|
||||
import { isBinaryFile } from "app/src/utils"
|
||||
import { countChar } from "app/src/shared/utils"
|
||||
import { projectName, projectDir } from "@/project"
|
||||
|
||||
export default async function (path: string) {
|
||||
const state = getState()
|
||||
if (!state) return { error: "no state" }
|
||||
|
||||
const project = state.project
|
||||
if (!project) return { error: "no project loaded" }
|
||||
|
||||
const root = appDir(project)
|
||||
if (!root) return { error: "error loading project" }
|
||||
const project = projectName()
|
||||
const root = projectDir()
|
||||
|
||||
let files: string[] = []
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,15 @@
|
|||
import { readdirSync } from "fs"
|
||||
import { NOSE_WWW } from "app/src/config"
|
||||
import { getState } from "@/session"
|
||||
import { appDir } from "app/src/webapp"
|
||||
import { projectName, projectDir } from "@/project"
|
||||
|
||||
export default function () {
|
||||
const state = getState()
|
||||
if (!state) return { error: "no state" }
|
||||
|
||||
const project = state.project
|
||||
if (!project) return { error: "no project loaded" }
|
||||
|
||||
const root = appDir(project)
|
||||
if (!root) return { error: "error loading project" }
|
||||
const project = projectName()
|
||||
const root = projectDir()
|
||||
|
||||
let files: string[] = []
|
||||
|
||||
for (const file of readdirSync(root, { withFileTypes: true })) {
|
||||
files.push(file.name)
|
||||
files.push(file.isDirectory() ? `${file.name}/` : file.name)
|
||||
}
|
||||
|
||||
if (root === NOSE_WWW) {
|
||||
|
|
|
|||
22
app/src/project.ts
Normal file
22
app/src/project.ts
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
////
|
||||
// Helpers for working with projects in the CLI.
|
||||
|
||||
import { getState } from "./session"
|
||||
import { appDir } from "./webapp"
|
||||
|
||||
export function projectName(): string {
|
||||
const state = getState()
|
||||
if (!state) throw "no state"
|
||||
|
||||
const project = state.project
|
||||
if (!project) throw "no project loaded"
|
||||
|
||||
return project
|
||||
}
|
||||
|
||||
export function projectDir(): string {
|
||||
const root = appDir(projectName())
|
||||
if (!root) throw "error loading project"
|
||||
|
||||
return root
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user