Gathering detailed insights and metrics for dir-parser
Gathering detailed insights and metrics for dir-parser
Gathering detailed insights and metrics for dir-parser
Gathering detailed insights and metrics for dir-parser
parse-filepath
Pollyfill for node.js `path.parse`, parses a filepath into an object.
@hishprorg/dolore-nam
## Note this is a fork of jsinspect that now supports ES2020 standard (and most proposed features), TS and TSX files. It uses Babel 8's parser, upgrading from babylon to the new babel/parser. Support for Flow has been removed in favour of TS.
@teamteanpm2024/optio-temporibus-delectus
Swagger 2.0 and OpenAPI 3.0 parser/validator ============================
@patrtorg/eum-magnam-ducimus
[![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-im
npm install dir-parser
Typescript
Module System
Node Version
NPM Version
70.1
Supply Chain
98.8
Quality
75.1
Maintenance
100
Vulnerability
99.6
License
JavaScript (98.38%)
Pug (1.15%)
CSS (0.47%)
Total Downloads
13,571
Last Day
4
Last Week
40
Last Month
329
Last Year
2,735
35 Stars
124 Commits
6 Forks
3 Watching
1 Branches
1 Contributors
Minified
Minified + Gzipped
Latest Version
2.1.8
Package Id
dir-parser@2.1.8
Unpacked Size
73.99 kB
Size
11.81 kB
File Count
8
NPM Version
8.1.2
Node Version
16.13.2
Publised On
03 Apr 2023
Cumulative downloads
Total Downloads
Last day
-60%
4
Compared to previous day
Last week
-65.5%
40
Compared to previous week
Last month
126.9%
329
Compared to previous month
Last year
10.6%
2,735
Compared to previous year
Parse a directory and generate it's structure tree.
Read this in other languages: English | 简体中文
👍👍👍Dir parser is a powerful folder analysis tool based on nodejs, which can be used in command line or JavaScript code. There are many practical parameters that can be set to help you get the formatted folder tree and internal information.
$ yarn global add dir-parser
$ npm install -g dir-parser
$ yarn add dir-parser
or $ yarn add dir-parser -D
$ npm install dir-parser
or $ npm install dir-parser -D
$ parser -h
(or: $ parser --help
)
Usage: parser [options]
Options:
-V, --version output the version number
-v, --version output the version number
-c, --config [config] config file, Optional.
-i, --input <input> target directory (default: "./")
-o, --output <output> output path (default: "./")
-d, --depth <depth> depth of a parse process, 0 means no limit (default: 0)
-l, --lineType <lineType> line type of tree, "dash" or "solid" (default: "solid")
-e, --excludes <excludes..> exclude some directories or files by name.
-x, --excPaths <excPaths..> exclude directories or files by path.
-p, --patterns <patterns...> filter directories or files by RegExp.
-g, --generate [fileName] generate a dir-info file to the output path, "dir-info.txt" is default.
-r, --reverse reverse the parsed dir-tree nodes.
-s, --silent not show the parsed dir-tree in terminal.
-f, --fileFirst print files first, before directories.
-F, --fileOnly pase files only.
-D, --dirOnly pase directories only, and it only takes effect when fileOnly is false.
-I, --ignores <ignores..> ignore some directories or files by name.
-N, --no-dirInfo hide file and directory number info on the result top.
-G, --glob <glob> filter files with glob patterns.
--paths <paths..> filter directories or files by path.
--includes <includes..> filter directories or files by name.
--excPatterns <excPatterns...> exclude directories or files by RegExp.
-H, --Help output chinese usage information.(打印中文帮助信息.)
-h, --help output usage information
To run demo, you need to install express-generator
:
Run:
$ npm install -g express-generator
$ express myapp
$ cd myapp
$ parser
myapp ( Directories: 7, Files: 9 )
├── bin
│ └── www
├── public
│ ├── images/
│ ├── javascripts/
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
└── package.json
👉 Exclude some directories or files by name.
$ # git init
$ npm install
$ parser -e .git,node_modules,public
or: $ parser --excludes .git,node_modules,public
myapp ( Directories: 3, Files: 9 )
├── bin
│ └── www
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── package-lock.json
└── package.json
Name has white space:
$ touch 'white space.txt'
$ parser -e '[".git", "node_modules", "public", "white space.txt"]'
$ rm -rf white\ space.txt
myapp ( Directories: 3, Files: 9 )
├── bin
│ └── www
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── package-lock.json
└── package.json
👉 Ignore some directories or files by name.
$ parser -e node_modules -I bin,public
or: $ parser -e node_modules --ignores bin,public
myapp ( Directories: 4, Files: 8 )
├── bin/
├── public/
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── package-lock.json
└── package.json
👉 Filter by glob pattern. Note: glob pattern must be enclosed in quotation marks
$ parser -e node_modules -G '**/*.js'
or: $ parser -e node_modules --glob '**/*.js'
myapp ( Directories: 1, Files: 3 )
├── routes
│ ├── index.js
│ └── users.js
└── app.js
👉 Filter directories or files by RegExp.
$ parser -e node_modules -p .js$
or: $ parser -e node_modules --patterns .js$
myapp ( Directories: 1, Files: 3 )
├── routes
│ ├── index.js
│ └── users.js
└── app.js
👉 Line type of tree, "dash" or "solid" (default: "solid")
$ parser -e bin,node_modules -l dash
or: $ parser -e bin,node_modules --lineType dash
myapp ( Directories: 6, Files: 9 )
+-- public
¦ +-- images/
¦ +-- javascripts/
¦ +-- stylesheets
¦ +-- style.css
+-- routes
¦ +-- index.js
¦ +-- users.js
+-- views
¦ +-- error.jade
¦ +-- index.jade
¦ +-- layout.jade
+-- app.js
+-- package-lock.json
+-- package.json
👉 Depth of a parse process, 0 means no limit (default: 0)
$ parser -e node_modules,views -d 2
or: $ parser -e node_modules,views --depth 2
myapp ( Directories: 6, Files: 6 )
├── bin
│ └── www
├── public
│ ├── images/
│ ├── javascripts/
│ └── stylesheets/*
├── routes
│ ├── index.js
│ └── users.js
├── app.js
├── package-lock.json
└── package.json
👉 Reverse the parsed dir-tree nodes.
$ parser -e node_modules,views -d 2 -r
or: $ parser -e node_modules,views -d 2 --reverse
myapp ( Directories: 6, Files: 6 )
├── routes
│ ├── users.js
│ └── index.js
├── public
│ ├── stylesheets/*
│ ├── javascripts/
│ └── images/
├── bin
│ └── www
├── package.json
├── package-lock.json
└── app.js
👉 Print files first, before directories.
$ parser -e node_modules,bin,views -f
or: $ parser -e node_modules,bin,views --fileFirst
myapp ( Directories: 5, Files: 6 )
├── app.js
├── package-lock.json
├── package.json
├── public
│ ├── images/
│ ├── javascripts/
│ └── stylesheets
│ └── style.css
└── routes
├── index.js
└── users.js
👉 Pase files only.
$ parser -e node_modules,bin,views -F
or: $ parser -e node_modules,bin,views --fileOnly
myapp ( Directories: 3, Files: 6 )
├── public
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
├── app.js
├── package-lock.json
└── package.json
👉 Pase directories only, and it only takes effect when fileOnly is false.
$ parser -e node_modules,bin,views -D
or: $ parser -e node_modules,bin,views --dirOnly
myapp ( Directories: 5 )
├── public
│ ├── images/
│ ├── javascripts/
│ └── stylesheets/
└── routes/
👉 Hide file and directory number info on the result top.
$ parser -e node_modules,bin,public -N
or: $ parser -e node_modules,bin,public --no-dirInfo
myapp
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── package-lock.json
└── package.json
👉 Exclude directories or files by path.
$ parser -e node_modules,bin -x myapp/public
or: $ parser -e node_modules,bin -excPath myapp/public
myapp ( Directories: 2, Files: 8 )
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── package-lock.json
└── package.json
👉 Exclude directories or files by RegExp.
$ parser -e node_modules,bin --excPatterns .jade$,.css$
myapp ( Directories: 6, Files: 5 )
├── public
│ ├── images/
│ ├── javascripts/
│ └── stylesheets/
├── routes
│ ├── index.js
│ └── users.js
├── views/
├── app.js
├── package-lock.json
└── package.json
👉 Not show the parsed dir-tree in terminal.
$ parser -e node_modules,bin,public -s
or: $ parser -e node_modules,bin,public --silent
👉 Generate a dir-info file to the output path, "dir-info.txt" is default.
$ parser -e node_modules,bin,public -sg
or: $ parser -e node_modules,bin,public -s --generate
$ cat dir-info.txt
myapp ( Directories: 2, Files: 8 )
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── package-lock.json
└── package.json
👉 Config file, Optional.
$ touch parser.conf.json
$ vi parser.conf.json
1{ 2 "directory": "./", 3 "excludes": [ ".git", "node_modules", "bin", "public", "parser.conf.json" ], 4 "depth": "2", 5 "generate": "info.txt" 6}
$ parser -c ./parser.conf.json
myapp ( Directories: 2, Files: 9 )
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── dir-info.txt
├── package-lock.json
└── package.json
parser -e node_modules,bin -I views -d 2 -Nr
myapp
├── views/
├── routes
│ ├── users.js
│ └── index.js
├── public
│ ├── stylesheets/*
│ ├── javascripts/
│ └── images/
├── parser.conf.json
├── package.json
├── package-lock.json
├── info.txt
├── dir-info.txt
└── app.js
1parser(dirPath: string, options: Options): Promise<Parsed>
1interface Options { 2 depth?: number; 3 reverse?: boolean; 4 fileFirst?: boolean; 5 fileOnly?: boolean; 6 dirOnly?: boolean; 7 getFiles?: boolean; 8 getChildren?: boolean; 9 dirTree?: boolean; // default: true 10 dirInfo?: boolean; // default: true 11 lineType?: 'solid' | 'dash'; // default: 'solid' 12 excludes?: Array<string>; // eg: [ '.git', 'node_modules', '.idea' ]; 13 excPaths?: Array<string>; // eg: [ 'src/app' ]; 14 excPatterns?: Array<string>; // eg: [ 'src/*.js ]'; 15 ignores: Array<string>; // eg: [ 'public' ]; 16 includes: Array<string>; // eg: [ 'app.js' ]; 17 paths?: Array<string>; // eg: [ 'src/public' ]; 18 patterns?: Array<string>; // eg: [ '*.js ]'; 19 glob?: string; // eg: '**/*.js'; 20}
1interface Parsed extends DirInfo { 2 dirTree: string; 3 children: Array<DirInfo | FileInfo> 4 files: Array<FileInfo> 5}
1interface DirInfo { 2 name: string; 3 type: 'directory'; 4 size: number; 5 size_kb: number; 6 path: string; 7 absPath: string; 8 dir: string; 9 absDir: string; 10 dirNum: number; 11 fileNum: number; 12 children: Array<DirInfo | FileInfo> 13}
1interface FileInfo { 2 name: string; 3 base: string; 4 ext: string; 5 type: 'file'; 6 size: number; 7 size_kb: number; 8 path: string; 9 absPath: string; 10 dir: string; 11 absDir: string; 12}
$ npm install dir-parser funclib
$ touch test.js
$ vi test.js
1const fn = require('funclib'); 2const parser = require('dir-parser'); 3 4parser('./', { 5 excludes: ['.git', 'node_modules'], 6 // lineType: 'dash', 7 // fileFirst: true, 8}).then(parsed => { 9 fn.log(parsed.dirTree, '# parsed.dirTree'); 10 11 // fn.log(fn.pick(parsed, prop => prop !== 'dirTree'), '# parsed result info'); 12 // fn.log(parsed.children, '# parsed.children'); 13 // fn.log(parsed.files, '# parsed.files'); 14});
$ node test.js
==================================================================
[09:48:55] # parsed.dirTree
------------------------------------------------------------------
myapp
├── bin
│ └── www
├── public
│ ├── images/
│ ├── javascripts/
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
├── views
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
├── dir-info.txt
├── info.txt
├── package-lock.json
├── package.json
├── parser.conf.json
└── test.js
==================================================================
$ vi test.js
1parser('./', { 2 excludes: ['.git', 'node_modules'], 3 // lineType: 'dash', 4 // fileFirst: true, 5}).then(parsed => { 6 console.log(fn.pretty(fn.pick(parsed, prop => prop !== 'dirTree'))); 7 8 // fn.log(parsed.dirTree, '# parsed.dirTree'); 9 // fn.log(parsed.children, '# parsed.children'); 10 // fn.log(parsed.files, '# parsed.files'); 11});
$ node test.js
1{ 2 "name": "myapp", 3 "type": "directory", 4 "path": "./", 5 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp", 6 "dir": ".", 7 "absDir": "/Users/cntower/code/@cntower/dir-parser", 8 "dirNum": 7, 9 "fileNum": 14 10}
$ vi test.js
1parser('./', { 2 excludes: ['.git', 'node_modules', 'public'], 3 getFiles: true, // Default is false, If true, returns will conatins an array of all subfiles's info; 4 getChildren: true, // Default is false, If true, returns will conatins an object of all children's info; 5 dirTree: false // Default is true, returns will conatins a tree of the directory; 6}).then(parsed => { 7 console.log(fn.pretty(parsed.children)); 8 // fn.log(parsed.files, '# parsed.files'); 9});
$ node test.js
1[ 2 { 3 "name": "bin", 4 "type": "directory", 5 "size": 1591, 6 "size_kb": "1.55kb", 7 "path": "bin", 8 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/bin", 9 "dir": ".", 10 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp", 11 "dirNum": 0, 12 "fileNum": 1, 13 "children": [ 14 { 15 "name": "www", 16 "base": "www", 17 "ext": "", 18 "type": "file", 19 "size": 1591, 20 "size_kb": "1.55kb", 21 "path": "bin/www", 22 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/bin/www", 23 "dir": "bin", 24 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/bin" 25 } 26 ] 27 }, 28 { 29 "name": "routes", 30 "type": "directory", 31 "size": 408, 32 "size_kb": "0.4kb", 33 "path": "routes", 34 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/routes", 35 "dir": ".", 36 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp", 37 "dirNum": 0, 38 "fileNum": 2, 39 "children": [ 40 { 41 "name": "index.js", 42 "base": "index", 43 "ext": ".js", 44 "type": "file", 45 "size": 205, 46 "size_kb": "0.2kb", 47 "path": "routes/index.js", 48 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/routes/index.js", 49 "dir": "routes", 50 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/routes" 51 }, 52 { 53 "name": "users.js", 54 "base": "users", 55 "ext": ".js", 56 "type": "file", 57 "size": 203, 58 "size_kb": "0.2kb", 59 "path": "routes/users.js", 60 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/routes/users.js", 61 "dir": "routes", 62 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/routes" 63 } 64 ] 65 }, 66 { 67 "name": "app.js", 68 "base": "app", 69 "ext": ".js", 70 "type": "file", 71 "size": 1075, 72 "size_kb": "1.05kb", 73 "path": "app.js", 74 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/app.js", 75 "dir": "", 76 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 77 }, 78 { 79 "name": "dir-info.txt", 80 "base": "dir-info", 81 "ext": ".txt", 82 "type": "file", 83 "size": 277, 84 "size_kb": "0.27kb", 85 "path": "dir-info.txt", 86 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/dir-info.txt", 87 "dir": "", 88 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 89 }, 90 { 91 "name": "info.txt", 92 "base": "info", 93 "ext": ".txt", 94 "type": "file", 95 "size": 301, 96 "size_kb": "0.29kb", 97 "path": "info.txt", 98 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/info.txt", 99 "dir": "", 100 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 101 }, 102 { 103 "name": "package-lock.json", 104 "base": "package-lock", 105 "ext": ".json", 106 "type": "file", 107 "size": 68550, 108 "size_kb": "66.94kb", 109 "path": "package-lock.json", 110 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/package-lock.json", 111 "dir": "", 112 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 113 }, 114 { 115 "name": "package.json", 116 "base": "package", 117 "ext": ".json", 118 "type": "file", 119 "size": 347, 120 "size_kb": "0.34kb", 121 "path": "package.json", 122 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/package.json", 123 "dir": "", 124 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 125 }, 126 { 127 "name": "parser.conf.json", 128 "base": "parser.conf", 129 "ext": ".json", 130 "type": "file", 131 "size": 145, 132 "size_kb": "0.14kb", 133 "path": "parser.conf.json", 134 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/parser.conf.json", 135 "dir": "", 136 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 137 }, 138 { 139 "name": "test.js", 140 "base": "test", 141 "ext": ".js", 142 "type": "file", 143 "size": 554, 144 "size_kb": "0.54kb", 145 "path": "test.js", 146 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/test.js", 147 "dir": "", 148 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 149 } 150]
$ vi test.js
1parser('./', { 2 excludes: ['.git', 'node_modules', 'public'], 3 getFiles: true, 4 getChildren: true, 5 dirTree: false 6}).then(parsed => { 7 // fn.log(parsed.children, '# parsed.children'); 8 console.log(fn.pretty(parsed.files)); 9});
$ node test.js
1[ 2 { 3 "name": "www", 4 "base": "www", 5 "ext": "", 6 "type": "file", 7 "size": 1591, 8 "size_kb": "1.55kb", 9 "path": "bin/www", 10 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/bin/www", 11 "dir": "bin", 12 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/bin" 13 }, 14 { 15 "name": "index.js", 16 "base": "index", 17 "ext": ".js", 18 "type": "file", 19 "size": 205, 20 "size_kb": "0.2kb", 21 "path": "routes/index.js", 22 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/routes/index.js", 23 "dir": "routes", 24 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/routes" 25 }, 26 { 27 "name": "users.js", 28 "base": "users", 29 "ext": ".js", 30 "type": "file", 31 "size": 203, 32 "size_kb": "0.2kb", 33 "path": "routes/users.js", 34 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/routes/users.js", 35 "dir": "routes", 36 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/routes" 37 }, 38 { 39 "name": "error.jade", 40 "base": "error", 41 "ext": ".jade", 42 "type": "file", 43 "size": 84, 44 "size_kb": "0.08kb", 45 "path": "views/error.jade", 46 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/views/error.jade", 47 "dir": "views", 48 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/views" 49 }, 50 { 51 "name": "index.jade", 52 "base": "index", 53 "ext": ".jade", 54 "type": "file", 55 "size": 66, 56 "size_kb": "0.06kb", 57 "path": "views/index.jade", 58 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/views/index.jade", 59 "dir": "views", 60 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/views" 61 }, 62 { 63 "name": "layout.jade", 64 "base": "layout", 65 "ext": ".jade", 66 "type": "file", 67 "size": 125, 68 "size_kb": "0.12kb", 69 "path": "views/layout.jade", 70 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/views/layout.jade", 71 "dir": "views", 72 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp/views" 73 }, 74 { 75 "name": "app.js", 76 "base": "app", 77 "ext": ".js", 78 "type": "file", 79 "size": 1075, 80 "size_kb": "1.05kb", 81 "path": "app.js", 82 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/app.js", 83 "dir": "", 84 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 85 }, 86 { 87 "name": "dir-info.txt", 88 "base": "dir-info", 89 "ext": ".txt", 90 "type": "file", 91 "size": 277, 92 "size_kb": "0.27kb", 93 "path": "dir-info.txt", 94 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/dir-info.txt", 95 "dir": "", 96 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 97 }, 98 { 99 "name": "info.txt", 100 "base": "info", 101 "ext": ".txt", 102 "type": "file", 103 "size": 301, 104 "size_kb": "0.29kb", 105 "path": "info.txt", 106 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/info.txt", 107 "dir": "", 108 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 109 }, 110 { 111 "name": "package-lock.json", 112 "base": "package-lock", 113 "ext": ".json", 114 "type": "file", 115 "size": 68550, 116 "size_kb": "66.94kb", 117 "path": "package-lock.json", 118 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/package-lock.json", 119 "dir": "", 120 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 121 }, 122 { 123 "name": "package.json", 124 "base": "package", 125 "ext": ".json", 126 "type": "file", 127 "size": 347, 128 "size_kb": "0.34kb", 129 "path": "package.json", 130 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/package.json", 131 "dir": "", 132 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 133 }, 134 { 135 "name": "parser.conf.json", 136 "base": "parser.conf", 137 "ext": ".json", 138 "type": "file", 139 "size": 145, 140 "size_kb": "0.14kb", 141 "path": "parser.conf.json", 142 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/parser.conf.json", 143 "dir": "", 144 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 145 }, 146 { 147 "name": "test.js", 148 "base": "test", 149 "ext": ".js", 150 "type": "file", 151 "size": 303, 152 "size_kb": "0.3kb", 153 "path": "test.js", 154 "absPath": "/Users/cntower/code/@cntower/dir-parser/myapp/test.js", 155 "dir": "", 156 "absDir": "/Users/cntower/code/@cntower/dir-parser/myapp" 157 } 158]
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
Found 0/30 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no SAST tool detected
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
license file not detected
Details
Reason
branch protection not enabled on development/release branches
Details
Score
Last Scanned on 2025-01-13
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More