@khatastroffik/treefolder 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +5 -0
  2. package/dist/index.js +9 -11
  3. package/package.json +39 -4
package/README.md CHANGED
@@ -42,6 +42,7 @@ This is the recommanded and easiest approach.
42
42
  1. [Styled output](#styled-output)
43
43
  1. [Version information](#version-information)
44
44
  1. [Verbose output](#verbose-output)
45
+ 1. [Debug Output](#debug-output)
45
46
 
46
47
  ### Auto "root folder"
47
48
 
@@ -90,6 +91,10 @@ Use the command line argument `--version` or `-v` to display the version informa
90
91
 
91
92
  When the flag i.e. command line argument `--verbose` is defined/set, then a few more information will be displayed together with the tree representation.
92
93
 
94
+ ### Debug output
95
+
96
+ Use the flag `--debug` (short `-d`) to display additional information about the used tool configuration.
97
+
93
98
  ## Development
94
99
 
95
100
  ### Manually install as a globally available CLI tool `tfold`
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #! /usr/bin/env node
2
- "use strict";var E=Object.create;var $=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var _=(e,t,n,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of O(t))!K.call(e,r)&&r!==n&&$(e,r,{get:()=>t[r],enumerable:!(l=M(t,r))||l.enumerable});return e};var u=(e,t,n)=>(n=e!=null?E(S(e)):{},_(t||!e||!e.__esModule?$(n,"default",{value:e,enumerable:!0}):n,e));var h=u(require("node:path"));var s=class{static folderCount=1;static fileCount=0;static ignoredCount=0;static commandLineArgs={}};var b=require("node:process"),f=require("node:util");var p="1.2.0";function a(e){return(0,f.styleText)(typeof e=="number"?"yellow":"blueBright",`${e}`)}async function R(){let e=await fetch("https://registry.npmjs.org/@khatastroffik/treefolder");return await new Promise(l=>setTimeout(l,100)),(await e.json())["dist-tags"].latest}async function P(){if(o.version){let e=`
2
+ "use strict";var O=Object.create;var F=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var R=(e,t,n,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of M(t))!K.call(e,i)&&i!==n&&F(e,i,{get:()=>t[i],enumerable:!(l=S(t,i))||l.enumerable});return e};var u=(e,t,n)=>(n=e!=null?O(z(e)):{},R(t||!e||!e.__esModule?F(n,"default",{value:e,enumerable:!0}):n,e));var b=u(require("node:path"));var s=class{static folderCount=1;static fileCount=0;static ignoredCount=0;static commandLineArgs={}};var h=require("node:process"),f=require("node:util");var p="1.3.1";function r(e){return(0,f.styleText)(typeof e=="number"?"yellow":"blueBright",`${e}`)}async function G(){let e=await fetch("https://registry.npmjs.org/@khatastroffik/treefolder");return await new Promise(l=>setTimeout(l,100)),(await e.json())["dist-tags"].latest}async function $(){if(o.version){let e=`
3
3
  \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510
4
4
  | |
5
5
  \u256D\u2501\u2533\u2501\u256D\u2501\u256D\u2501\u256E\u256E
@@ -12,7 +12,7 @@
12
12
  \u2523\u2501\u2501\u2501\u2501\u2501\u2501\u252B
13
13
  | |
14
14
  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 made by khatastroffik \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518
15
- `,t,n=await R();return n&&n!==p&&(t=(0,f.styleText)("yellow",`
15
+ `,t,n=await G();return n&&n!==p&&(t=(0,f.styleText)("yellow",`
16
16
  \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510
17
17
  | A new version of Treefolder is available: |
18
18
  | current: ${p} -> latest: ${n} |
@@ -20,19 +20,17 @@
20
20
  | Install the latest version with: |
21
21
  | "npm update -g @khatastroffik/treefolder@latest" |
22
22
  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518
23
- `)),console.info(a(`
23
+ `)),console.info(r(`
24
24
  Treefolder aka "tfold"
25
25
  Version ${p}
26
26
 
27
27
  https://npmjs.com/@khatastroffik/treefolder
28
- ${t??e}`)),(0,b.exit)(0)}}async function j(){o.verbose&&(console.info(a(`
29
- Command line arguments:`)),console.info(s.commandLineArgs),console.info(a(`
30
- Treefolder configuration:`)),console.info(o,`
31
- `),console.info(a(`Scanned ${a(s.folderCount)} folders and ${a(s.fileCount)} files.`)),console.info(a(`Filtered out ${a(s.ignoredCount)} items (folders or files).`)))}var W={style:{type:"string",default:"none",short:"s"},verbose:{type:"boolean",default:!1},unsorted:{type:"boolean",default:!1,short:"u"},version:{type:"boolean",default:!1,short:"v"},list:{type:"boolean",default:!1,short:"l"}};function C(){try{return(0,f.parseArgs)({options:W,allowPositionals:!0,strict:!0})}catch(e){let t=e;return console.error(`[${(0,f.styleText)("red",t.name)}]: ${t.message}`),(0,b.exit)(1)}}var i=" ",x=(r=>(r.none="none",r.wireframe="wireframe",r.black="black",r.colored="colored",r))(x||{}),I={none:{closed:"",open:"",file:""},wireframe:{closed:"\u{1F5C0} ",open:"\u{1F5C1} ",file:"\u{1F5CB}"},black:{closed:"\u{1F5BF} ",open:"\u{1F5BF} ",file:"\u{1F5CE}"},colored:{closed:"\u{1F4C1} ",open:"\u{1F4C2} ",file:"\u{1F4C4}"}},o={style:"none",symbols:I.none,root:".",ignores:["node_modules","dist","build",".git",".husky\\_","logs",".angular","coverage"],verbose:!1,unsorted:!1,formatAsList:!1,version:!1};async function T(){let{values:e,positionals:t}=C();o.version=e.version,o.formatAsList=e.list,o.style=x[e.style]??o.style,o.symbols=I[o.style],o.root=h.default.resolve(t.length>0?t[0]:o.root),o.ignores=o.ignores.map(n=>h.default.join(o.root,n)),o.unsorted=!!e.unsorted,o.verbose=!!e.verbose,s.commandLineArgs={...e,root:t[0]??"n/a"}}var L=u(require("node:fs")),c=u(require("node:path")),g=u(require("node:util"));var q=g.default.promisify(L.default.readdir),k,w;function G(e){return`${e.indent+e.folderPrefix+e.foldersymbol+c.default.basename(e.folderName)}
32
- `}function J(e){return`${e.indent+e.contentItemPrefix+e.entityPrefix+e.contentItem.name}
33
- `}function Q(e){let t=e.folderName+c.default.sep;return o.style==="colored"&&(t=(0,g.styleText)("blueBright",t)),`${t}
34
- `}function U(e){return`${c.default.join(e.contentItem.parentPath,e.contentItem.name)}
35
- `}function X(e,t){return e.isDirectory()?t.isFile()?-1:e.name.localeCompare(t.name):t.isDirectory()?1:e.name.localeCompare(t.name)}function Y(e,t){let n=o.ignores.includes(c.default.join(e,t));return n&&s.ignoredCount++,n}async function Z(e){let t=(await q(e,{withFileTypes:!0})).filter(n=>!Y(e,n.name));return o.unsorted?t:t.sort(X)}async function A(e,t,n,l){let r=await Z(e),V=r.length<1?o.symbols.closed:o.symbols.open,N=n?"":(l?"\u2514\u2500":"\u251C\u2500")+(o.symbols.open?"":i),y=k({indent:t,folderPrefix:N,foldersymbol:V,folderName:e}),v=n?"":l?`${i}${i}${i}`:`\u2502${i}${i}`,F=r.length-1;for(let m=0;m<r.length;m++){let d=r[m];if(d.isDirectory()&&(y+=await A(c.default.join(e,d.name),t+v,!1,m===F)),d.isFile()){s.fileCount++;let B=m===F?`\u2514\u2500${o.symbols.file}${i}`:`\u251C\u2500${o.symbols.file}${i}`;y+=w({indent:t,contentItemPrefix:v,entityPrefix:B,contentItem:d})}}return s.folderCount++,y}async function D(){k=G,w=J,o.formatAsList&&(k=Q,w=U);let e=await A(o.root,"",!0,!0);console.info(e)}async function H(){await T(),await P(),await D(),await j()}H();
28
+ ${t??e}`)),(0,h.exit)(0)}}async function P(){o.debug&&(console.info(r(`${"+".repeat(26)} DEBUG ${"+".repeat(27)}`)),console.info(r("Command line arguments:")),console.info(s.commandLineArgs),console.info(r("Treefolder configuration:")),console.info(o),console.info(r("FolderCount:"),r(s.folderCount)),console.info(r("FileCount:"),r(s.fileCount)),console.info(r("IgnoredCount:"),r(s.ignoredCount)),console.info(r("+".repeat(60))))}async function j(){o.verbose&&(console.info(r(`
29
+ Scanned ${r(s.folderCount)} folders and ${r(s.fileCount)} files.`)),console.info(r(`Filtered out ${r(s.ignoredCount)} items (folders or files).`)))}var Q={style:{type:"string",default:"none",short:"s"},verbose:{type:"boolean",default:!1},unsorted:{type:"boolean",default:!1,short:"u"},version:{type:"boolean",default:!1,short:"v"},list:{type:"boolean",default:!1,short:"l"},debug:{type:"boolean",default:!1,short:"d"}};function I(){try{return(0,f.parseArgs)({options:Q,allowPositionals:!0,strict:!0})}catch(e){let t=e;return console.error(`[${(0,f.styleText)("red",t.name)}]: ${t.message}`),(0,h.exit)(1)}}var a=" ",x=(i=>(i.none="none",i.wireframe="wireframe",i.black="black",i.colored="colored",i))(x||{}),T={none:{closed:"",open:"",file:""},wireframe:{closed:"\u{1F5C0} ",open:"\u{1F5C1} ",file:"\u{1F5CB}"},black:{closed:"\u{1F5BF} ",open:"\u{1F5BF} ",file:"\u{1F5CE}"},colored:{closed:"\u{1F4C1} ",open:"\u{1F4C2} ",file:"\u{1F4C4}"}},o={style:"none",symbols:T.none,root:".",ignores:["node_modules","dist","build",".git",".husky\\_","logs",".angular","coverage"],verbose:!1,unsorted:!1,formatAsList:!1,version:!1,debug:!1};async function D(){let{values:e,positionals:t}=I();o.version=e.version,o.formatAsList=e.list,o.style=x[e.style]??o.style,o.symbols=T[o.style],o.root=b.default.resolve(t[0]??o.root),o.ignores=o.ignores.map(n=>b.default.join(o.root,n)),o.unsorted=e.unsorted,o.verbose=e.verbose,o.debug=e.debug,s.commandLineArgs={...e,root:t[0]??"n/a"}}var L=u(require("node:fs")),d=u(require("node:path")),g=u(require("node:util"));var U=g.default.promisify(L.default.readdir),w,k;function W(e){return`${e.indent+e.folderPrefix+e.foldersymbol+d.default.basename(e.folderName)}
30
+ `}function q(e){return`${e.indent+e.contentItemPrefix+e.entityPrefix+e.contentItem.name}
31
+ `}function J(e){let t=e.folderName+d.default.sep;return o.style==="colored"&&(t=(0,g.styleText)("blueBright",t)),`${t}
32
+ `}function X(e){return`${d.default.join(e.contentItem.parentPath,e.contentItem.name)}
33
+ `}function Y(e,t){return e.isDirectory()?t.isFile()?-1:e.name.localeCompare(t.name):t.isDirectory()?1:e.name.localeCompare(t.name)}function Z(e,t){let n=o.ignores.includes(d.default.join(e,t));return n&&s.ignoredCount++,n}async function H(e){let t=(await U(e,{withFileTypes:!0})).filter(n=>!Z(e,n.name));return o.unsorted?t:t.sort(Y)}async function A(e,t,n,l){let i=await H(e),B=i.length<1?o.symbols.closed:o.symbols.open,N=n?"":(l?"\u2514\u2500":"\u251C\u2500")+(o.symbols.open?"":a),y=w({indent:t,folderPrefix:N,foldersymbol:B,folderName:e}),v=n?"":l?`${a}${a}${a}`:`\u2502${a}${a}`,C=i.length-1;for(let c=0;c<i.length;c++){let m=i[c];if(m.isDirectory()&&(y+=await A(d.default.join(e,m.name),t+v,!1,c===C)),m.isFile()){s.fileCount++;let E=c===C?`\u2514\u2500${o.symbols.file}${a}`:`\u251C\u2500${o.symbols.file}${a}`;y+=k({indent:t,contentItemPrefix:v,entityPrefix:E,contentItem:m})}}return s.folderCount++,y}async function V(){w=W,k=q,o.formatAsList&&(w=J,k=X);let e=await A(o.root,"",!0,!0);console.info(e)}async function ee(){await D(),await $(),await V(),await P(),await j()}ee();
36
34
  /*!
37
35
  * @khatastroffik/treefolder
38
36
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khatastroffik/treefolder",
3
- "version": "1.2.1",
3
+ "version": "1.3.1",
4
4
  "devEngines": {
5
5
  "packageManager": [
6
6
  {
@@ -74,6 +74,41 @@
74
74
  },
75
75
  "commit-and-tag-version": {
76
76
  "types": [
77
+ {
78
+ "type": "feat",
79
+ "section": "Features",
80
+ "hidden": false
81
+ },
82
+ {
83
+ "type": "chore",
84
+ "section": "Chore",
85
+ "hidden": false
86
+ },
87
+ {
88
+ "type": "ci",
89
+ "section": "CI/CD",
90
+ "hidden": false
91
+ },
92
+ {
93
+ "type": "improve",
94
+ "section": "Improvements / Addendum",
95
+ "hidden": false
96
+ },
97
+ {
98
+ "type": "fix",
99
+ "section": "Bug Fixes / Corrigendum",
100
+ "hidden": false
101
+ },
102
+ {
103
+ "type": "perf",
104
+ "section": "Performance / Optimization",
105
+ "hidden": false
106
+ },
107
+ {
108
+ "type": "test",
109
+ "section": "Code Quality",
110
+ "hidden": false
111
+ },
77
112
  {
78
113
  "type": "refactor",
79
114
  "section": "Refactors",
@@ -105,9 +140,9 @@
105
140
  "pushtags": "git push --follow-tags origin main",
106
141
  "try-commit": "git hook run pre-commit",
107
142
  "tsx": "tsx",
108
- "release": "pnpm dlx commit-and-tag-version",
109
- "release:test": "pnpm dlx commit-and-tag-version --dry-run",
110
- "pub": "pnpm pushtags && pnpm publish",
143
+ "release": "pnpx commit-and-tag-version",
144
+ "release:test": "pnpx commit-and-tag-version --dry-run",
145
+ "pub": "pnpm build2prod && pnpm pushtags && pnpm publish",
111
146
  "pub:test": "pnpm publish --dry-run --force --no-git-checks"
112
147
  }
113
148
  }