Skip to content

Commit

Permalink
Merge pull request #39 from bcomnes/tree-printing
Browse files Browse the repository at this point in the history
Add basic tree printing
  • Loading branch information
bcomnes authored Jan 22, 2022
2 parents edc78d1 + df0806c commit 64f4dbd
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 22 deletions.
47 changes: 44 additions & 3 deletions bin.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import minimist from 'minimist'
import cliclopts from 'cliclopts'
import { readFile } from 'fs/promises'
import { resolve, join } from 'path'
import { resolve, join, basename, sep } from 'path'
import desm from 'desm'
import process from 'process'
import tree from 'pretty-tree'
import cleanDeep from 'clean-deep'

import { Siteup } from './index.js'

Expand Down Expand Up @@ -100,8 +102,47 @@ async function run () {
if (!argv.watch) {
// TODO: handle warning and error output
const results = await siteup.build()
console.log(results)
console.log('done')
// console.dir(results, { color: true, depth: 999 })

const cwdDir = basename(cwd)
const srcDir = basename(src)
const destDir = basename(dest)

const treeStructure = {
label: `${join(cwdDir, srcDir)} => ${join(cwdDir, destDir)}`,
leaf: {
globalStyle: results?.siteData?.globalStyle?.basename,
globalClient: results?.siteData?.globalClient?.basename,
globalVars: results?.siteData?.globalVars?.basename,
rootLayout: results?.siteData?.rootLayout?.basename
},
nodes: []
}

for (const page of results?.siteData?.pages) {
const segments = page.page.relname.split(sep)
segments.pop()

let nodes = treeStructure.nodes
let targetNode = treeStructure

for (const segment of segments) {
targetNode = nodes.find(node => segment === node.label)
if (!targetNode) {
targetNode = { label: segment, leaf: {}, nodes: [] }
nodes.push(targetNode)
}
nodes = targetNode.nodes
}

targetNode.leaf[page.page.basename] = join(page.path, page.outputName)
if (page.pageStyle) targetNode.leaf[page.pageStyle.basename] = join(page.path, page.pageStyle.basename)
if (page.clientBundle) targetNode.leaf[page.clientBundle.basename] = join(page.path, page.clientBundle.basename)
if (page.pageVars) targetNode.leaf[page.pageVars.basename] = join(page.path, page.pageVars.basename)
}

console.log(tree(cleanDeep(treeStructure)))
console.log('Build Success!\n\n')
} else {
// TODO: handle watch data event or something... maybe like a async iterator?
const initialResults = await siteup.watch()
Expand Down
5 changes: 0 additions & 5 deletions examples/basic/src/conflict-page/README.md

This file was deleted.

3 changes: 0 additions & 3 deletions examples/basic/src/conflict-page/page.html

This file was deleted.

9 changes: 0 additions & 9 deletions examples/basic/src/conflict-page/page.js

This file was deleted.

1 change: 1 addition & 0 deletions lib/build-css/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ export async function buildCss (src, dest, siteData, opts) {
delete result.map
}
delete result.css
delete result.root
results.success.push(result)
} catch (err) {
const buildError = new Error('Error building css', { cause: err })
Expand Down
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"autoprefixer": "^10.3.1",
"cheerio": "^1.0.0-rc.10",
"chokidar": "^3.5.2",
"clean-deep": "^3.4.0",
"cliclopts": "^1.1.1",
"cpx2": "^4.0.0",
"desm": "^1.1.0",
Expand All @@ -48,6 +49,7 @@
"postcss-nesting": "^10.0.3",
"postcss-url": "^10.1.3",
"pretty": "^2.0.0",
"pretty-tree": "^1.0.0",
"uhtml-isomorphic": "^1.0.1",
"webassert": "^3.0.2"
},
Expand Down Expand Up @@ -80,8 +82,8 @@
"build-examples": "run-p example:*",
"example:basic": "cd examples/basic && npm i && npm run build",
"example:string-layouts": "cd examples/string-layouts && npm i && npm run build",
"example-skip:default-layout": "cd examples/default-layout && npm i && npm run build",
"example-skip:nested-dest": "cd examples/nested-dest && npm i && npm run build",
"example:default-layout": "cd examples/default-layout && npm i && npm run build",
"example:nested-dest": "cd examples/nested-dest && npm i && npm run build",
"example-skip:uhtml-isomorphic": "cd examples/nested-dest && npm i && npm run build",
"version": "run-s version:*",
"version:changelog": "auto-changelog -p --template keepachangelog auto-changelog --breaking-pattern 'BREAKING CHANGE:'",
Expand Down

0 comments on commit 64f4dbd

Please sign in to comment.