├── .env.example ├── .github └── workflows │ ├── build.yml │ ├── dree.yml │ └── test.yml ├── .gitignore ├── .release-it.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build.mjs ├── build.test.mjs ├── docs └── tree │ └── dree.config.json ├── package.json ├── pnpm-lock.yaml ├── scripts └── generate-expected-tests-results.ts ├── source ├── bin │ ├── index.ts │ └── shims.d.ts ├── lib │ └── index.ts └── tsconfig.json ├── test ├── .gitignore ├── parse │ ├── linux │ │ ├── eighth.test.js │ │ ├── eleventh.test.js │ │ ├── fifth.test.js │ │ ├── first.test.js │ │ ├── fourteenth.test.js │ │ ├── fourth.test.js │ │ ├── ninth.test.js │ │ ├── second.test.js │ │ ├── seventh.test.js │ │ ├── sixth.test.js │ │ ├── tenth.test.js │ │ ├── third.test.js │ │ ├── thirteenth.test.js │ │ └── twelfth.test.js │ ├── mac │ │ ├── eighth.test.js │ │ ├── eleventh.test.js │ │ ├── fifth.test.js │ │ ├── first.test.js │ │ ├── fourteenth.test.js │ │ ├── fourth.test.js │ │ ├── ninth.test.js │ │ ├── second.test.js │ │ ├── seventh.test.js │ │ ├── sixth.test.js │ │ ├── tenth.test.js │ │ ├── third.test.js │ │ ├── thirteenth.test.js │ │ └── twelfth.test.js │ ├── parse.test.js │ ├── parseAsync.test.js │ └── windows │ │ ├── eighth.test.js │ │ ├── eleventh.test.js │ │ ├── fifth.test.js │ │ ├── first.test.js │ │ ├── fourth.test.js │ │ ├── ninth.test.js │ │ ├── second.test.js │ │ ├── seventh.test.js │ │ ├── sixth.test.js │ │ ├── tenth.test.js │ │ ├── third.test.js │ │ ├── thirteenth.test.js │ │ └── twelfth.test.js ├── parseTree │ ├── linux │ │ ├── eighth.test.js │ │ ├── eleventh.test.js │ │ ├── fifteenth.test.js │ │ ├── fifth.test.js │ │ ├── first.test.js │ │ ├── fourteenth.test.js │ │ ├── fourth.test.js │ │ ├── ninth.test.js │ │ ├── second.test.js │ │ ├── seventh.test.js │ │ ├── sixth.test.js │ │ ├── tenth.test.js │ │ ├── third.test.js │ │ ├── thirteenth.test.js │ │ └── twelfth.test.js │ ├── mac │ │ ├── eighth.test.js │ │ ├── eleventh.test.js │ │ ├── fifteenth.test.js │ │ ├── fifth.test.js │ │ ├── first.test.js │ │ ├── fourteenth.test.js │ │ ├── fourth.test.js │ │ ├── ninth.test.js │ │ ├── second.test.js │ │ ├── seventh.test.js │ │ ├── sixth.test.js │ │ ├── tenth.test.js │ │ ├── third.test.js │ │ ├── thirteenth.test.js │ │ └── twelfth.test.js │ ├── parseTree.test.js │ ├── parseTreeAsync.test.js │ └── windows │ │ ├── eighth.test.js │ │ ├── eleventh.test.js │ │ ├── fifth.test.js │ │ ├── first.test.js │ │ ├── fourteenth.test.js │ │ ├── fourth.test.js │ │ ├── ninth.test.js │ │ ├── second.test.js │ │ ├── seventh.test.js │ │ ├── sixth.test.js │ │ ├── tenth.test.js │ │ ├── third.test.js │ │ ├── thirteenth.test.js │ │ └── twelfth.test.js ├── sample │ ├── .gitignore │ ├── backend │ │ ├── firebase.json │ │ ├── linked.link │ │ ├── linkedtxt.link │ │ ├── notes.txt │ │ └── server │ │ │ └── server.ts │ ├── empty │ │ └── tsempty │ │ │ └── file.ts │ └── linked │ │ └── linked.txt ├── scan │ ├── linux │ │ ├── eight.test.json │ │ ├── eighteenth.test.json │ │ ├── eleventh.test.json │ │ ├── fifteenth.test.json │ │ ├── fifth.test.json │ │ ├── first.test.json │ │ ├── fourteenth.test.json │ │ ├── fourth.test.json │ │ ├── nineteenth.test.json │ │ ├── ninth.test.json │ │ ├── second.test.json │ │ ├── seventeenth.test.json │ │ ├── seventh.test.json │ │ ├── sixteenth.test.json │ │ ├── sixth.test.json │ │ ├── tenth.test.json │ │ ├── third.test.json │ │ ├── thirteenth.test.json │ │ ├── twelfth.test.json │ │ ├── twentieth.test.json │ │ ├── twentyfirst.test.json │ │ ├── twentysecond.test.json │ │ └── twentythird.test.json │ ├── mac │ │ ├── eight.test.json │ │ ├── eighteenth.test.json │ │ ├── eleventh.test.json │ │ ├── fifteenth.test.json │ │ ├── fifth.test.json │ │ ├── first.test.json │ │ ├── fourteenth.test.json │ │ ├── fourth.test.json │ │ ├── nineteenth.test.json │ │ ├── ninth.test.json │ │ ├── second.test.json │ │ ├── seventeenth.test.json │ │ ├── seventh.test.json │ │ ├── sixteenth.test.json │ │ ├── sixth.test.json │ │ ├── tenth.test.json │ │ ├── third.test.json │ │ ├── thirteenth.test.json │ │ ├── twelfth.test.json │ │ ├── twentieth.test.json │ │ ├── twentyfirst.test.json │ │ ├── twentysecond.test.json │ │ └── twentythird.test.json │ ├── scan.test.js │ ├── scanAsync.test.js │ └── windows │ │ ├── eight.test.json │ │ ├── eighteenth.test.json │ │ ├── eleventh.test.json │ │ ├── fifteenth.test.json │ │ ├── fifth.test.json │ │ ├── first.test.json │ │ ├── fourteenth.test.json │ │ ├── fourth.test.json │ │ ├── nineteenth.test.json │ │ ├── ninth.test.json │ │ ├── second.test.json │ │ ├── seventeenth.test.json │ │ ├── seventh.test.json │ │ ├── sixteenth.test.json │ │ ├── sixth.test.json │ │ ├── tenth.test.json │ │ ├── third.test.json │ │ ├── thirteenth.test.json │ │ ├── twelfth.test.json │ │ ├── twentieth.test.json │ │ ├── twentyfirst.test.json │ │ ├── twentysecond.test.json │ │ └── twentythird.test.json └── test.js ├── tsconfig.json ├── typedoc.cjs └── typedoc.dev.cjs /.env.example: -------------------------------------------------------------------------------- 1 | GITHUB_TOKEN= -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | on: [push] 3 | 4 | jobs: 5 | build: 6 | strategy: 7 | matrix: 8 | os: [ubuntu-latest] 9 | node-version: [20.x] 10 | pnpm-version: [9.x] 11 | 12 | runs-on: ${{ matrix.os }} 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | - name: Use pnpm ${{ matrix.pnpm-version }} 17 | uses: pnpm/action-setup@v4 18 | with: 19 | version: ${{ matrix.pnpm-version }} 20 | - name: Use Node.js ${{ matrix.node-version }} 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: ${{ matrix.node-version }} 24 | 25 | - name: Install node dependencies 26 | run: pnpm install 27 | 28 | - name: Transpile code 29 | run: pnpm transpile 30 | 31 | - name: Bundle code 32 | run: pnpm bundle 33 | -------------------------------------------------------------------------------- /.github/workflows/dree.yml: -------------------------------------------------------------------------------- 1 | name: Dree 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | dree: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout repository 13 | uses: actions/checkout@v4 14 | with: 15 | ref: main 16 | 17 | - name: Inject dree 18 | uses: 'euberdeveloper/ga-dree@main' 19 | with: 20 | config: './docs/tree/dree.config.json' 21 | 22 | - name: Commit changes 23 | uses: stefanzweifel/git-auto-commit-action@v5 24 | with: 25 | commit_message: "docs: inject dree (automated commit)" 26 | branch: main 27 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | on: [push] 3 | 4 | jobs: 5 | test: 6 | strategy: 7 | matrix: 8 | os: [ubuntu-latest] 9 | node-version: [20.x] 10 | pnpm-version: [9.x] 11 | 12 | runs-on: ${{ matrix.os }} 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | - name: Use pnpm ${{ matrix.pnpm-version }} 17 | uses: pnpm/action-setup@v4 18 | with: 19 | version: ${{ matrix.pnpm-version }} 20 | - name: Use Node.js ${{ matrix.node-version }} 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: ${{ matrix.node-version }} 24 | 25 | - name: Install node dependencies 26 | run: pnpm install 27 | 28 | - name: Test code and generate coverage report 29 | run: pnpm run test:cover 30 | 31 | - name: Send coverage report to Coveralls 32 | uses: coverallsapp/github-action@v2 33 | with: 34 | github-token: ${{ secrets.GITHUB_TOKEN }} 35 | 36 | - name: Send coverage report to Codecov 37 | uses: codecov/codecov-action@v4 38 | env: 39 | CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} 40 | 41 | - name: Send coverage report to Code Climate 42 | uses: paambaati/codeclimate-action@v8 43 | env: 44 | CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} 45 | 46 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /node_modules 3 | /coverage 4 | /.nyc_output 5 | /docs/documentation 6 | coverage.lcov 7 | generateTestsOutputs.js 8 | bundled 9 | .env -------------------------------------------------------------------------------- /.release-it.json: -------------------------------------------------------------------------------- 1 | { 2 | "git": { 3 | "commitMessage": "chore(release): release v${version} :tada:", 4 | "requireBranch": "main" 5 | }, 6 | "github": { 7 | "release": true 8 | }, 9 | "plugins": { 10 | "@release-it/conventional-changelog": { 11 | "preset": "angular", 12 | "infile": "CHANGELOG.md" 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Welcome to esm-module-alias docs contributing guide 2 | 3 | Thank you for investing your time in contributing to our project :sparkles: 4 | 5 | Read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable. 6 | 7 | In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. 8 | 9 | ## New contributor guide 10 | 11 | To get an overview of the project, read the [README](README.md). Here are some resources to help you get started with open source contributions: 12 | 13 | - [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) 14 | - [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) 15 | - [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) 16 | - [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) 17 | 18 | 19 | ## Getting started 20 | 21 | ### Issues 22 | 23 | #### Create a new issue 24 | 25 | If you spot a problem with the docs, [search if an issue already exists](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/github/docs/issues/new/choose). 26 | 27 | #### Solve an issue 28 | 29 | Scan through our [existing issues](https://github.com/github/docs/issues) to find one that interests you. You can narrow down the search using `labels` as filters. See [Labels](/contributing/how-to-use-labels.md) for more information. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. 30 | 31 | ### Make Changes 32 | 33 | #### Make changes in a codespace 34 | 35 | For more information about using a codespace for working on GitHub documentation, see "[Working in a codespace](https://github.com/github/docs/blob/main/contributing/codespace.md)." 36 | 37 | #### Make changes locally 38 | 39 | 1. [Install Git](https://git-scm.com). 40 | 41 | 2. Fork the repository. 42 | - Using GitHub Desktop: 43 | - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. 44 | - Once Desktop is set up, you can use it to fork the repo! 45 | 46 | - Using the command line: 47 | - [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them. 48 | 49 | 1. Install or **Node.js**. 50 | 51 | 2. Create a working branch and start with your changes! 52 | 53 | ### Commit your update 54 | 55 | Commit the changes once you are happy with them. Don't forget to self review what you did! 56 | 57 | ### Pull Request 58 | 59 | When you're finished with the changes, create a pull request, also known as a PR. 60 | - Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. 61 | - Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one. 62 | - Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. 63 | Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request additional information. 64 | - We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. 65 | - As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations). 66 | - If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues. 67 | 68 | ### Your PR is merged! 69 | 70 | Congratulations :tada::tada: You have successfully made a contribution to the docs! :sparkles: 71 | 72 | ## Contacts 73 | 74 | If you have any questions, you can contact the maintainer at the email [euberdeveloper@gmail.com](mailto:euberdeveloper@gmail.com). -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 euberdeveloper 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /build.mjs: -------------------------------------------------------------------------------- 1 | import fs from 'node:fs'; 2 | import { build } from 'esbuild'; 3 | import * as importMap from "esbuild-plugin-import-map"; 4 | 5 | import packageJson from './package.json' assert { type: 'json' }; 6 | 7 | importMap.load({ 8 | imports: { 9 | '../lib/index.js': '../lib/esm/index.esm.js' 10 | } 11 | }); 12 | 13 | function getExternalDependencies(allow = []) { 14 | const deps = packageJson.dependencies ? Object.keys(packageJson.dependencies).filter(dep => !allow.includes(dep)) : []; 15 | const peerDeps = packageJson.peerDependencies ? Object.keys(packageJson.peerDependencies).filter(dep => !allow.includes(dep)) : []; 16 | return [...deps, ...peerDeps]; 17 | } 18 | 19 | async function buildModule() { 20 | const shared = { 21 | platform: 'node', 22 | entryPoints: ['source/lib/index.ts'], 23 | bundle: true, 24 | minify: true, 25 | treeShaking: true, 26 | sourcemap: false 27 | }; 28 | 29 | await build({ 30 | ...shared, 31 | outfile: 'bundled/lib/commonjs/index.js', 32 | format: 'cjs', 33 | external: getExternalDependencies() 34 | }); 35 | 36 | await build({ 37 | ...shared, 38 | outfile: 'bundled/lib/esm/index.esm.js', 39 | format: 'esm', 40 | external: getExternalDependencies() 41 | }); 42 | 43 | await build({ 44 | ...shared, 45 | entryPoints: ['source/bin/index.ts'], 46 | outfile: 'bundled/bin/index.js', 47 | format: 'esm', 48 | external: getExternalDependencies(), 49 | plugins: [importMap.plugin()], 50 | define: { 51 | '__VERSION__': `"${packageJson.version}"` 52 | } 53 | }); 54 | } 55 | 56 | function generateCommonjsPackageJson() { 57 | const packageJsonCommonJs = JSON.stringify({ ...packageJson, type: undefined }, null, 2); 58 | fs.writeFileSync('./bundled/lib/commonjs/package.json', packageJsonCommonJs); 59 | } 60 | 61 | await buildModule(); 62 | generateCommonjsPackageJson(); -------------------------------------------------------------------------------- /build.test.mjs: -------------------------------------------------------------------------------- 1 | import fs from 'node:fs'; 2 | import { build } from 'esbuild'; 3 | import * as importMap from "esbuild-plugin-import-map"; 4 | 5 | import packageJson from './package.json' assert { type: 'json' }; 6 | 7 | async function loadImportMapForBundle(bundledPath) { 8 | importMap.clear(); 9 | await importMap.load({ 10 | imports: { 11 | '../dist/lib/index.js': bundledPath 12 | } 13 | }); 14 | } 15 | 16 | function getExternalDependencies(allow = []) { 17 | const deps = packageJson.dependencies ? Object.keys(packageJson.dependencies).filter(dep => !allow.includes(dep)) : []; 18 | const peerDeps = packageJson.peerDependencies ? Object.keys(packageJson.peerDependencies).filter(dep => !allow.includes(dep)) : []; 19 | return [...deps, ...peerDeps]; 20 | } 21 | 22 | async function buildModule() { 23 | const shared = { 24 | platform: 'node', 25 | entryPoints: ['test/test.js'], 26 | bundle: true, 27 | minify: false, 28 | treeShaking: false, 29 | sourcemap: true, 30 | external: getExternalDependencies(), 31 | define: { 32 | 'process.env.__PARSE_TEST_RELATIVE_PATH__': `'../../../test/parse'`, 33 | 'process.env.__PARSE_TREE_TEST_RELATIVE_PATH__': `'../../../test/parseTree'`, 34 | } 35 | }; 36 | 37 | loadImportMapForBundle('../../../bundled/lib/commonjs/index.js'); 38 | await build({ 39 | ...shared, 40 | outfile: 'bundled/test/commonjs/index.js', 41 | format: 'cjs', 42 | plugins: [importMap.plugin()] 43 | }); 44 | 45 | loadImportMapForBundle('../../../bundled/lib/esm/index.esm.js'); 46 | await build({ 47 | ...shared, 48 | outfile: 'bundled/test/esm/index.esm.js', 49 | format: 'esm', 50 | plugins: [importMap.plugin()] 51 | }); 52 | } 53 | 54 | function generateCommonjsPackageJson() { 55 | const packageJsonCommonJs = JSON.stringify({ ...packageJson, type: undefined }, null, 2); 56 | fs.writeFileSync('./bundled/test/commonjs/package.json', packageJsonCommonJs); 57 | } 58 | 59 | await buildModule(); 60 | generateCommonjsPackageJson(); -------------------------------------------------------------------------------- /docs/tree/dree.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": [ 3 | "/node_modules/**", 4 | "/.git/**", 5 | "/coverage/**", 6 | "/bundled/**", 7 | "/dist/**/*", 8 | "/docs/documentation/html/**", 9 | "/docs/documentation/html-dev/**", 10 | "/test/sample/**/*", 11 | "/test/parse/**/*", 12 | "/test/parseTree/**/*", 13 | "/test/scan/**/*" 14 | ] 15 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dree", 3 | "version": "5.1.5", 4 | "description": "A nodejs module wich helps you handle a directory tree providing you its abstraction through tested functions and a custom configuration.", 5 | "main": "bundled/lib/commonjs/index.js", 6 | "types": "bundled/lib/commonjs/index.d.ts", 7 | "module": "./bundled/lib/esm/index.esm.js", 8 | "bin": { 9 | "dree": "bundled/bin/index.js" 10 | }, 11 | "exports": { 12 | ".": { 13 | "require": { 14 | "types": "./bundled/lib/commonjs/index.d.ts", 15 | "default": "./bundled/lib/commonjs/index.js" 16 | }, 17 | "import": { 18 | "types": "./bundled/lib/esm/index.d.ts", 19 | "default": "./bundled/lib/esm/index.esm.js" 20 | } 21 | } 22 | }, 23 | "files": [ 24 | "package.json", 25 | "bundled", 26 | "README.md", 27 | "CHANGELOG.md", 28 | "LICENSE" 29 | ], 30 | "type": "module", 31 | "scripts": { 32 | "pretranspile": "shx rm -rf dist", 33 | "transpile": "tsc -p source", 34 | "bundle:esm": "node build.mjs", 35 | "bundle:dts": "dts-bundle-generator -o bundled/lib/commonjs/index.d.ts --project source/tsconfig.json source/lib/index.ts", 36 | "postbundle:dts": "cp bundled/lib/commonjs/index.d.ts bundled/lib/esm/index.d.ts", 37 | "prebundle": "shx rm -rf dist bundled", 38 | "bundle": "pnpm bundle:esm && pnpm bundle:dts", 39 | "prebundle:test": "pnpm bundle", 40 | "bundle:test": "node build.test.mjs", 41 | "script:getr:linux": "tsx scripts/generate-expected-tests-results linux", 42 | "script:getr:mac": "tsx scripts/generate-expected-tests-results mac", 43 | "script:getr:windows": "tsx scripts/generate-expected-tests-results windows", 44 | "pretest:source": "pnpm transpile", 45 | "test:source": "mocha --reporter spec test/test.js", 46 | "test:bundle:esm": "mocha --reporter spec bundled/test/esm/index.esm.js", 47 | "test:bundle:commonjs": "mocha --reporter spec bundled/test/commonjs/index.js", 48 | "pretest:bundle": "pnpm bundle:test", 49 | "test:bundle": "pnpm test:bundle:esm && pnpm test:bundle:commonjs", 50 | "test": "pnpm test:source && pnpm test:bundle", 51 | "test:source:cover": "c8 --reporter=html --reporter=text --reporter=lcov pnpm test:source", 52 | "test:cover": "pnpm test:source:cover && pnpm test:bundle", 53 | "docs:html": "typedoc", 54 | "docs:html-dev": "typedoc --options typedoc.dev.cjs", 55 | "predocs": "shx rm -rf docs/documentation", 56 | "docs": "pnpm docs:html && pnpm docs:html-dev", 57 | "prepublishOnly": "pnpm bundle", 58 | "release": "dotenv release-it" 59 | }, 60 | "repository": { 61 | "type": "git", 62 | "url": "git+https://github.com/euberdeveloper/dree.git" 63 | }, 64 | "bugs": { 65 | "url": "https://github.com/euberdeveloper/dree/issues" 66 | }, 67 | "homepage": "https://dree.euber.dev", 68 | "keywords": [ 69 | "dir", 70 | "directory", 71 | "tree", 72 | "folder", 73 | "structure", 74 | "directory-tree", 75 | "dir-tree", 76 | "folder-tree", 77 | "dir-structure" 78 | ], 79 | "author": "Eugenio Vinicio Berretta ", 80 | "license": "MIT", 81 | "pnpm": { 82 | "overrides": { 83 | "tough-cookie@<4.1.3": ">=4.1.3" 84 | } 85 | }, 86 | "dependencies": { 87 | "minimatch": "^10.0.1", 88 | "yargs": "^17.7.2" 89 | }, 90 | "devDependencies": { 91 | "@release-it/conventional-changelog": "^8.0.1", 92 | "@types/node": "^22.5.0", 93 | "@types/yargs": "^17.0.33", 94 | "c8": "^10.1.2", 95 | "chai": "^5.1.1", 96 | "chai-as-promised": "^8.0.0", 97 | "dotenv-cli": "^7.4.2", 98 | "dts-bundle-generator": "^9.5.1", 99 | "esbuild": "^0.23.1", 100 | "esbuild-plugin-import-map": "^2.1.0", 101 | "mocha": "^10.7.3", 102 | "release-it": "^17.6.0", 103 | "shx": "^0.3.4", 104 | "tsx": "^4.18.0", 105 | "typedoc": "^0.26.6", 106 | "typedoc-plugin-ga": "^1.0.3", 107 | "typescript": "^5.5.4" 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /source/bin/shims.d.ts: -------------------------------------------------------------------------------- 1 | declare const __VERSION__: string; 2 | -------------------------------------------------------------------------------- /source/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../dist", 5 | }, 6 | "include": [ 7 | "bin", 8 | "lib" 9 | ] 10 | } -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | output.json -------------------------------------------------------------------------------- /test/parse/linux/eighth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ └─> server 8 | │ └── server.ts 9 | ├─> empty 10 | │ └─> tsempty 11 | │ └── file.ts 12 | └─> linked 13 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/eleventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/linux/fifth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ │ └── linked.txt 8 | │ ├>>linkedtxt.link 9 | │ ├── notes.txt 10 | │ └─> server 11 | │ └── server.ts 12 | ├─> empty 13 | │ └─> tsempty 14 | │ └── file.ts 15 | └─> linked 16 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/first.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/fourteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | |-- .gitignore 4 | |-\\ backend 5 | | |-- firebase.json 6 | | |->linked.link 7 | | |->linkedtxt.link 8 | | |-- notes.txt 9 | | \`-\\ server 10 | | \`-- server.ts 11 | |-\\ empty 12 | | \`-\\ tsempty 13 | | \`-- file.ts 14 | \`-\\ linked 15 | \`-- linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/fourth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample`; -------------------------------------------------------------------------------- /test/parse/linux/ninth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ ├── notes.txt 8 | │ └─> server 9 | │ └── server.ts 10 | ├─> empty 11 | │ └─> tsempty 12 | │ └── file.ts 13 | └─> linked 14 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/second.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── notes.txt 6 | │ └─> server 7 | │ └── server.ts 8 | ├─> empty 9 | │ └─> tsempty 10 | │ └── file.ts 11 | └─> linked 12 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/seventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/linux/sixth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/tenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/third.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/linux/thirteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/linux/twelfth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/eighth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ └─> server 8 | │ └── server.ts 9 | ├─> empty 10 | │ └─> tsempty 11 | │ └── file.ts 12 | └─> linked 13 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/eleventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/mac/fifth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ │ └── linked.txt 8 | │ ├>>linkedtxt.link 9 | │ ├── notes.txt 10 | │ └─> server 11 | │ └── server.ts 12 | ├─> empty 13 | │ └─> tsempty 14 | │ └── file.ts 15 | └─> linked 16 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/first.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/fourteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | |-- .gitignore 4 | |-\\ backend 5 | | |-- firebase.json 6 | | |->linked.link 7 | | |->linkedtxt.link 8 | | |-- notes.txt 9 | | \`-\\ server 10 | | \`-- server.ts 11 | |-\\ empty 12 | | \`-\\ tsempty 13 | | \`-- file.ts 14 | \`-\\ linked 15 | \`-- linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/fourth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample`; -------------------------------------------------------------------------------- /test/parse/mac/ninth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ ├── notes.txt 8 | │ └─> server 9 | │ └── server.ts 10 | ├─> empty 11 | │ └─> tsempty 12 | │ └── file.ts 13 | └─> linked 14 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/second.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── notes.txt 6 | │ └─> server 7 | │ └── server.ts 8 | ├─> empty 9 | │ └─> tsempty 10 | │ └── file.ts 11 | └─> linked 12 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/seventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/mac/sixth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/tenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/third.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/mac/thirteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/mac/twelfth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/eighth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ └─> server 8 | │ └── server.ts 9 | ├─> empty 10 | │ └─> tsempty 11 | │ └── file.ts 12 | └─> linked 13 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/eleventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/windows/fifth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ │ └── linked.txt 8 | │ ├>>linkedtxt.link 9 | │ ├── notes.txt 10 | │ └─> server 11 | │ └── server.ts 12 | ├─> empty 13 | │ └─> tsempty 14 | │ └── file.ts 15 | └─> linked 16 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/first.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/fourth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample`; -------------------------------------------------------------------------------- /test/parse/windows/ninth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ ├── notes.txt 8 | │ └─> server 9 | │ └── server.ts 10 | ├─> empty 11 | │ └─> tsempty 12 | │ └── file.ts 13 | └─> linked 14 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/second.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── notes.txt 6 | │ └─> server 7 | │ └── server.ts 8 | ├─> empty 9 | │ └─> tsempty 10 | │ └── file.ts 11 | └─> linked 12 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/seventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/windows/sixth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/tenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/third.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parse/windows/thirteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parse/windows/twelfth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/eighth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/linux/eleventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/fifteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | |-- .gitignore 4 | |-\\ backend 5 | | |-- firebase.json 6 | | |->linked.link 7 | | |->linkedtxt.link 8 | | |-- notes.txt 9 | | \`-\\ server 10 | | \`-- server.ts 11 | |-\\ empty 12 | | \`-\\ tsempty 13 | | \`-- file.ts 14 | \`-\\ linked 15 | \`-- linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/fifth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/first.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/fourteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/linux/fourth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample`; -------------------------------------------------------------------------------- /test/parseTree/linux/ninth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ └─> server 8 | │ └── server.ts 9 | ├─> empty 10 | │ └─> tsempty 11 | │ └── file.ts 12 | └─> linked 13 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/second.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── notes.txt 6 | │ └─> server 7 | │ └── server.ts 8 | ├─> empty 9 | │ └─> tsempty 10 | │ └── file.ts 11 | └─> linked 12 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/seventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/sixth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ │ └── linked.txt 8 | │ ├>>linkedtxt.link 9 | │ ├── notes.txt 10 | │ └─> server 11 | │ └── server.ts 12 | ├─> empty 13 | │ └─> tsempty 14 | │ └── file.ts 15 | └─> linked 16 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/tenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ ├── notes.txt 8 | │ └─> server 9 | │ └── server.ts 10 | ├─> empty 11 | │ └─> tsempty 12 | │ └── file.ts 13 | └─> linked 14 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/third.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/thirteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/linux/twelfth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/mac/eighth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/mac/eleventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/fifteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | |-- .gitignore 4 | |-\\ backend 5 | | |-- firebase.json 6 | | |->linked.link 7 | | |->linkedtxt.link 8 | | |-- notes.txt 9 | | \`-\\ server 10 | | \`-- server.ts 11 | |-\\ empty 12 | | \`-\\ tsempty 13 | | \`-- file.ts 14 | \`-\\ linked 15 | \`-- linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/fifth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/first.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/fourteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/mac/fourth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample`; -------------------------------------------------------------------------------- /test/parseTree/mac/ninth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ └─> server 8 | │ └── server.ts 9 | ├─> empty 10 | │ └─> tsempty 11 | │ └── file.ts 12 | └─> linked 13 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/second.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── notes.txt 6 | │ └─> server 7 | │ └── server.ts 8 | ├─> empty 9 | │ └─> tsempty 10 | │ └── file.ts 11 | └─> linked 12 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/seventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/sixth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ │ └── linked.txt 8 | │ ├>>linkedtxt.link 9 | │ ├── notes.txt 10 | │ └─> server 11 | │ └── server.ts 12 | ├─> empty 13 | │ └─> tsempty 14 | │ └── file.ts 15 | └─> linked 16 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/tenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ ├── notes.txt 8 | │ └─> server 9 | │ └── server.ts 10 | ├─> empty 11 | │ └─> tsempty 12 | │ └── file.ts 13 | └─> linked 14 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/third.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/thirteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/mac/twelfth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/windows/eighth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/windows/eleventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/fifth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/first.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/fourteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/parseTree/windows/fourth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample`; -------------------------------------------------------------------------------- /test/parseTree/windows/ninth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ └─> server 8 | │ └── server.ts 9 | ├─> empty 10 | │ └─> tsempty 11 | │ └── file.ts 12 | └─> linked 13 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/second.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── notes.txt 6 | │ └─> server 7 | │ └── server.ts 8 | ├─> empty 9 | │ └─> tsempty 10 | │ └── file.ts 11 | └─> linked 12 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/seventh.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/sixth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ │ └── linked.txt 8 | │ ├>>linkedtxt.link 9 | │ ├── notes.txt 10 | │ └─> server 11 | │ └── server.ts 12 | ├─> empty 13 | │ └─> tsempty 14 | │ └── file.ts 15 | └─> linked 16 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/tenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├>>linked.link 6 | │ ├>>linkedtxt.link 7 | │ ├── notes.txt 8 | │ └─> server 9 | │ └── server.ts 10 | ├─> empty 11 | │ └─> tsempty 12 | │ └── file.ts 13 | └─> linked 14 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/third.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> backend 4 | │ ├>>linked.link 5 | │ ├>>linkedtxt.link 6 | │ ├── notes.txt 7 | │ └─> server 8 | ├─> empty 9 | │ └─> tsempty 10 | └─> linked 11 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/thirteenth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├── .gitignore 4 | ├─> backend 5 | │ ├── firebase.json 6 | │ ├>>linked.link 7 | │ ├>>linkedtxt.link 8 | │ ├── notes.txt 9 | │ └─> server 10 | │ └── server.ts 11 | ├─> empty 12 | │ └─> tsempty 13 | │ └── file.ts 14 | └─> linked 15 | └── linked.txt`; -------------------------------------------------------------------------------- /test/parseTree/windows/twelfth.test.js: -------------------------------------------------------------------------------- 1 | export default 2 | `sample 3 | ├─> linked 4 | │ └── linked.txt 5 | ├─> empty 6 | │ └─> tsempty 7 | │ └── file.ts 8 | ├─> backend 9 | │ ├─> server 10 | │ │ └── server.ts 11 | │ ├── notes.txt 12 | │ ├>>linkedtxt.link 13 | │ ├>>linked.link 14 | │ └── firebase.json 15 | └── .gitignore`; -------------------------------------------------------------------------------- /test/sample/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euberdeveloper/dree/9f0016f6acf5a6a8ef8d0199883d165b85f6fd03/test/sample/.gitignore -------------------------------------------------------------------------------- /test/sample/backend/firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid": "firebaseid" 3 | } -------------------------------------------------------------------------------- /test/sample/backend/linked.link: -------------------------------------------------------------------------------- 1 | ../linked/ -------------------------------------------------------------------------------- /test/sample/backend/linkedtxt.link: -------------------------------------------------------------------------------- 1 | ../linked/linked.txt -------------------------------------------------------------------------------- /test/sample/backend/notes.txt: -------------------------------------------------------------------------------- 1 | hello -------------------------------------------------------------------------------- /test/sample/empty/tsempty/file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/euberdeveloper/dree/9f0016f6acf5a6a8ef8d0199883d165b85f6fd03/test/sample/empty/tsempty/file.ts -------------------------------------------------------------------------------- /test/sample/linked/linked.txt: -------------------------------------------------------------------------------- 1 | linkedtouch linked.txt! 2 | -------------------------------------------------------------------------------- /test/scan/linux/eight.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "isEmpty": false, 8 | "sizeInBytes": 76, 9 | "size": "76 B", 10 | "hash": "2ee42f8e4e250ef344b806e990d3c8f9", 11 | "children": [ 12 | { 13 | "name": ".gitignore", 14 | "path": "PATH/test/sample/.gitignore", 15 | "relativePath": ".gitignore", 16 | "type": "file", 17 | "isSymbolicLink": false, 18 | "extension": "", 19 | "sizeInBytes": 0, 20 | "size": "0 B", 21 | "hash": "a084b794bc0759e7a6b77810e01874f2" 22 | }, 23 | { 24 | "name": "backend", 25 | "path": "PATH/test/sample/backend", 26 | "relativePath": "backend", 27 | "type": "directory", 28 | "isSymbolicLink": false, 29 | "isEmpty": false, 30 | "sizeInBytes": 52, 31 | "size": "52 B", 32 | "hash": "6f3a1e2d41b245d5ce265ede42fcc8b5", 33 | "children": [ 34 | { 35 | "name": "firebase.json", 36 | "path": "PATH/test/sample/backend/firebase.json", 37 | "relativePath": "backend/firebase.json", 38 | "type": "file", 39 | "isSymbolicLink": false, 40 | "extension": "json", 41 | "sizeInBytes": 27, 42 | "size": "27 B", 43 | "hash": "bafc664309b11a828c0adf99ed9e8516" 44 | }, 45 | { 46 | "name": "linked.link", 47 | "path": "PATH/test/sample/backend/linked.link", 48 | "relativePath": "backend/linked.link", 49 | "type": "directory", 50 | "isSymbolicLink": true, 51 | "sizeInBytes": 0, 52 | "size": "0 B", 53 | "hash": "13dfcaee429e99fa969199e7240a597a" 54 | }, 55 | { 56 | "name": "linkedtxt.link", 57 | "path": "PATH/test/sample/backend/linkedtxt.link", 58 | "relativePath": "backend/linkedtxt.link", 59 | "type": "file", 60 | "isSymbolicLink": true, 61 | "extension": "link", 62 | "sizeInBytes": 20, 63 | "size": "20 B", 64 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 65 | }, 66 | { 67 | "name": "notes.txt", 68 | "path": "PATH/test/sample/backend/notes.txt", 69 | "relativePath": "backend/notes.txt", 70 | "type": "file", 71 | "isSymbolicLink": false, 72 | "extension": "txt", 73 | "sizeInBytes": 5, 74 | "size": "5 B", 75 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 76 | } 77 | ] 78 | }, 79 | { 80 | "name": "linked", 81 | "path": "PATH/test/sample/linked", 82 | "relativePath": "linked", 83 | "type": "directory", 84 | "isSymbolicLink": false, 85 | "isEmpty": false, 86 | "sizeInBytes": 24, 87 | "size": "24 B", 88 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 89 | "children": [ 90 | { 91 | "name": "linked.txt", 92 | "path": "PATH/test/sample/linked/linked.txt", 93 | "relativePath": "linked/linked.txt", 94 | "type": "file", 95 | "isSymbolicLink": false, 96 | "extension": "txt", 97 | "sizeInBytes": 24, 98 | "size": "24 B", 99 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 100 | } 101 | ] 102 | } 103 | ] 104 | } -------------------------------------------------------------------------------- /test/scan/linux/eighteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714656, 8 | "size": "1.71 MB", 9 | "hash": "4bfc32fb865e14123fbe9f896b461568", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714632, 29 | "size": "1.71 MB", 30 | "hash": "8ab7496f907bac1220a19636206407ea", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 73 | "children": [ 74 | { 75 | "name": "server.ts", 76 | "path": "PATH/test/sample/backend/server/server.ts", 77 | "relativePath": "backend/server/server.ts", 78 | "type": "file", 79 | "isSymbolicLink": false, 80 | "extension": "ts", 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 84 | } 85 | ] 86 | } 87 | ] 88 | }, 89 | { 90 | "name": "empty", 91 | "path": "PATH/test/sample/empty", 92 | "relativePath": "empty", 93 | "type": "directory", 94 | "isSymbolicLink": false, 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "5395826f5e679ee75097a49101d8af75", 98 | "children": [ 99 | { 100 | "name": "tsempty", 101 | "path": "PATH/test/sample/empty/tsempty", 102 | "relativePath": "empty/tsempty", 103 | "type": "directory", 104 | "isSymbolicLink": false, 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "01ae4baddc925931f374f0f212896d30", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 119 | } 120 | ] 121 | } 122 | ] 123 | }, 124 | { 125 | "name": "linked", 126 | "path": "PATH/test/sample/linked", 127 | "relativePath": "linked", 128 | "type": "directory", 129 | "isSymbolicLink": false, 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 133 | "children": [ 134 | { 135 | "name": "linked.txt", 136 | "path": "PATH/test/sample/linked/linked.txt", 137 | "relativePath": "linked/linked.txt", 138 | "type": "file", 139 | "isSymbolicLink": false, 140 | "extension": "txt", 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 144 | } 145 | ] 146 | } 147 | ] 148 | } -------------------------------------------------------------------------------- /test/scan/linux/eleventh.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 27, 8 | "size": "27 B", 9 | "hash": "deee40f01bb621c3834b13a5cdaec5b2", 10 | "children": [ 11 | { 12 | "name": "backend", 13 | "path": "PATH/test/sample/backend", 14 | "relativePath": "backend", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 27, 18 | "size": "27 B", 19 | "hash": "ecac5bedd0870a0272aef4e67ee92578", 20 | "children": [ 21 | { 22 | "name": "firebase.json", 23 | "path": "PATH/test/sample/backend/firebase.json", 24 | "relativePath": "backend/firebase.json", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "json", 28 | "sizeInBytes": 27, 29 | "size": "27 B", 30 | "hash": "bafc664309b11a828c0adf99ed9e8516" 31 | } 32 | ] 33 | }, 34 | { 35 | "name": "empty", 36 | "path": "PATH/test/sample/empty", 37 | "relativePath": "empty", 38 | "type": "directory", 39 | "isSymbolicLink": false, 40 | "sizeInBytes": 0, 41 | "size": "0 B", 42 | "hash": "5395826f5e679ee75097a49101d8af75", 43 | "children": [ 44 | { 45 | "name": "tsempty", 46 | "path": "PATH/test/sample/empty/tsempty", 47 | "relativePath": "empty/tsempty", 48 | "type": "directory", 49 | "isSymbolicLink": false, 50 | "sizeInBytes": 0, 51 | "size": "0 B", 52 | "hash": "01ae4baddc925931f374f0f212896d30", 53 | "children": [ 54 | { 55 | "name": "file.ts", 56 | "path": "PATH/test/sample/empty/tsempty/file.ts", 57 | "relativePath": "empty/tsempty/file.ts", 58 | "type": "file", 59 | "isSymbolicLink": false, 60 | "extension": "ts", 61 | "sizeInBytes": 0, 62 | "size": "0 B", 63 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 64 | } 65 | ] 66 | } 67 | ] 68 | } 69 | ] 70 | } -------------------------------------------------------------------------------- /test/scan/linux/fifth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 49, 8 | "size": "49 B", 9 | "hash": "9e814d7cb14e149364a46cb33ab48f28", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 25, 29 | "size": "25 B", 30 | "hash": "2f438cee14fb57840234f1e472606710", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 0, 71 | "size": "0 B", 72 | "hash": "cf1e8c14e54505f60aa10ceb8d5d8ab3" 73 | } 74 | ] 75 | }, 76 | { 77 | "name": "empty", 78 | "path": "PATH/test/sample/empty", 79 | "relativePath": "empty", 80 | "type": "directory", 81 | "isSymbolicLink": false, 82 | "sizeInBytes": 0, 83 | "size": "0 B", 84 | "hash": "f29d0266f81c8e89b7158b032e54becf", 85 | "children": [ 86 | { 87 | "name": "tsempty", 88 | "path": "PATH/test/sample/empty/tsempty", 89 | "relativePath": "empty/tsempty", 90 | "type": "directory", 91 | "isSymbolicLink": false, 92 | "sizeInBytes": 0, 93 | "size": "0 B", 94 | "hash": "53d958af812c57b80a05e0b3056ca581" 95 | } 96 | ] 97 | }, 98 | { 99 | "name": "linked", 100 | "path": "PATH/test/sample/linked", 101 | "relativePath": "linked", 102 | "type": "directory", 103 | "isSymbolicLink": false, 104 | "sizeInBytes": 24, 105 | "size": "24 B", 106 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 107 | "children": [ 108 | { 109 | "name": "linked.txt", 110 | "path": "PATH/test/sample/linked/linked.txt", 111 | "relativePath": "linked/linked.txt", 112 | "type": "file", 113 | "isSymbolicLink": false, 114 | "extension": "txt", 115 | "sizeInBytes": 24, 116 | "size": "24 B", 117 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 118 | } 119 | ] 120 | } 121 | ] 122 | } -------------------------------------------------------------------------------- /test/scan/linux/first.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714683, 8 | "size": "1.71 MB", 9 | "hash": "c7c3449e2257f9412df74b8aaeecb8a7", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714659, 29 | "size": "1.71 MB", 30 | "hash": "e0d40bc9849eebab5e6b7804c72b0875", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "linked.link", 45 | "path": "PATH/test/sample/backend/linked.link", 46 | "relativePath": "backend/linked.link", 47 | "type": "directory", 48 | "isSymbolicLink": true, 49 | "sizeInBytes": 0, 50 | "size": "0 B", 51 | "hash": "13dfcaee429e99fa969199e7240a597a" 52 | }, 53 | { 54 | "name": "linkedtxt.link", 55 | "path": "PATH/test/sample/backend/linkedtxt.link", 56 | "relativePath": "backend/linkedtxt.link", 57 | "type": "file", 58 | "isSymbolicLink": true, 59 | "extension": "link", 60 | "sizeInBytes": 20, 61 | "size": "20 B", 62 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 63 | }, 64 | { 65 | "name": "notes.txt", 66 | "path": "PATH/test/sample/backend/notes.txt", 67 | "relativePath": "backend/notes.txt", 68 | "type": "file", 69 | "isSymbolicLink": false, 70 | "extension": "txt", 71 | "sizeInBytes": 5, 72 | "size": "5 B", 73 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 74 | }, 75 | { 76 | "name": "server", 77 | "path": "PATH/test/sample/backend/server", 78 | "relativePath": "backend/server", 79 | "type": "directory", 80 | "isSymbolicLink": false, 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 84 | "children": [ 85 | { 86 | "name": "server.ts", 87 | "path": "PATH/test/sample/backend/server/server.ts", 88 | "relativePath": "backend/server/server.ts", 89 | "type": "file", 90 | "isSymbolicLink": false, 91 | "extension": "ts", 92 | "sizeInBytes": 1714607, 93 | "size": "1.71 MB", 94 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 95 | } 96 | ] 97 | } 98 | ] 99 | }, 100 | { 101 | "name": "empty", 102 | "path": "PATH/test/sample/empty", 103 | "relativePath": "empty", 104 | "type": "directory", 105 | "isSymbolicLink": false, 106 | "sizeInBytes": 0, 107 | "size": "0 B", 108 | "hash": "5395826f5e679ee75097a49101d8af75", 109 | "children": [ 110 | { 111 | "name": "tsempty", 112 | "path": "PATH/test/sample/empty/tsempty", 113 | "relativePath": "empty/tsempty", 114 | "type": "directory", 115 | "isSymbolicLink": false, 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "01ae4baddc925931f374f0f212896d30", 119 | "children": [ 120 | { 121 | "name": "file.ts", 122 | "path": "PATH/test/sample/empty/tsempty/file.ts", 123 | "relativePath": "empty/tsempty/file.ts", 124 | "type": "file", 125 | "isSymbolicLink": false, 126 | "extension": "ts", 127 | "sizeInBytes": 0, 128 | "size": "0 B", 129 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 130 | } 131 | ] 132 | } 133 | ] 134 | }, 135 | { 136 | "name": "linked", 137 | "path": "PATH/test/sample/linked", 138 | "relativePath": "linked", 139 | "type": "directory", 140 | "isSymbolicLink": false, 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 144 | "children": [ 145 | { 146 | "name": "linked.txt", 147 | "path": "PATH/test/sample/linked/linked.txt", 148 | "relativePath": "linked/linked.txt", 149 | "type": "file", 150 | "isSymbolicLink": false, 151 | "extension": "txt", 152 | "sizeInBytes": 24, 153 | "size": "24 B", 154 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 155 | } 156 | ] 157 | } 158 | ] 159 | } -------------------------------------------------------------------------------- /test/scan/linux/fourth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714683, 8 | "size": "1.71 MB", 9 | "hash": "18JX3XDnlJmljZzpm+YZo6Tys6s=", 10 | "children": [ 11 | { 12 | "name": "backend", 13 | "path": "PATH/test/sample/backend", 14 | "relativePath": "backend", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 1714659, 18 | "size": "1.71 MB", 19 | "hash": "DHUCYTrvZgz5cccjU89mVyFt7TI=", 20 | "children": [ 21 | { 22 | "name": "firebase.json", 23 | "path": "PATH/test/sample/backend/firebase.json", 24 | "relativePath": "backend/firebase.json", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "json", 28 | "sizeInBytes": 27, 29 | "size": "27 B", 30 | "hash": "yp5sqsL0ABNmvwHg9ElA+4mmXNE=" 31 | }, 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "4g5cYV6lKK8fiVZ1Zb5vnO0PRho=" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "ybvmfbKq28yfjlgRKeRd1TgOXMU=" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "Td+fE16fqGmowEg594C95OqpuhU=" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "aWyBQBDovHWniMEAIdXWfleTHr0=", 73 | "children": [ 74 | { 75 | "name": "server.ts", 76 | "path": "PATH/test/sample/backend/server/server.ts", 77 | "relativePath": "backend/server/server.ts", 78 | "type": "file", 79 | "isSymbolicLink": false, 80 | "extension": "ts", 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "j6VTQJlViOoTR8u3zWrUGBzM/9s=" 84 | } 85 | ] 86 | } 87 | ] 88 | }, 89 | { 90 | "name": "empty", 91 | "path": "PATH/test/sample/empty", 92 | "relativePath": "empty", 93 | "type": "directory", 94 | "isSymbolicLink": false, 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "fbcNmvRxss58uuQmTkWK0yUvFxA=", 98 | "children": [ 99 | { 100 | "name": "tsempty", 101 | "path": "PATH/test/sample/empty/tsempty", 102 | "relativePath": "empty/tsempty", 103 | "type": "directory", 104 | "isSymbolicLink": false, 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "TRBupHZitYvW4cBDUHD6OZKZkkc=", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "R49paiTOtSygfgYqpnuJewEZQXI=" 119 | } 120 | ] 121 | } 122 | ] 123 | }, 124 | { 125 | "name": "linked", 126 | "path": "PATH/test/sample/linked", 127 | "relativePath": "linked", 128 | "type": "directory", 129 | "isSymbolicLink": false, 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "nUOs7i/VNPkiFSTuIaS1TWxWfQ0=", 133 | "children": [ 134 | { 135 | "name": "linked.txt", 136 | "path": "PATH/test/sample/linked/linked.txt", 137 | "relativePath": "linked/linked.txt", 138 | "type": "file", 139 | "isSymbolicLink": false, 140 | "extension": "txt", 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "NFDL/u63fh1k5SsVfxHvWKAEUII=" 144 | } 145 | ] 146 | } 147 | ] 148 | } -------------------------------------------------------------------------------- /test/scan/linux/ninth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "size": "1.71 MB", 8 | "hash": "c7c3449e2257f9412df74b8aaeecb8a7", 9 | "children": [ 10 | { 11 | "name": ".gitignore", 12 | "path": "PATH/test/sample/.gitignore", 13 | "relativePath": ".gitignore", 14 | "type": "file", 15 | "isSymbolicLink": false, 16 | "extension": "", 17 | "size": "0 B", 18 | "hash": "a084b794bc0759e7a6b77810e01874f2" 19 | }, 20 | { 21 | "name": "backend", 22 | "path": "PATH/test/sample/backend", 23 | "relativePath": "backend", 24 | "type": "directory", 25 | "isSymbolicLink": false, 26 | "size": "1.71 MB", 27 | "hash": "e0d40bc9849eebab5e6b7804c72b0875", 28 | "children": [ 29 | { 30 | "name": "firebase.json", 31 | "path": "PATH/test/sample/backend/firebase.json", 32 | "relativePath": "backend/firebase.json", 33 | "type": "file", 34 | "isSymbolicLink": false, 35 | "extension": "json", 36 | "size": "27 B", 37 | "hash": "bafc664309b11a828c0adf99ed9e8516" 38 | }, 39 | { 40 | "name": "linked.link", 41 | "path": "PATH/test/sample/backend/linked.link", 42 | "relativePath": "backend/linked.link", 43 | "type": "directory", 44 | "isSymbolicLink": true, 45 | "size": "0 B", 46 | "hash": "13dfcaee429e99fa969199e7240a597a" 47 | }, 48 | { 49 | "name": "linkedtxt.link", 50 | "path": "PATH/test/sample/backend/linkedtxt.link", 51 | "relativePath": "backend/linkedtxt.link", 52 | "type": "file", 53 | "isSymbolicLink": true, 54 | "extension": "link", 55 | "size": "20 B", 56 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 57 | }, 58 | { 59 | "name": "notes.txt", 60 | "path": "PATH/test/sample/backend/notes.txt", 61 | "relativePath": "backend/notes.txt", 62 | "type": "file", 63 | "isSymbolicLink": false, 64 | "extension": "txt", 65 | "size": "5 B", 66 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 67 | }, 68 | { 69 | "name": "server", 70 | "path": "PATH/test/sample/backend/server", 71 | "relativePath": "backend/server", 72 | "type": "directory", 73 | "isSymbolicLink": false, 74 | "size": "1.71 MB", 75 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 76 | "children": [ 77 | { 78 | "name": "server.ts", 79 | "path": "PATH/test/sample/backend/server/server.ts", 80 | "relativePath": "backend/server/server.ts", 81 | "type": "file", 82 | "isSymbolicLink": false, 83 | "extension": "ts", 84 | "size": "1.71 MB", 85 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 86 | } 87 | ] 88 | } 89 | ] 90 | }, 91 | { 92 | "name": "empty", 93 | "path": "PATH/test/sample/empty", 94 | "relativePath": "empty", 95 | "type": "directory", 96 | "isSymbolicLink": false, 97 | "size": "0 B", 98 | "hash": "5395826f5e679ee75097a49101d8af75", 99 | "children": [ 100 | { 101 | "name": "tsempty", 102 | "path": "PATH/test/sample/empty/tsempty", 103 | "relativePath": "empty/tsempty", 104 | "type": "directory", 105 | "isSymbolicLink": false, 106 | "size": "0 B", 107 | "hash": "01ae4baddc925931f374f0f212896d30", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "size": "0 B", 117 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 118 | } 119 | ] 120 | } 121 | ] 122 | }, 123 | { 124 | "name": "linked", 125 | "path": "PATH/test/sample/linked", 126 | "relativePath": "linked", 127 | "type": "directory", 128 | "isSymbolicLink": false, 129 | "size": "24 B", 130 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 131 | "children": [ 132 | { 133 | "name": "linked.txt", 134 | "path": "PATH/test/sample/linked/linked.txt", 135 | "relativePath": "linked/linked.txt", 136 | "type": "file", 137 | "isSymbolicLink": false, 138 | "extension": "txt", 139 | "size": "24 B", 140 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 141 | } 142 | ] 143 | } 144 | ] 145 | } -------------------------------------------------------------------------------- /test/scan/linux/second.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714634, 8 | "size": "1.71 MB", 9 | "hash": "7626032f486ee0877de634d9ef0d1fea", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714634, 29 | "size": "1.71 MB", 30 | "hash": "c5b271ce906d44860e0d6cf313167036", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "linked.link", 45 | "path": "PATH/test/sample/backend/linked.link", 46 | "relativePath": "backend/linked.link", 47 | "type": "directory", 48 | "isSymbolicLink": true, 49 | "sizeInBytes": 0, 50 | "size": "0 B", 51 | "hash": "13dfcaee429e99fa969199e7240a597a" 52 | }, 53 | { 54 | "name": "server", 55 | "path": "PATH/test/sample/backend/server", 56 | "relativePath": "backend/server", 57 | "type": "directory", 58 | "isSymbolicLink": false, 59 | "sizeInBytes": 1714607, 60 | "size": "1.71 MB", 61 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 62 | "children": [ 63 | { 64 | "name": "server.ts", 65 | "path": "PATH/test/sample/backend/server/server.ts", 66 | "relativePath": "backend/server/server.ts", 67 | "type": "file", 68 | "isSymbolicLink": false, 69 | "extension": "ts", 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 73 | } 74 | ] 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "empty", 80 | "path": "PATH/test/sample/empty", 81 | "relativePath": "empty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "5395826f5e679ee75097a49101d8af75", 87 | "children": [ 88 | { 89 | "name": "tsempty", 90 | "path": "PATH/test/sample/empty/tsempty", 91 | "relativePath": "empty/tsempty", 92 | "type": "directory", 93 | "isSymbolicLink": false, 94 | "sizeInBytes": 0, 95 | "size": "0 B", 96 | "hash": "01ae4baddc925931f374f0f212896d30", 97 | "children": [ 98 | { 99 | "name": "file.ts", 100 | "path": "PATH/test/sample/empty/tsempty/file.ts", 101 | "relativePath": "empty/tsempty/file.ts", 102 | "type": "file", 103 | "isSymbolicLink": false, 104 | "extension": "ts", 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 108 | } 109 | ] 110 | } 111 | ] 112 | }, 113 | { 114 | "name": "linked", 115 | "path": "PATH/test/sample/linked", 116 | "relativePath": "linked", 117 | "type": "directory", 118 | "isSymbolicLink": false, 119 | "sizeInBytes": 0, 120 | "size": "0 B", 121 | "hash": "d48e37bc19b9fe2c72923c30fd7a4152" 122 | } 123 | ] 124 | } -------------------------------------------------------------------------------- /test/scan/linux/seventeenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714651, 8 | "size": "1.71 MB", 9 | "hash": "e5a93b62ac69239916fd175ba2a11e5b", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714627, 29 | "size": "1.71 MB", 30 | "hash": "8e9d05fa4cf4770e37e47ce20011979a", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "server", 55 | "path": "PATH/test/sample/backend/server", 56 | "relativePath": "backend/server", 57 | "type": "directory", 58 | "isSymbolicLink": false, 59 | "sizeInBytes": 1714607, 60 | "size": "1.71 MB", 61 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 62 | "children": [ 63 | { 64 | "name": "server.ts", 65 | "path": "PATH/test/sample/backend/server/server.ts", 66 | "relativePath": "backend/server/server.ts", 67 | "type": "file", 68 | "isSymbolicLink": false, 69 | "extension": "ts", 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 73 | } 74 | ] 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "empty", 80 | "path": "PATH/test/sample/empty", 81 | "relativePath": "empty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "5395826f5e679ee75097a49101d8af75", 87 | "children": [ 88 | { 89 | "name": "tsempty", 90 | "path": "PATH/test/sample/empty/tsempty", 91 | "relativePath": "empty/tsempty", 92 | "type": "directory", 93 | "isSymbolicLink": false, 94 | "sizeInBytes": 0, 95 | "size": "0 B", 96 | "hash": "01ae4baddc925931f374f0f212896d30", 97 | "children": [ 98 | { 99 | "name": "file.ts", 100 | "path": "PATH/test/sample/empty/tsempty/file.ts", 101 | "relativePath": "empty/tsempty/file.ts", 102 | "type": "file", 103 | "isSymbolicLink": false, 104 | "extension": "ts", 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 108 | } 109 | ] 110 | } 111 | ] 112 | }, 113 | { 114 | "name": "linked", 115 | "path": "PATH/test/sample/linked", 116 | "relativePath": "linked", 117 | "type": "directory", 118 | "isSymbolicLink": false, 119 | "sizeInBytes": 24, 120 | "size": "24 B", 121 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 122 | "children": [ 123 | { 124 | "name": "linked.txt", 125 | "path": "PATH/test/sample/linked/linked.txt", 126 | "relativePath": "linked/linked.txt", 127 | "type": "file", 128 | "isSymbolicLink": false, 129 | "extension": "txt", 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 133 | } 134 | ] 135 | } 136 | ] 137 | } -------------------------------------------------------------------------------- /test/scan/linux/seventh.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 49, 8 | "size": "49 B", 9 | "hash": "9e814d7cb14e149364a46cb33ab48f28", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 25, 29 | "size": "25 B", 30 | "hash": "2f438cee14fb57840234f1e472606710", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 0, 71 | "size": "0 B", 72 | "hash": "cf1e8c14e54505f60aa10ceb8d5d8ab3" 73 | } 74 | ] 75 | }, 76 | { 77 | "name": "empty", 78 | "path": "PATH/test/sample/empty", 79 | "relativePath": "empty", 80 | "type": "directory", 81 | "isSymbolicLink": false, 82 | "sizeInBytes": 0, 83 | "size": "0 B", 84 | "hash": "f29d0266f81c8e89b7158b032e54becf", 85 | "children": [ 86 | { 87 | "name": "tsempty", 88 | "path": "PATH/test/sample/empty/tsempty", 89 | "relativePath": "empty/tsempty", 90 | "type": "directory", 91 | "isSymbolicLink": false, 92 | "sizeInBytes": 0, 93 | "size": "0 B", 94 | "hash": "53d958af812c57b80a05e0b3056ca581" 95 | } 96 | ] 97 | }, 98 | { 99 | "name": "linked", 100 | "path": "PATH/test/sample/linked", 101 | "relativePath": "linked", 102 | "type": "directory", 103 | "isSymbolicLink": false, 104 | "sizeInBytes": 24, 105 | "size": "24 B", 106 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 107 | "children": [ 108 | { 109 | "name": "linked.txt", 110 | "path": "PATH/test/sample/linked/linked.txt", 111 | "relativePath": "linked/linked.txt", 112 | "type": "file", 113 | "isSymbolicLink": false, 114 | "extension": "txt", 115 | "sizeInBytes": 24, 116 | "size": "24 B", 117 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 118 | } 119 | ] 120 | } 121 | ] 122 | } -------------------------------------------------------------------------------- /test/scan/linux/sixteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714656, 8 | "size": "1.71 MB", 9 | "hash": "4bfc32fb865e14123fbe9f896b461568", 10 | "descendants": 6, 11 | "children": [ 12 | { 13 | "name": ".gitignore", 14 | "path": "PATH/test/sample/.gitignore", 15 | "relativePath": ".gitignore", 16 | "type": "file", 17 | "isSymbolicLink": false, 18 | "extension": "", 19 | "sizeInBytes": 0, 20 | "size": "0 B", 21 | "hash": "a084b794bc0759e7a6b77810e01874f2" 22 | }, 23 | { 24 | "name": "backend", 25 | "path": "PATH/test/sample/backend", 26 | "relativePath": "backend", 27 | "type": "directory", 28 | "isSymbolicLink": false, 29 | "sizeInBytes": 1714632, 30 | "size": "1.71 MB", 31 | "hash": "8ab7496f907bac1220a19636206407ea", 32 | "descendants": 3, 33 | "children": [ 34 | { 35 | "name": "linked.link", 36 | "path": "PATH/test/sample/backend/linked.link", 37 | "relativePath": "backend/linked.link", 38 | "type": "directory", 39 | "isSymbolicLink": true, 40 | "sizeInBytes": 0, 41 | "size": "0 B", 42 | "hash": "13dfcaee429e99fa969199e7240a597a", 43 | "descendants": 0 44 | }, 45 | { 46 | "name": "linkedtxt.link", 47 | "path": "PATH/test/sample/backend/linkedtxt.link", 48 | "relativePath": "backend/linkedtxt.link", 49 | "type": "file", 50 | "isSymbolicLink": true, 51 | "extension": "link", 52 | "sizeInBytes": 20, 53 | "size": "20 B", 54 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 55 | }, 56 | { 57 | "name": "notes.txt", 58 | "path": "PATH/test/sample/backend/notes.txt", 59 | "relativePath": "backend/notes.txt", 60 | "type": "file", 61 | "isSymbolicLink": false, 62 | "extension": "txt", 63 | "sizeInBytes": 5, 64 | "size": "5 B", 65 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 66 | }, 67 | { 68 | "name": "server", 69 | "path": "PATH/test/sample/backend/server", 70 | "relativePath": "backend/server", 71 | "type": "directory", 72 | "isSymbolicLink": false, 73 | "sizeInBytes": 1714607, 74 | "size": "1.71 MB", 75 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 76 | "descendants": 1, 77 | "children": [ 78 | { 79 | "name": "server.ts", 80 | "path": "PATH/test/sample/backend/server/server.ts", 81 | "relativePath": "backend/server/server.ts", 82 | "type": "file", 83 | "isSymbolicLink": false, 84 | "extension": "ts", 85 | "sizeInBytes": 1714607, 86 | "size": "1.71 MB", 87 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 88 | } 89 | ] 90 | } 91 | ] 92 | }, 93 | { 94 | "name": "empty", 95 | "path": "PATH/test/sample/empty", 96 | "relativePath": "empty", 97 | "type": "directory", 98 | "isSymbolicLink": false, 99 | "sizeInBytes": 0, 100 | "size": "0 B", 101 | "hash": "5395826f5e679ee75097a49101d8af75", 102 | "descendants": 1, 103 | "children": [ 104 | { 105 | "name": "tsempty", 106 | "path": "PATH/test/sample/empty/tsempty", 107 | "relativePath": "empty/tsempty", 108 | "type": "directory", 109 | "isSymbolicLink": false, 110 | "sizeInBytes": 0, 111 | "size": "0 B", 112 | "hash": "01ae4baddc925931f374f0f212896d30", 113 | "descendants": 1, 114 | "children": [ 115 | { 116 | "name": "file.ts", 117 | "path": "PATH/test/sample/empty/tsempty/file.ts", 118 | "relativePath": "empty/tsempty/file.ts", 119 | "type": "file", 120 | "isSymbolicLink": false, 121 | "extension": "ts", 122 | "sizeInBytes": 0, 123 | "size": "0 B", 124 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 125 | } 126 | ] 127 | } 128 | ] 129 | }, 130 | { 131 | "name": "linked", 132 | "path": "PATH/test/sample/linked", 133 | "relativePath": "linked", 134 | "type": "directory", 135 | "isSymbolicLink": false, 136 | "sizeInBytes": 24, 137 | "size": "24 B", 138 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 139 | "descendants": 1, 140 | "children": [ 141 | { 142 | "name": "linked.txt", 143 | "path": "PATH/test/sample/linked/linked.txt", 144 | "relativePath": "linked/linked.txt", 145 | "type": "file", 146 | "isSymbolicLink": false, 147 | "extension": "txt", 148 | "sizeInBytes": 24, 149 | "size": "24 B", 150 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 151 | } 152 | ] 153 | } 154 | ] 155 | } -------------------------------------------------------------------------------- /test/scan/linux/sixth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 0, 8 | "size": "0 B", 9 | "hash": "5e8ff9bf55ba3508199d22e984129be6" 10 | } -------------------------------------------------------------------------------- /test/scan/linux/third.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714634, 8 | "size": "1.71 MB", 9 | "hash": "0aa58ede1e1f0b54bd412a75368ae25c", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714634, 29 | "size": "1.71 MB", 30 | "hash": "3d7be60e1040728292610c557c20feb4", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "server", 45 | "path": "PATH/test/sample/backend/server", 46 | "relativePath": "backend/server", 47 | "type": "directory", 48 | "isSymbolicLink": false, 49 | "sizeInBytes": 1714607, 50 | "size": "1.71 MB", 51 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 52 | "children": [ 53 | { 54 | "name": "server.ts", 55 | "path": "PATH/test/sample/backend/server/server.ts", 56 | "relativePath": "backend/server/server.ts", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "ts", 60 | "sizeInBytes": 1714607, 61 | "size": "1.71 MB", 62 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 63 | } 64 | ] 65 | } 66 | ] 67 | }, 68 | { 69 | "name": "empty", 70 | "path": "PATH/test/sample/empty", 71 | "relativePath": "empty", 72 | "type": "directory", 73 | "isSymbolicLink": false, 74 | "sizeInBytes": 0, 75 | "size": "0 B", 76 | "hash": "5395826f5e679ee75097a49101d8af75", 77 | "children": [ 78 | { 79 | "name": "tsempty", 80 | "path": "PATH/test/sample/empty/tsempty", 81 | "relativePath": "empty/tsempty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "01ae4baddc925931f374f0f212896d30", 87 | "children": [ 88 | { 89 | "name": "file.ts", 90 | "path": "PATH/test/sample/empty/tsempty/file.ts", 91 | "relativePath": "empty/tsempty/file.ts", 92 | "type": "file", 93 | "isSymbolicLink": false, 94 | "extension": "ts", 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 98 | } 99 | ] 100 | } 101 | ] 102 | }, 103 | { 104 | "name": "linked", 105 | "path": "PATH/test/sample/linked", 106 | "relativePath": "linked", 107 | "type": "directory", 108 | "isSymbolicLink": false, 109 | "sizeInBytes": 0, 110 | "size": "0 B", 111 | "hash": "d48e37bc19b9fe2c72923c30fd7a4152" 112 | } 113 | ] 114 | } -------------------------------------------------------------------------------- /test/scan/linux/twelfth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 27, 8 | "size": "27 B", 9 | "hash": "dd9ff3224a244878047106d4702cd11d", 10 | "children": [ 11 | { 12 | "name": "backend", 13 | "path": "PATH/test/sample/backend", 14 | "relativePath": "backend", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 27, 18 | "size": "27 B", 19 | "hash": "ecac5bedd0870a0272aef4e67ee92578", 20 | "children": [ 21 | { 22 | "name": "firebase.json", 23 | "path": "PATH/test/sample/backend/firebase.json", 24 | "relativePath": "backend/firebase.json", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "json", 28 | "sizeInBytes": 27, 29 | "size": "27 B", 30 | "hash": "bafc664309b11a828c0adf99ed9e8516" 31 | } 32 | ] 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /test/scan/mac/eight.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "isEmpty": false, 8 | "sizeInBytes": 76, 9 | "size": "76 B", 10 | "hash": "2ee42f8e4e250ef344b806e990d3c8f9", 11 | "children": [ 12 | { 13 | "name": ".gitignore", 14 | "path": "PATH/test/sample/.gitignore", 15 | "relativePath": ".gitignore", 16 | "type": "file", 17 | "isSymbolicLink": false, 18 | "extension": "", 19 | "sizeInBytes": 0, 20 | "size": "0 B", 21 | "hash": "a084b794bc0759e7a6b77810e01874f2" 22 | }, 23 | { 24 | "name": "backend", 25 | "path": "PATH/test/sample/backend", 26 | "relativePath": "backend", 27 | "type": "directory", 28 | "isSymbolicLink": false, 29 | "isEmpty": false, 30 | "sizeInBytes": 52, 31 | "size": "52 B", 32 | "hash": "6f3a1e2d41b245d5ce265ede42fcc8b5", 33 | "children": [ 34 | { 35 | "name": "firebase.json", 36 | "path": "PATH/test/sample/backend/firebase.json", 37 | "relativePath": "backend/firebase.json", 38 | "type": "file", 39 | "isSymbolicLink": false, 40 | "extension": "json", 41 | "sizeInBytes": 27, 42 | "size": "27 B", 43 | "hash": "bafc664309b11a828c0adf99ed9e8516" 44 | }, 45 | { 46 | "name": "linked.link", 47 | "path": "PATH/test/sample/backend/linked.link", 48 | "relativePath": "backend/linked.link", 49 | "type": "directory", 50 | "isSymbolicLink": true, 51 | "sizeInBytes": 0, 52 | "size": "0 B", 53 | "hash": "13dfcaee429e99fa969199e7240a597a" 54 | }, 55 | { 56 | "name": "linkedtxt.link", 57 | "path": "PATH/test/sample/backend/linkedtxt.link", 58 | "relativePath": "backend/linkedtxt.link", 59 | "type": "file", 60 | "isSymbolicLink": true, 61 | "extension": "link", 62 | "sizeInBytes": 20, 63 | "size": "20 B", 64 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 65 | }, 66 | { 67 | "name": "notes.txt", 68 | "path": "PATH/test/sample/backend/notes.txt", 69 | "relativePath": "backend/notes.txt", 70 | "type": "file", 71 | "isSymbolicLink": false, 72 | "extension": "txt", 73 | "sizeInBytes": 5, 74 | "size": "5 B", 75 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 76 | } 77 | ] 78 | }, 79 | { 80 | "name": "linked", 81 | "path": "PATH/test/sample/linked", 82 | "relativePath": "linked", 83 | "type": "directory", 84 | "isSymbolicLink": false, 85 | "isEmpty": false, 86 | "sizeInBytes": 24, 87 | "size": "24 B", 88 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 89 | "children": [ 90 | { 91 | "name": "linked.txt", 92 | "path": "PATH/test/sample/linked/linked.txt", 93 | "relativePath": "linked/linked.txt", 94 | "type": "file", 95 | "isSymbolicLink": false, 96 | "extension": "txt", 97 | "sizeInBytes": 24, 98 | "size": "24 B", 99 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 100 | } 101 | ] 102 | } 103 | ] 104 | } -------------------------------------------------------------------------------- /test/scan/mac/eighteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714656, 8 | "size": "1.71 MB", 9 | "hash": "4bfc32fb865e14123fbe9f896b461568", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714632, 29 | "size": "1.71 MB", 30 | "hash": "8ab7496f907bac1220a19636206407ea", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 73 | "children": [ 74 | { 75 | "name": "server.ts", 76 | "path": "PATH/test/sample/backend/server/server.ts", 77 | "relativePath": "backend/server/server.ts", 78 | "type": "file", 79 | "isSymbolicLink": false, 80 | "extension": "ts", 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 84 | } 85 | ] 86 | } 87 | ] 88 | }, 89 | { 90 | "name": "empty", 91 | "path": "PATH/test/sample/empty", 92 | "relativePath": "empty", 93 | "type": "directory", 94 | "isSymbolicLink": false, 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "5395826f5e679ee75097a49101d8af75", 98 | "children": [ 99 | { 100 | "name": "tsempty", 101 | "path": "PATH/test/sample/empty/tsempty", 102 | "relativePath": "empty/tsempty", 103 | "type": "directory", 104 | "isSymbolicLink": false, 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "01ae4baddc925931f374f0f212896d30", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 119 | } 120 | ] 121 | } 122 | ] 123 | }, 124 | { 125 | "name": "linked", 126 | "path": "PATH/test/sample/linked", 127 | "relativePath": "linked", 128 | "type": "directory", 129 | "isSymbolicLink": false, 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 133 | "children": [ 134 | { 135 | "name": "linked.txt", 136 | "path": "PATH/test/sample/linked/linked.txt", 137 | "relativePath": "linked/linked.txt", 138 | "type": "file", 139 | "isSymbolicLink": false, 140 | "extension": "txt", 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 144 | } 145 | ] 146 | } 147 | ] 148 | } -------------------------------------------------------------------------------- /test/scan/mac/eleventh.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 27, 8 | "size": "27 B", 9 | "hash": "deee40f01bb621c3834b13a5cdaec5b2", 10 | "children": [ 11 | { 12 | "name": "backend", 13 | "path": "PATH/test/sample/backend", 14 | "relativePath": "backend", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 27, 18 | "size": "27 B", 19 | "hash": "ecac5bedd0870a0272aef4e67ee92578", 20 | "children": [ 21 | { 22 | "name": "firebase.json", 23 | "path": "PATH/test/sample/backend/firebase.json", 24 | "relativePath": "backend/firebase.json", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "json", 28 | "sizeInBytes": 27, 29 | "size": "27 B", 30 | "hash": "bafc664309b11a828c0adf99ed9e8516" 31 | } 32 | ] 33 | }, 34 | { 35 | "name": "empty", 36 | "path": "PATH/test/sample/empty", 37 | "relativePath": "empty", 38 | "type": "directory", 39 | "isSymbolicLink": false, 40 | "sizeInBytes": 0, 41 | "size": "0 B", 42 | "hash": "5395826f5e679ee75097a49101d8af75", 43 | "children": [ 44 | { 45 | "name": "tsempty", 46 | "path": "PATH/test/sample/empty/tsempty", 47 | "relativePath": "empty/tsempty", 48 | "type": "directory", 49 | "isSymbolicLink": false, 50 | "sizeInBytes": 0, 51 | "size": "0 B", 52 | "hash": "01ae4baddc925931f374f0f212896d30", 53 | "children": [ 54 | { 55 | "name": "file.ts", 56 | "path": "PATH/test/sample/empty/tsempty/file.ts", 57 | "relativePath": "empty/tsempty/file.ts", 58 | "type": "file", 59 | "isSymbolicLink": false, 60 | "extension": "ts", 61 | "sizeInBytes": 0, 62 | "size": "0 B", 63 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 64 | } 65 | ] 66 | } 67 | ] 68 | } 69 | ] 70 | } -------------------------------------------------------------------------------- /test/scan/mac/fifth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 49, 8 | "size": "49 B", 9 | "hash": "9e814d7cb14e149364a46cb33ab48f28", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 25, 29 | "size": "25 B", 30 | "hash": "2f438cee14fb57840234f1e472606710", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 0, 71 | "size": "0 B", 72 | "hash": "cf1e8c14e54505f60aa10ceb8d5d8ab3" 73 | } 74 | ] 75 | }, 76 | { 77 | "name": "empty", 78 | "path": "PATH/test/sample/empty", 79 | "relativePath": "empty", 80 | "type": "directory", 81 | "isSymbolicLink": false, 82 | "sizeInBytes": 0, 83 | "size": "0 B", 84 | "hash": "f29d0266f81c8e89b7158b032e54becf", 85 | "children": [ 86 | { 87 | "name": "tsempty", 88 | "path": "PATH/test/sample/empty/tsempty", 89 | "relativePath": "empty/tsempty", 90 | "type": "directory", 91 | "isSymbolicLink": false, 92 | "sizeInBytes": 0, 93 | "size": "0 B", 94 | "hash": "53d958af812c57b80a05e0b3056ca581" 95 | } 96 | ] 97 | }, 98 | { 99 | "name": "linked", 100 | "path": "PATH/test/sample/linked", 101 | "relativePath": "linked", 102 | "type": "directory", 103 | "isSymbolicLink": false, 104 | "sizeInBytes": 24, 105 | "size": "24 B", 106 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 107 | "children": [ 108 | { 109 | "name": "linked.txt", 110 | "path": "PATH/test/sample/linked/linked.txt", 111 | "relativePath": "linked/linked.txt", 112 | "type": "file", 113 | "isSymbolicLink": false, 114 | "extension": "txt", 115 | "sizeInBytes": 24, 116 | "size": "24 B", 117 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 118 | } 119 | ] 120 | } 121 | ] 122 | } -------------------------------------------------------------------------------- /test/scan/mac/first.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714683, 8 | "size": "1.71 MB", 9 | "hash": "c7c3449e2257f9412df74b8aaeecb8a7", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714659, 29 | "size": "1.71 MB", 30 | "hash": "e0d40bc9849eebab5e6b7804c72b0875", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "linked.link", 45 | "path": "PATH/test/sample/backend/linked.link", 46 | "relativePath": "backend/linked.link", 47 | "type": "directory", 48 | "isSymbolicLink": true, 49 | "sizeInBytes": 0, 50 | "size": "0 B", 51 | "hash": "13dfcaee429e99fa969199e7240a597a" 52 | }, 53 | { 54 | "name": "linkedtxt.link", 55 | "path": "PATH/test/sample/backend/linkedtxt.link", 56 | "relativePath": "backend/linkedtxt.link", 57 | "type": "file", 58 | "isSymbolicLink": true, 59 | "extension": "link", 60 | "sizeInBytes": 20, 61 | "size": "20 B", 62 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 63 | }, 64 | { 65 | "name": "notes.txt", 66 | "path": "PATH/test/sample/backend/notes.txt", 67 | "relativePath": "backend/notes.txt", 68 | "type": "file", 69 | "isSymbolicLink": false, 70 | "extension": "txt", 71 | "sizeInBytes": 5, 72 | "size": "5 B", 73 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 74 | }, 75 | { 76 | "name": "server", 77 | "path": "PATH/test/sample/backend/server", 78 | "relativePath": "backend/server", 79 | "type": "directory", 80 | "isSymbolicLink": false, 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 84 | "children": [ 85 | { 86 | "name": "server.ts", 87 | "path": "PATH/test/sample/backend/server/server.ts", 88 | "relativePath": "backend/server/server.ts", 89 | "type": "file", 90 | "isSymbolicLink": false, 91 | "extension": "ts", 92 | "sizeInBytes": 1714607, 93 | "size": "1.71 MB", 94 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 95 | } 96 | ] 97 | } 98 | ] 99 | }, 100 | { 101 | "name": "empty", 102 | "path": "PATH/test/sample/empty", 103 | "relativePath": "empty", 104 | "type": "directory", 105 | "isSymbolicLink": false, 106 | "sizeInBytes": 0, 107 | "size": "0 B", 108 | "hash": "5395826f5e679ee75097a49101d8af75", 109 | "children": [ 110 | { 111 | "name": "tsempty", 112 | "path": "PATH/test/sample/empty/tsempty", 113 | "relativePath": "empty/tsempty", 114 | "type": "directory", 115 | "isSymbolicLink": false, 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "01ae4baddc925931f374f0f212896d30", 119 | "children": [ 120 | { 121 | "name": "file.ts", 122 | "path": "PATH/test/sample/empty/tsempty/file.ts", 123 | "relativePath": "empty/tsempty/file.ts", 124 | "type": "file", 125 | "isSymbolicLink": false, 126 | "extension": "ts", 127 | "sizeInBytes": 0, 128 | "size": "0 B", 129 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 130 | } 131 | ] 132 | } 133 | ] 134 | }, 135 | { 136 | "name": "linked", 137 | "path": "PATH/test/sample/linked", 138 | "relativePath": "linked", 139 | "type": "directory", 140 | "isSymbolicLink": false, 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 144 | "children": [ 145 | { 146 | "name": "linked.txt", 147 | "path": "PATH/test/sample/linked/linked.txt", 148 | "relativePath": "linked/linked.txt", 149 | "type": "file", 150 | "isSymbolicLink": false, 151 | "extension": "txt", 152 | "sizeInBytes": 24, 153 | "size": "24 B", 154 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 155 | } 156 | ] 157 | } 158 | ] 159 | } -------------------------------------------------------------------------------- /test/scan/mac/fourteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714683, 8 | "size": "1.71 MB", 9 | "hash": "a64815e793b4806786ce1b6d11caae47", 10 | "children": [ 11 | { 12 | "name": "linked", 13 | "path": "PATH/test/sample/linked", 14 | "relativePath": "linked", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 24, 18 | "size": "24 B", 19 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 20 | "children": [ 21 | { 22 | "name": "linked.txt", 23 | "path": "PATH/test/sample/linked/linked.txt", 24 | "relativePath": "linked/linked.txt", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "txt", 28 | "sizeInBytes": 24, 29 | "size": "24 B", 30 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 31 | } 32 | ] 33 | }, 34 | { 35 | "name": "empty", 36 | "path": "PATH/test/sample/empty", 37 | "relativePath": "empty", 38 | "type": "directory", 39 | "isSymbolicLink": false, 40 | "sizeInBytes": 0, 41 | "size": "0 B", 42 | "hash": "5395826f5e679ee75097a49101d8af75", 43 | "children": [ 44 | { 45 | "name": "tsempty", 46 | "path": "PATH/test/sample/empty/tsempty", 47 | "relativePath": "empty/tsempty", 48 | "type": "directory", 49 | "isSymbolicLink": false, 50 | "sizeInBytes": 0, 51 | "size": "0 B", 52 | "hash": "01ae4baddc925931f374f0f212896d30", 53 | "children": [ 54 | { 55 | "name": "file.ts", 56 | "path": "PATH/test/sample/empty/tsempty/file.ts", 57 | "relativePath": "empty/tsempty/file.ts", 58 | "type": "file", 59 | "isSymbolicLink": false, 60 | "extension": "ts", 61 | "sizeInBytes": 0, 62 | "size": "0 B", 63 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 64 | } 65 | ] 66 | } 67 | ] 68 | }, 69 | { 70 | "name": "backend", 71 | "path": "PATH/test/sample/backend", 72 | "relativePath": "backend", 73 | "type": "directory", 74 | "isSymbolicLink": false, 75 | "sizeInBytes": 1714659, 76 | "size": "1.71 MB", 77 | "hash": "0e23da4c348710be4f93e78639879a83", 78 | "children": [ 79 | { 80 | "name": "server", 81 | "path": "PATH/test/sample/backend/server", 82 | "relativePath": "backend/server", 83 | "type": "directory", 84 | "isSymbolicLink": false, 85 | "sizeInBytes": 1714607, 86 | "size": "1.71 MB", 87 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 88 | "children": [ 89 | { 90 | "name": "server.ts", 91 | "path": "PATH/test/sample/backend/server/server.ts", 92 | "relativePath": "backend/server/server.ts", 93 | "type": "file", 94 | "isSymbolicLink": false, 95 | "extension": "ts", 96 | "sizeInBytes": 1714607, 97 | "size": "1.71 MB", 98 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 99 | } 100 | ] 101 | }, 102 | { 103 | "name": "notes.txt", 104 | "path": "PATH/test/sample/backend/notes.txt", 105 | "relativePath": "backend/notes.txt", 106 | "type": "file", 107 | "isSymbolicLink": false, 108 | "extension": "txt", 109 | "sizeInBytes": 5, 110 | "size": "5 B", 111 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 112 | }, 113 | { 114 | "name": "linkedtxt.link", 115 | "path": "PATH/test/sample/backend/linkedtxt.link", 116 | "relativePath": "backend/linkedtxt.link", 117 | "type": "file", 118 | "isSymbolicLink": true, 119 | "extension": "link", 120 | "sizeInBytes": 20, 121 | "size": "20 B", 122 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 123 | }, 124 | { 125 | "name": "linked.link", 126 | "path": "PATH/test/sample/backend/linked.link", 127 | "relativePath": "backend/linked.link", 128 | "type": "directory", 129 | "isSymbolicLink": true, 130 | "sizeInBytes": 0, 131 | "size": "0 B", 132 | "hash": "13dfcaee429e99fa969199e7240a597a" 133 | }, 134 | { 135 | "name": "firebase.json", 136 | "path": "PATH/test/sample/backend/firebase.json", 137 | "relativePath": "backend/firebase.json", 138 | "type": "file", 139 | "isSymbolicLink": false, 140 | "extension": "json", 141 | "sizeInBytes": 27, 142 | "size": "27 B", 143 | "hash": "bafc664309b11a828c0adf99ed9e8516" 144 | } 145 | ] 146 | }, 147 | { 148 | "name": ".gitignore", 149 | "path": "PATH/test/sample/.gitignore", 150 | "relativePath": ".gitignore", 151 | "type": "file", 152 | "isSymbolicLink": false, 153 | "extension": "", 154 | "sizeInBytes": 0, 155 | "size": "0 B", 156 | "hash": "a084b794bc0759e7a6b77810e01874f2" 157 | } 158 | ] 159 | } -------------------------------------------------------------------------------- /test/scan/mac/fourth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714683, 8 | "size": "1.71 MB", 9 | "hash": "18JX3XDnlJmljZzpm+YZo6Tys6s=", 10 | "children": [ 11 | { 12 | "name": "backend", 13 | "path": "PATH/test/sample/backend", 14 | "relativePath": "backend", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 1714659, 18 | "size": "1.71 MB", 19 | "hash": "DHUCYTrvZgz5cccjU89mVyFt7TI=", 20 | "children": [ 21 | { 22 | "name": "firebase.json", 23 | "path": "PATH/test/sample/backend/firebase.json", 24 | "relativePath": "backend/firebase.json", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "json", 28 | "sizeInBytes": 27, 29 | "size": "27 B", 30 | "hash": "yp5sqsL0ABNmvwHg9ElA+4mmXNE=" 31 | }, 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "4g5cYV6lKK8fiVZ1Zb5vnO0PRho=" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "ybvmfbKq28yfjlgRKeRd1TgOXMU=" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "Td+fE16fqGmowEg594C95OqpuhU=" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "aWyBQBDovHWniMEAIdXWfleTHr0=", 73 | "children": [ 74 | { 75 | "name": "server.ts", 76 | "path": "PATH/test/sample/backend/server/server.ts", 77 | "relativePath": "backend/server/server.ts", 78 | "type": "file", 79 | "isSymbolicLink": false, 80 | "extension": "ts", 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "j6VTQJlViOoTR8u3zWrUGBzM/9s=" 84 | } 85 | ] 86 | } 87 | ] 88 | }, 89 | { 90 | "name": "empty", 91 | "path": "PATH/test/sample/empty", 92 | "relativePath": "empty", 93 | "type": "directory", 94 | "isSymbolicLink": false, 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "fbcNmvRxss58uuQmTkWK0yUvFxA=", 98 | "children": [ 99 | { 100 | "name": "tsempty", 101 | "path": "PATH/test/sample/empty/tsempty", 102 | "relativePath": "empty/tsempty", 103 | "type": "directory", 104 | "isSymbolicLink": false, 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "TRBupHZitYvW4cBDUHD6OZKZkkc=", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "R49paiTOtSygfgYqpnuJewEZQXI=" 119 | } 120 | ] 121 | } 122 | ] 123 | }, 124 | { 125 | "name": "linked", 126 | "path": "PATH/test/sample/linked", 127 | "relativePath": "linked", 128 | "type": "directory", 129 | "isSymbolicLink": false, 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "nUOs7i/VNPkiFSTuIaS1TWxWfQ0=", 133 | "children": [ 134 | { 135 | "name": "linked.txt", 136 | "path": "PATH/test/sample/linked/linked.txt", 137 | "relativePath": "linked/linked.txt", 138 | "type": "file", 139 | "isSymbolicLink": false, 140 | "extension": "txt", 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "NFDL/u63fh1k5SsVfxHvWKAEUII=" 144 | } 145 | ] 146 | } 147 | ] 148 | } -------------------------------------------------------------------------------- /test/scan/mac/nineteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714683, 8 | "size": "1.71 MB", 9 | "hash": "c7c3449e2257f9412df74b8aaeecb8a7", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714659, 29 | "size": "1.71 MB", 30 | "hash": "e0d40bc9849eebab5e6b7804c72b0875", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "linked.link", 45 | "path": "PATH/test/sample/backend/linked.link", 46 | "relativePath": "backend/linked.link", 47 | "type": "directory", 48 | "isSymbolicLink": true, 49 | "sizeInBytes": 0, 50 | "size": "0 B", 51 | "hash": "13dfcaee429e99fa969199e7240a597a" 52 | }, 53 | { 54 | "name": "linkedtxt.link", 55 | "path": "PATH/test/sample/backend/linkedtxt.link", 56 | "relativePath": "backend/linkedtxt.link", 57 | "type": "file", 58 | "isSymbolicLink": true, 59 | "extension": "link", 60 | "sizeInBytes": 20, 61 | "size": "20 B", 62 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 63 | }, 64 | { 65 | "name": "notes.txt", 66 | "path": "PATH/test/sample/backend/notes.txt", 67 | "relativePath": "backend/notes.txt", 68 | "type": "file", 69 | "isSymbolicLink": false, 70 | "extension": "txt", 71 | "sizeInBytes": 5, 72 | "size": "5 B", 73 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 74 | }, 75 | { 76 | "name": "server", 77 | "path": "PATH/test/sample/backend/server", 78 | "relativePath": "backend/server", 79 | "type": "directory", 80 | "isSymbolicLink": false, 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 84 | "children": [ 85 | { 86 | "name": "server.ts", 87 | "path": "PATH/test/sample/backend/server/server.ts", 88 | "relativePath": "backend/server/server.ts", 89 | "type": "file", 90 | "isSymbolicLink": false, 91 | "extension": "ts", 92 | "sizeInBytes": 1714607, 93 | "size": "1.71 MB", 94 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 95 | } 96 | ] 97 | } 98 | ] 99 | }, 100 | { 101 | "name": "empty", 102 | "path": "PATH/test/sample/empty", 103 | "relativePath": "empty", 104 | "type": "directory", 105 | "isSymbolicLink": false, 106 | "sizeInBytes": 0, 107 | "size": "0 B", 108 | "hash": "5395826f5e679ee75097a49101d8af75", 109 | "children": [ 110 | { 111 | "name": "tsempty", 112 | "path": "PATH/test/sample/empty/tsempty", 113 | "relativePath": "empty/tsempty", 114 | "type": "directory", 115 | "isSymbolicLink": false, 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "01ae4baddc925931f374f0f212896d30", 119 | "children": [ 120 | { 121 | "name": "file.ts", 122 | "path": "PATH/test/sample/empty/tsempty/file.ts", 123 | "relativePath": "empty/tsempty/file.ts", 124 | "type": "file", 125 | "isSymbolicLink": false, 126 | "extension": "ts", 127 | "sizeInBytes": 0, 128 | "size": "0 B", 129 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 130 | } 131 | ] 132 | } 133 | ] 134 | }, 135 | { 136 | "name": "linked", 137 | "path": "PATH/test/sample/linked", 138 | "relativePath": "linked", 139 | "type": "directory", 140 | "isSymbolicLink": false, 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 144 | "children": [ 145 | { 146 | "name": "linked.txt", 147 | "path": "PATH/test/sample/linked/linked.txt", 148 | "relativePath": "linked/linked.txt", 149 | "type": "file", 150 | "isSymbolicLink": false, 151 | "extension": "txt", 152 | "sizeInBytes": 24, 153 | "size": "24 B", 154 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 155 | } 156 | ] 157 | } 158 | ] 159 | } -------------------------------------------------------------------------------- /test/scan/mac/ninth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "size": "1.71 MB", 8 | "hash": "c7c3449e2257f9412df74b8aaeecb8a7", 9 | "children": [ 10 | { 11 | "name": ".gitignore", 12 | "path": "PATH/test/sample/.gitignore", 13 | "relativePath": ".gitignore", 14 | "type": "file", 15 | "isSymbolicLink": false, 16 | "extension": "", 17 | "size": "0 B", 18 | "hash": "a084b794bc0759e7a6b77810e01874f2" 19 | }, 20 | { 21 | "name": "backend", 22 | "path": "PATH/test/sample/backend", 23 | "relativePath": "backend", 24 | "type": "directory", 25 | "isSymbolicLink": false, 26 | "size": "1.71 MB", 27 | "hash": "e0d40bc9849eebab5e6b7804c72b0875", 28 | "children": [ 29 | { 30 | "name": "firebase.json", 31 | "path": "PATH/test/sample/backend/firebase.json", 32 | "relativePath": "backend/firebase.json", 33 | "type": "file", 34 | "isSymbolicLink": false, 35 | "extension": "json", 36 | "size": "27 B", 37 | "hash": "bafc664309b11a828c0adf99ed9e8516" 38 | }, 39 | { 40 | "name": "linked.link", 41 | "path": "PATH/test/sample/backend/linked.link", 42 | "relativePath": "backend/linked.link", 43 | "type": "directory", 44 | "isSymbolicLink": true, 45 | "size": "0 B", 46 | "hash": "13dfcaee429e99fa969199e7240a597a" 47 | }, 48 | { 49 | "name": "linkedtxt.link", 50 | "path": "PATH/test/sample/backend/linkedtxt.link", 51 | "relativePath": "backend/linkedtxt.link", 52 | "type": "file", 53 | "isSymbolicLink": true, 54 | "extension": "link", 55 | "size": "20 B", 56 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 57 | }, 58 | { 59 | "name": "notes.txt", 60 | "path": "PATH/test/sample/backend/notes.txt", 61 | "relativePath": "backend/notes.txt", 62 | "type": "file", 63 | "isSymbolicLink": false, 64 | "extension": "txt", 65 | "size": "5 B", 66 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 67 | }, 68 | { 69 | "name": "server", 70 | "path": "PATH/test/sample/backend/server", 71 | "relativePath": "backend/server", 72 | "type": "directory", 73 | "isSymbolicLink": false, 74 | "size": "1.71 MB", 75 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 76 | "children": [ 77 | { 78 | "name": "server.ts", 79 | "path": "PATH/test/sample/backend/server/server.ts", 80 | "relativePath": "backend/server/server.ts", 81 | "type": "file", 82 | "isSymbolicLink": false, 83 | "extension": "ts", 84 | "size": "1.71 MB", 85 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 86 | } 87 | ] 88 | } 89 | ] 90 | }, 91 | { 92 | "name": "empty", 93 | "path": "PATH/test/sample/empty", 94 | "relativePath": "empty", 95 | "type": "directory", 96 | "isSymbolicLink": false, 97 | "size": "0 B", 98 | "hash": "5395826f5e679ee75097a49101d8af75", 99 | "children": [ 100 | { 101 | "name": "tsempty", 102 | "path": "PATH/test/sample/empty/tsempty", 103 | "relativePath": "empty/tsempty", 104 | "type": "directory", 105 | "isSymbolicLink": false, 106 | "size": "0 B", 107 | "hash": "01ae4baddc925931f374f0f212896d30", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "size": "0 B", 117 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 118 | } 119 | ] 120 | } 121 | ] 122 | }, 123 | { 124 | "name": "linked", 125 | "path": "PATH/test/sample/linked", 126 | "relativePath": "linked", 127 | "type": "directory", 128 | "isSymbolicLink": false, 129 | "size": "24 B", 130 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 131 | "children": [ 132 | { 133 | "name": "linked.txt", 134 | "path": "PATH/test/sample/linked/linked.txt", 135 | "relativePath": "linked/linked.txt", 136 | "type": "file", 137 | "isSymbolicLink": false, 138 | "extension": "txt", 139 | "size": "24 B", 140 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 141 | } 142 | ] 143 | } 144 | ] 145 | } -------------------------------------------------------------------------------- /test/scan/mac/second.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714634, 8 | "size": "1.71 MB", 9 | "hash": "7626032f486ee0877de634d9ef0d1fea", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714634, 29 | "size": "1.71 MB", 30 | "hash": "c5b271ce906d44860e0d6cf313167036", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "linked.link", 45 | "path": "PATH/test/sample/backend/linked.link", 46 | "relativePath": "backend/linked.link", 47 | "type": "directory", 48 | "isSymbolicLink": true, 49 | "sizeInBytes": 0, 50 | "size": "0 B", 51 | "hash": "13dfcaee429e99fa969199e7240a597a" 52 | }, 53 | { 54 | "name": "server", 55 | "path": "PATH/test/sample/backend/server", 56 | "relativePath": "backend/server", 57 | "type": "directory", 58 | "isSymbolicLink": false, 59 | "sizeInBytes": 1714607, 60 | "size": "1.71 MB", 61 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 62 | "children": [ 63 | { 64 | "name": "server.ts", 65 | "path": "PATH/test/sample/backend/server/server.ts", 66 | "relativePath": "backend/server/server.ts", 67 | "type": "file", 68 | "isSymbolicLink": false, 69 | "extension": "ts", 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 73 | } 74 | ] 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "empty", 80 | "path": "PATH/test/sample/empty", 81 | "relativePath": "empty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "5395826f5e679ee75097a49101d8af75", 87 | "children": [ 88 | { 89 | "name": "tsempty", 90 | "path": "PATH/test/sample/empty/tsempty", 91 | "relativePath": "empty/tsempty", 92 | "type": "directory", 93 | "isSymbolicLink": false, 94 | "sizeInBytes": 0, 95 | "size": "0 B", 96 | "hash": "01ae4baddc925931f374f0f212896d30", 97 | "children": [ 98 | { 99 | "name": "file.ts", 100 | "path": "PATH/test/sample/empty/tsempty/file.ts", 101 | "relativePath": "empty/tsempty/file.ts", 102 | "type": "file", 103 | "isSymbolicLink": false, 104 | "extension": "ts", 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 108 | } 109 | ] 110 | } 111 | ] 112 | }, 113 | { 114 | "name": "linked", 115 | "path": "PATH/test/sample/linked", 116 | "relativePath": "linked", 117 | "type": "directory", 118 | "isSymbolicLink": false, 119 | "sizeInBytes": 0, 120 | "size": "0 B", 121 | "hash": "d48e37bc19b9fe2c72923c30fd7a4152" 122 | } 123 | ] 124 | } -------------------------------------------------------------------------------- /test/scan/mac/seventeenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714651, 8 | "size": "1.71 MB", 9 | "hash": "e5a93b62ac69239916fd175ba2a11e5b", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714627, 29 | "size": "1.71 MB", 30 | "hash": "8e9d05fa4cf4770e37e47ce20011979a", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "server", 55 | "path": "PATH/test/sample/backend/server", 56 | "relativePath": "backend/server", 57 | "type": "directory", 58 | "isSymbolicLink": false, 59 | "sizeInBytes": 1714607, 60 | "size": "1.71 MB", 61 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 62 | "children": [ 63 | { 64 | "name": "server.ts", 65 | "path": "PATH/test/sample/backend/server/server.ts", 66 | "relativePath": "backend/server/server.ts", 67 | "type": "file", 68 | "isSymbolicLink": false, 69 | "extension": "ts", 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 73 | } 74 | ] 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "empty", 80 | "path": "PATH/test/sample/empty", 81 | "relativePath": "empty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "5395826f5e679ee75097a49101d8af75", 87 | "children": [ 88 | { 89 | "name": "tsempty", 90 | "path": "PATH/test/sample/empty/tsempty", 91 | "relativePath": "empty/tsempty", 92 | "type": "directory", 93 | "isSymbolicLink": false, 94 | "sizeInBytes": 0, 95 | "size": "0 B", 96 | "hash": "01ae4baddc925931f374f0f212896d30", 97 | "children": [ 98 | { 99 | "name": "file.ts", 100 | "path": "PATH/test/sample/empty/tsempty/file.ts", 101 | "relativePath": "empty/tsempty/file.ts", 102 | "type": "file", 103 | "isSymbolicLink": false, 104 | "extension": "ts", 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 108 | } 109 | ] 110 | } 111 | ] 112 | }, 113 | { 114 | "name": "linked", 115 | "path": "PATH/test/sample/linked", 116 | "relativePath": "linked", 117 | "type": "directory", 118 | "isSymbolicLink": false, 119 | "sizeInBytes": 24, 120 | "size": "24 B", 121 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 122 | "children": [ 123 | { 124 | "name": "linked.txt", 125 | "path": "PATH/test/sample/linked/linked.txt", 126 | "relativePath": "linked/linked.txt", 127 | "type": "file", 128 | "isSymbolicLink": false, 129 | "extension": "txt", 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 133 | } 134 | ] 135 | } 136 | ] 137 | } -------------------------------------------------------------------------------- /test/scan/mac/seventh.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 49, 8 | "size": "49 B", 9 | "hash": "9e814d7cb14e149364a46cb33ab48f28", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 25, 29 | "size": "25 B", 30 | "hash": "2f438cee14fb57840234f1e472606710", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 0, 71 | "size": "0 B", 72 | "hash": "cf1e8c14e54505f60aa10ceb8d5d8ab3" 73 | } 74 | ] 75 | }, 76 | { 77 | "name": "empty", 78 | "path": "PATH/test/sample/empty", 79 | "relativePath": "empty", 80 | "type": "directory", 81 | "isSymbolicLink": false, 82 | "sizeInBytes": 0, 83 | "size": "0 B", 84 | "hash": "f29d0266f81c8e89b7158b032e54becf", 85 | "children": [ 86 | { 87 | "name": "tsempty", 88 | "path": "PATH/test/sample/empty/tsempty", 89 | "relativePath": "empty/tsempty", 90 | "type": "directory", 91 | "isSymbolicLink": false, 92 | "sizeInBytes": 0, 93 | "size": "0 B", 94 | "hash": "53d958af812c57b80a05e0b3056ca581" 95 | } 96 | ] 97 | }, 98 | { 99 | "name": "linked", 100 | "path": "PATH/test/sample/linked", 101 | "relativePath": "linked", 102 | "type": "directory", 103 | "isSymbolicLink": false, 104 | "sizeInBytes": 24, 105 | "size": "24 B", 106 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 107 | "children": [ 108 | { 109 | "name": "linked.txt", 110 | "path": "PATH/test/sample/linked/linked.txt", 111 | "relativePath": "linked/linked.txt", 112 | "type": "file", 113 | "isSymbolicLink": false, 114 | "extension": "txt", 115 | "sizeInBytes": 24, 116 | "size": "24 B", 117 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 118 | } 119 | ] 120 | } 121 | ] 122 | } -------------------------------------------------------------------------------- /test/scan/mac/sixteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714656, 8 | "size": "1.71 MB", 9 | "hash": "4bfc32fb865e14123fbe9f896b461568", 10 | "descendants": 6, 11 | "children": [ 12 | { 13 | "name": ".gitignore", 14 | "path": "PATH/test/sample/.gitignore", 15 | "relativePath": ".gitignore", 16 | "type": "file", 17 | "isSymbolicLink": false, 18 | "extension": "", 19 | "sizeInBytes": 0, 20 | "size": "0 B", 21 | "hash": "a084b794bc0759e7a6b77810e01874f2" 22 | }, 23 | { 24 | "name": "backend", 25 | "path": "PATH/test/sample/backend", 26 | "relativePath": "backend", 27 | "type": "directory", 28 | "isSymbolicLink": false, 29 | "sizeInBytes": 1714632, 30 | "size": "1.71 MB", 31 | "hash": "8ab7496f907bac1220a19636206407ea", 32 | "descendants": 3, 33 | "children": [ 34 | { 35 | "name": "linked.link", 36 | "path": "PATH/test/sample/backend/linked.link", 37 | "relativePath": "backend/linked.link", 38 | "type": "directory", 39 | "isSymbolicLink": true, 40 | "sizeInBytes": 0, 41 | "size": "0 B", 42 | "hash": "13dfcaee429e99fa969199e7240a597a", 43 | "descendants": 0 44 | }, 45 | { 46 | "name": "linkedtxt.link", 47 | "path": "PATH/test/sample/backend/linkedtxt.link", 48 | "relativePath": "backend/linkedtxt.link", 49 | "type": "file", 50 | "isSymbolicLink": true, 51 | "extension": "link", 52 | "sizeInBytes": 20, 53 | "size": "20 B", 54 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 55 | }, 56 | { 57 | "name": "notes.txt", 58 | "path": "PATH/test/sample/backend/notes.txt", 59 | "relativePath": "backend/notes.txt", 60 | "type": "file", 61 | "isSymbolicLink": false, 62 | "extension": "txt", 63 | "sizeInBytes": 5, 64 | "size": "5 B", 65 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 66 | }, 67 | { 68 | "name": "server", 69 | "path": "PATH/test/sample/backend/server", 70 | "relativePath": "backend/server", 71 | "type": "directory", 72 | "isSymbolicLink": false, 73 | "sizeInBytes": 1714607, 74 | "size": "1.71 MB", 75 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 76 | "descendants": 1, 77 | "children": [ 78 | { 79 | "name": "server.ts", 80 | "path": "PATH/test/sample/backend/server/server.ts", 81 | "relativePath": "backend/server/server.ts", 82 | "type": "file", 83 | "isSymbolicLink": false, 84 | "extension": "ts", 85 | "sizeInBytes": 1714607, 86 | "size": "1.71 MB", 87 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 88 | } 89 | ] 90 | } 91 | ] 92 | }, 93 | { 94 | "name": "empty", 95 | "path": "PATH/test/sample/empty", 96 | "relativePath": "empty", 97 | "type": "directory", 98 | "isSymbolicLink": false, 99 | "sizeInBytes": 0, 100 | "size": "0 B", 101 | "hash": "5395826f5e679ee75097a49101d8af75", 102 | "descendants": 1, 103 | "children": [ 104 | { 105 | "name": "tsempty", 106 | "path": "PATH/test/sample/empty/tsempty", 107 | "relativePath": "empty/tsempty", 108 | "type": "directory", 109 | "isSymbolicLink": false, 110 | "sizeInBytes": 0, 111 | "size": "0 B", 112 | "hash": "01ae4baddc925931f374f0f212896d30", 113 | "descendants": 1, 114 | "children": [ 115 | { 116 | "name": "file.ts", 117 | "path": "PATH/test/sample/empty/tsempty/file.ts", 118 | "relativePath": "empty/tsempty/file.ts", 119 | "type": "file", 120 | "isSymbolicLink": false, 121 | "extension": "ts", 122 | "sizeInBytes": 0, 123 | "size": "0 B", 124 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 125 | } 126 | ] 127 | } 128 | ] 129 | }, 130 | { 131 | "name": "linked", 132 | "path": "PATH/test/sample/linked", 133 | "relativePath": "linked", 134 | "type": "directory", 135 | "isSymbolicLink": false, 136 | "sizeInBytes": 24, 137 | "size": "24 B", 138 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 139 | "descendants": 1, 140 | "children": [ 141 | { 142 | "name": "linked.txt", 143 | "path": "PATH/test/sample/linked/linked.txt", 144 | "relativePath": "linked/linked.txt", 145 | "type": "file", 146 | "isSymbolicLink": false, 147 | "extension": "txt", 148 | "sizeInBytes": 24, 149 | "size": "24 B", 150 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 151 | } 152 | ] 153 | } 154 | ] 155 | } -------------------------------------------------------------------------------- /test/scan/mac/sixth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 0, 8 | "size": "0 B", 9 | "hash": "5e8ff9bf55ba3508199d22e984129be6" 10 | } -------------------------------------------------------------------------------- /test/scan/mac/third.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714634, 8 | "size": "1.71 MB", 9 | "hash": "0aa58ede1e1f0b54bd412a75368ae25c", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714634, 29 | "size": "1.71 MB", 30 | "hash": "3d7be60e1040728292610c557c20feb4", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "server", 45 | "path": "PATH/test/sample/backend/server", 46 | "relativePath": "backend/server", 47 | "type": "directory", 48 | "isSymbolicLink": false, 49 | "sizeInBytes": 1714607, 50 | "size": "1.71 MB", 51 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 52 | "children": [ 53 | { 54 | "name": "server.ts", 55 | "path": "PATH/test/sample/backend/server/server.ts", 56 | "relativePath": "backend/server/server.ts", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "ts", 60 | "sizeInBytes": 1714607, 61 | "size": "1.71 MB", 62 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 63 | } 64 | ] 65 | } 66 | ] 67 | }, 68 | { 69 | "name": "empty", 70 | "path": "PATH/test/sample/empty", 71 | "relativePath": "empty", 72 | "type": "directory", 73 | "isSymbolicLink": false, 74 | "sizeInBytes": 0, 75 | "size": "0 B", 76 | "hash": "5395826f5e679ee75097a49101d8af75", 77 | "children": [ 78 | { 79 | "name": "tsempty", 80 | "path": "PATH/test/sample/empty/tsempty", 81 | "relativePath": "empty/tsempty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "01ae4baddc925931f374f0f212896d30", 87 | "children": [ 88 | { 89 | "name": "file.ts", 90 | "path": "PATH/test/sample/empty/tsempty/file.ts", 91 | "relativePath": "empty/tsempty/file.ts", 92 | "type": "file", 93 | "isSymbolicLink": false, 94 | "extension": "ts", 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 98 | } 99 | ] 100 | } 101 | ] 102 | }, 103 | { 104 | "name": "linked", 105 | "path": "PATH/test/sample/linked", 106 | "relativePath": "linked", 107 | "type": "directory", 108 | "isSymbolicLink": false, 109 | "sizeInBytes": 0, 110 | "size": "0 B", 111 | "hash": "d48e37bc19b9fe2c72923c30fd7a4152" 112 | } 113 | ] 114 | } -------------------------------------------------------------------------------- /test/scan/mac/twelfth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 27, 8 | "size": "27 B", 9 | "hash": "dd9ff3224a244878047106d4702cd11d", 10 | "children": [ 11 | { 12 | "name": "backend", 13 | "path": "PATH/test/sample/backend", 14 | "relativePath": "backend", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 27, 18 | "size": "27 B", 19 | "hash": "ecac5bedd0870a0272aef4e67ee92578", 20 | "children": [ 21 | { 22 | "name": "firebase.json", 23 | "path": "PATH/test/sample/backend/firebase.json", 24 | "relativePath": "backend/firebase.json", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "json", 28 | "sizeInBytes": 27, 29 | "size": "27 B", 30 | "hash": "bafc664309b11a828c0adf99ed9e8516" 31 | } 32 | ] 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /test/scan/windows/eight.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "isEmpty": false, 8 | "sizeInBytes": 76, 9 | "size": "76 B", 10 | "hash": "2ee42f8e4e250ef344b806e990d3c8f9", 11 | "children": [ 12 | { 13 | "name": ".gitignore", 14 | "path": "PATH/test/sample/.gitignore", 15 | "relativePath": ".gitignore", 16 | "type": "file", 17 | "isSymbolicLink": false, 18 | "extension": "", 19 | "sizeInBytes": 0, 20 | "size": "0 B", 21 | "hash": "a084b794bc0759e7a6b77810e01874f2" 22 | }, 23 | { 24 | "name": "backend", 25 | "path": "PATH/test/sample/backend", 26 | "relativePath": "backend", 27 | "type": "directory", 28 | "isSymbolicLink": false, 29 | "isEmpty": false, 30 | "sizeInBytes": 52, 31 | "size": "52 B", 32 | "hash": "6f3a1e2d41b245d5ce265ede42fcc8b5", 33 | "children": [ 34 | { 35 | "name": "firebase.json", 36 | "path": "PATH/test/sample/backend/firebase.json", 37 | "relativePath": "backend/firebase.json", 38 | "type": "file", 39 | "isSymbolicLink": false, 40 | "extension": "json", 41 | "sizeInBytes": 27, 42 | "size": "27 B", 43 | "hash": "bafc664309b11a828c0adf99ed9e8516" 44 | }, 45 | { 46 | "name": "linked.link", 47 | "path": "PATH/test/sample/backend/linked.link", 48 | "relativePath": "backend/linked.link", 49 | "type": "directory", 50 | "isSymbolicLink": true, 51 | "sizeInBytes": 0, 52 | "size": "0 B", 53 | "hash": "13dfcaee429e99fa969199e7240a597a" 54 | }, 55 | { 56 | "name": "linkedtxt.link", 57 | "path": "PATH/test/sample/backend/linkedtxt.link", 58 | "relativePath": "backend/linkedtxt.link", 59 | "type": "file", 60 | "isSymbolicLink": true, 61 | "extension": "link", 62 | "sizeInBytes": 20, 63 | "size": "20 B", 64 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 65 | }, 66 | { 67 | "name": "notes.txt", 68 | "path": "PATH/test/sample/backend/notes.txt", 69 | "relativePath": "backend/notes.txt", 70 | "type": "file", 71 | "isSymbolicLink": false, 72 | "extension": "txt", 73 | "sizeInBytes": 5, 74 | "size": "5 B", 75 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 76 | } 77 | ] 78 | }, 79 | { 80 | "name": "linked", 81 | "path": "PATH/test/sample/linked", 82 | "relativePath": "linked", 83 | "type": "directory", 84 | "isSymbolicLink": false, 85 | "isEmpty": false, 86 | "sizeInBytes": 24, 87 | "size": "24 B", 88 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 89 | "children": [ 90 | { 91 | "name": "linked.txt", 92 | "path": "PATH/test/sample/linked/linked.txt", 93 | "relativePath": "linked/linked.txt", 94 | "type": "file", 95 | "isSymbolicLink": false, 96 | "extension": "txt", 97 | "sizeInBytes": 24, 98 | "size": "24 B", 99 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 100 | } 101 | ] 102 | } 103 | ] 104 | } -------------------------------------------------------------------------------- /test/scan/windows/eighteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714656, 8 | "size": "1.71 MB", 9 | "hash": "4bfc32fb865e14123fbe9f896b461568", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714632, 29 | "size": "1.71 MB", 30 | "hash": "8ab7496f907bac1220a19636206407ea", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 73 | "children": [ 74 | { 75 | "name": "server.ts", 76 | "path": "PATH/test/sample/backend/server/server.ts", 77 | "relativePath": "backend/server/server.ts", 78 | "type": "file", 79 | "isSymbolicLink": false, 80 | "extension": "ts", 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 84 | } 85 | ] 86 | } 87 | ] 88 | }, 89 | { 90 | "name": "empty", 91 | "path": "PATH/test/sample/empty", 92 | "relativePath": "empty", 93 | "type": "directory", 94 | "isSymbolicLink": false, 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "5395826f5e679ee75097a49101d8af75", 98 | "children": [ 99 | { 100 | "name": "tsempty", 101 | "path": "PATH/test/sample/empty/tsempty", 102 | "relativePath": "empty/tsempty", 103 | "type": "directory", 104 | "isSymbolicLink": false, 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "01ae4baddc925931f374f0f212896d30", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 119 | } 120 | ] 121 | } 122 | ] 123 | }, 124 | { 125 | "name": "linked", 126 | "path": "PATH/test/sample/linked", 127 | "relativePath": "linked", 128 | "type": "directory", 129 | "isSymbolicLink": false, 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 133 | "children": [ 134 | { 135 | "name": "linked.txt", 136 | "path": "PATH/test/sample/linked/linked.txt", 137 | "relativePath": "linked/linked.txt", 138 | "type": "file", 139 | "isSymbolicLink": false, 140 | "extension": "txt", 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 144 | } 145 | ] 146 | } 147 | ] 148 | } -------------------------------------------------------------------------------- /test/scan/windows/eleventh.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 0, 8 | "size": "0 B", 9 | "hash": "5e8ff9bf55ba3508199d22e984129be6" 10 | } -------------------------------------------------------------------------------- /test/scan/windows/fifth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 49, 8 | "size": "49 B", 9 | "hash": "9e814d7cb14e149364a46cb33ab48f28", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 25, 29 | "size": "25 B", 30 | "hash": "2f438cee14fb57840234f1e472606710", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 0, 71 | "size": "0 B", 72 | "hash": "cf1e8c14e54505f60aa10ceb8d5d8ab3" 73 | } 74 | ] 75 | }, 76 | { 77 | "name": "empty", 78 | "path": "PATH/test/sample/empty", 79 | "relativePath": "empty", 80 | "type": "directory", 81 | "isSymbolicLink": false, 82 | "sizeInBytes": 0, 83 | "size": "0 B", 84 | "hash": "f29d0266f81c8e89b7158b032e54becf", 85 | "children": [ 86 | { 87 | "name": "tsempty", 88 | "path": "PATH/test/sample/empty/tsempty", 89 | "relativePath": "empty/tsempty", 90 | "type": "directory", 91 | "isSymbolicLink": false, 92 | "sizeInBytes": 0, 93 | "size": "0 B", 94 | "hash": "53d958af812c57b80a05e0b3056ca581" 95 | } 96 | ] 97 | }, 98 | { 99 | "name": "linked", 100 | "path": "PATH/test/sample/linked", 101 | "relativePath": "linked", 102 | "type": "directory", 103 | "isSymbolicLink": false, 104 | "sizeInBytes": 24, 105 | "size": "24 B", 106 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 107 | "children": [ 108 | { 109 | "name": "linked.txt", 110 | "path": "PATH/test/sample/linked/linked.txt", 111 | "relativePath": "linked/linked.txt", 112 | "type": "file", 113 | "isSymbolicLink": false, 114 | "extension": "txt", 115 | "sizeInBytes": 24, 116 | "size": "24 B", 117 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 118 | } 119 | ] 120 | } 121 | ] 122 | } -------------------------------------------------------------------------------- /test/scan/windows/fourth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714683, 8 | "size": "1.71 MB", 9 | "hash": "18JX3XDnlJmljZzpm+YZo6Tys6s=", 10 | "children": [ 11 | { 12 | "name": "backend", 13 | "path": "PATH/test/sample/backend", 14 | "relativePath": "backend", 15 | "type": "directory", 16 | "isSymbolicLink": false, 17 | "sizeInBytes": 1714659, 18 | "size": "1.71 MB", 19 | "hash": "DHUCYTrvZgz5cccjU89mVyFt7TI=", 20 | "children": [ 21 | { 22 | "name": "firebase.json", 23 | "path": "PATH/test/sample/backend/firebase.json", 24 | "relativePath": "backend/firebase.json", 25 | "type": "file", 26 | "isSymbolicLink": false, 27 | "extension": "json", 28 | "sizeInBytes": 27, 29 | "size": "27 B", 30 | "hash": "yp5sqsL0ABNmvwHg9ElA+4mmXNE=" 31 | }, 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "4g5cYV6lKK8fiVZ1Zb5vnO0PRho=" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "ybvmfbKq28yfjlgRKeRd1TgOXMU=" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "Td+fE16fqGmowEg594C95OqpuhU=" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "aWyBQBDovHWniMEAIdXWfleTHr0=", 73 | "children": [ 74 | { 75 | "name": "server.ts", 76 | "path": "PATH/test/sample/backend/server/server.ts", 77 | "relativePath": "backend/server/server.ts", 78 | "type": "file", 79 | "isSymbolicLink": false, 80 | "extension": "ts", 81 | "sizeInBytes": 1714607, 82 | "size": "1.71 MB", 83 | "hash": "j6VTQJlViOoTR8u3zWrUGBzM/9s=" 84 | } 85 | ] 86 | } 87 | ] 88 | }, 89 | { 90 | "name": "empty", 91 | "path": "PATH/test/sample/empty", 92 | "relativePath": "empty", 93 | "type": "directory", 94 | "isSymbolicLink": false, 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "fbcNmvRxss58uuQmTkWK0yUvFxA=", 98 | "children": [ 99 | { 100 | "name": "tsempty", 101 | "path": "PATH/test/sample/empty/tsempty", 102 | "relativePath": "empty/tsempty", 103 | "type": "directory", 104 | "isSymbolicLink": false, 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "TRBupHZitYvW4cBDUHD6OZKZkkc=", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "sizeInBytes": 0, 117 | "size": "0 B", 118 | "hash": "R49paiTOtSygfgYqpnuJewEZQXI=" 119 | } 120 | ] 121 | } 122 | ] 123 | }, 124 | { 125 | "name": "linked", 126 | "path": "PATH/test/sample/linked", 127 | "relativePath": "linked", 128 | "type": "directory", 129 | "isSymbolicLink": false, 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "nUOs7i/VNPkiFSTuIaS1TWxWfQ0=", 133 | "children": [ 134 | { 135 | "name": "linked.txt", 136 | "path": "PATH/test/sample/linked/linked.txt", 137 | "relativePath": "linked/linked.txt", 138 | "type": "file", 139 | "isSymbolicLink": false, 140 | "extension": "txt", 141 | "sizeInBytes": 24, 142 | "size": "24 B", 143 | "hash": "NFDL/u63fh1k5SsVfxHvWKAEUII=" 144 | } 145 | ] 146 | } 147 | ] 148 | } -------------------------------------------------------------------------------- /test/scan/windows/ninth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "size": "1.71 MB", 8 | "hash": "c7c3449e2257f9412df74b8aaeecb8a7", 9 | "children": [ 10 | { 11 | "name": ".gitignore", 12 | "path": "PATH/test/sample/.gitignore", 13 | "relativePath": ".gitignore", 14 | "type": "file", 15 | "isSymbolicLink": false, 16 | "extension": "", 17 | "size": "0 B", 18 | "hash": "a084b794bc0759e7a6b77810e01874f2" 19 | }, 20 | { 21 | "name": "backend", 22 | "path": "PATH/test/sample/backend", 23 | "relativePath": "backend", 24 | "type": "directory", 25 | "isSymbolicLink": false, 26 | "size": "1.71 MB", 27 | "hash": "e0d40bc9849eebab5e6b7804c72b0875", 28 | "children": [ 29 | { 30 | "name": "firebase.json", 31 | "path": "PATH/test/sample/backend/firebase.json", 32 | "relativePath": "backend/firebase.json", 33 | "type": "file", 34 | "isSymbolicLink": false, 35 | "extension": "json", 36 | "size": "27 B", 37 | "hash": "bafc664309b11a828c0adf99ed9e8516" 38 | }, 39 | { 40 | "name": "linked.link", 41 | "path": "PATH/test/sample/backend/linked.link", 42 | "relativePath": "backend/linked.link", 43 | "type": "directory", 44 | "isSymbolicLink": true, 45 | "size": "0 B", 46 | "hash": "13dfcaee429e99fa969199e7240a597a" 47 | }, 48 | { 49 | "name": "linkedtxt.link", 50 | "path": "PATH/test/sample/backend/linkedtxt.link", 51 | "relativePath": "backend/linkedtxt.link", 52 | "type": "file", 53 | "isSymbolicLink": true, 54 | "extension": "link", 55 | "size": "20 B", 56 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 57 | }, 58 | { 59 | "name": "notes.txt", 60 | "path": "PATH/test/sample/backend/notes.txt", 61 | "relativePath": "backend/notes.txt", 62 | "type": "file", 63 | "isSymbolicLink": false, 64 | "extension": "txt", 65 | "size": "5 B", 66 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 67 | }, 68 | { 69 | "name": "server", 70 | "path": "PATH/test/sample/backend/server", 71 | "relativePath": "backend/server", 72 | "type": "directory", 73 | "isSymbolicLink": false, 74 | "size": "1.71 MB", 75 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 76 | "children": [ 77 | { 78 | "name": "server.ts", 79 | "path": "PATH/test/sample/backend/server/server.ts", 80 | "relativePath": "backend/server/server.ts", 81 | "type": "file", 82 | "isSymbolicLink": false, 83 | "extension": "ts", 84 | "size": "1.71 MB", 85 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 86 | } 87 | ] 88 | } 89 | ] 90 | }, 91 | { 92 | "name": "empty", 93 | "path": "PATH/test/sample/empty", 94 | "relativePath": "empty", 95 | "type": "directory", 96 | "isSymbolicLink": false, 97 | "size": "0 B", 98 | "hash": "5395826f5e679ee75097a49101d8af75", 99 | "children": [ 100 | { 101 | "name": "tsempty", 102 | "path": "PATH/test/sample/empty/tsempty", 103 | "relativePath": "empty/tsempty", 104 | "type": "directory", 105 | "isSymbolicLink": false, 106 | "size": "0 B", 107 | "hash": "01ae4baddc925931f374f0f212896d30", 108 | "children": [ 109 | { 110 | "name": "file.ts", 111 | "path": "PATH/test/sample/empty/tsempty/file.ts", 112 | "relativePath": "empty/tsempty/file.ts", 113 | "type": "file", 114 | "isSymbolicLink": false, 115 | "extension": "ts", 116 | "size": "0 B", 117 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 118 | } 119 | ] 120 | } 121 | ] 122 | }, 123 | { 124 | "name": "linked", 125 | "path": "PATH/test/sample/linked", 126 | "relativePath": "linked", 127 | "type": "directory", 128 | "isSymbolicLink": false, 129 | "size": "24 B", 130 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 131 | "children": [ 132 | { 133 | "name": "linked.txt", 134 | "path": "PATH/test/sample/linked/linked.txt", 135 | "relativePath": "linked/linked.txt", 136 | "type": "file", 137 | "isSymbolicLink": false, 138 | "extension": "txt", 139 | "size": "24 B", 140 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 141 | } 142 | ] 143 | } 144 | ] 145 | } -------------------------------------------------------------------------------- /test/scan/windows/second.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714634, 8 | "size": "1.71 MB", 9 | "hash": "7626032f486ee0877de634d9ef0d1fea", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714634, 29 | "size": "1.71 MB", 30 | "hash": "c5b271ce906d44860e0d6cf313167036", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "linked.link", 45 | "path": "PATH/test/sample/backend/linked.link", 46 | "relativePath": "backend/linked.link", 47 | "type": "directory", 48 | "isSymbolicLink": true, 49 | "sizeInBytes": 0, 50 | "size": "0 B", 51 | "hash": "13dfcaee429e99fa969199e7240a597a" 52 | }, 53 | { 54 | "name": "server", 55 | "path": "PATH/test/sample/backend/server", 56 | "relativePath": "backend/server", 57 | "type": "directory", 58 | "isSymbolicLink": false, 59 | "sizeInBytes": 1714607, 60 | "size": "1.71 MB", 61 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 62 | "children": [ 63 | { 64 | "name": "server.ts", 65 | "path": "PATH/test/sample/backend/server/server.ts", 66 | "relativePath": "backend/server/server.ts", 67 | "type": "file", 68 | "isSymbolicLink": false, 69 | "extension": "ts", 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 73 | } 74 | ] 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "empty", 80 | "path": "PATH/test/sample/empty", 81 | "relativePath": "empty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "5395826f5e679ee75097a49101d8af75", 87 | "children": [ 88 | { 89 | "name": "tsempty", 90 | "path": "PATH/test/sample/empty/tsempty", 91 | "relativePath": "empty/tsempty", 92 | "type": "directory", 93 | "isSymbolicLink": false, 94 | "sizeInBytes": 0, 95 | "size": "0 B", 96 | "hash": "01ae4baddc925931f374f0f212896d30", 97 | "children": [ 98 | { 99 | "name": "file.ts", 100 | "path": "PATH/test/sample/empty/tsempty/file.ts", 101 | "relativePath": "empty/tsempty/file.ts", 102 | "type": "file", 103 | "isSymbolicLink": false, 104 | "extension": "ts", 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 108 | } 109 | ] 110 | } 111 | ] 112 | }, 113 | { 114 | "name": "linked", 115 | "path": "PATH/test/sample/linked", 116 | "relativePath": "linked", 117 | "type": "directory", 118 | "isSymbolicLink": false, 119 | "sizeInBytes": 0, 120 | "size": "0 B", 121 | "hash": "d48e37bc19b9fe2c72923c30fd7a4152" 122 | } 123 | ] 124 | } -------------------------------------------------------------------------------- /test/scan/windows/seventeenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714651, 8 | "size": "1.71 MB", 9 | "hash": "e5a93b62ac69239916fd175ba2a11e5b", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714627, 29 | "size": "1.71 MB", 30 | "hash": "8e9d05fa4cf4770e37e47ce20011979a", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "server", 55 | "path": "PATH/test/sample/backend/server", 56 | "relativePath": "backend/server", 57 | "type": "directory", 58 | "isSymbolicLink": false, 59 | "sizeInBytes": 1714607, 60 | "size": "1.71 MB", 61 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 62 | "children": [ 63 | { 64 | "name": "server.ts", 65 | "path": "PATH/test/sample/backend/server/server.ts", 66 | "relativePath": "backend/server/server.ts", 67 | "type": "file", 68 | "isSymbolicLink": false, 69 | "extension": "ts", 70 | "sizeInBytes": 1714607, 71 | "size": "1.71 MB", 72 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 73 | } 74 | ] 75 | } 76 | ] 77 | }, 78 | { 79 | "name": "empty", 80 | "path": "PATH/test/sample/empty", 81 | "relativePath": "empty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "5395826f5e679ee75097a49101d8af75", 87 | "children": [ 88 | { 89 | "name": "tsempty", 90 | "path": "PATH/test/sample/empty/tsempty", 91 | "relativePath": "empty/tsempty", 92 | "type": "directory", 93 | "isSymbolicLink": false, 94 | "sizeInBytes": 0, 95 | "size": "0 B", 96 | "hash": "01ae4baddc925931f374f0f212896d30", 97 | "children": [ 98 | { 99 | "name": "file.ts", 100 | "path": "PATH/test/sample/empty/tsempty/file.ts", 101 | "relativePath": "empty/tsempty/file.ts", 102 | "type": "file", 103 | "isSymbolicLink": false, 104 | "extension": "ts", 105 | "sizeInBytes": 0, 106 | "size": "0 B", 107 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 108 | } 109 | ] 110 | } 111 | ] 112 | }, 113 | { 114 | "name": "linked", 115 | "path": "PATH/test/sample/linked", 116 | "relativePath": "linked", 117 | "type": "directory", 118 | "isSymbolicLink": false, 119 | "sizeInBytes": 24, 120 | "size": "24 B", 121 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 122 | "children": [ 123 | { 124 | "name": "linked.txt", 125 | "path": "PATH/test/sample/linked/linked.txt", 126 | "relativePath": "linked/linked.txt", 127 | "type": "file", 128 | "isSymbolicLink": false, 129 | "extension": "txt", 130 | "sizeInBytes": 24, 131 | "size": "24 B", 132 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 133 | } 134 | ] 135 | } 136 | ] 137 | } -------------------------------------------------------------------------------- /test/scan/windows/seventh.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 49, 8 | "size": "49 B", 9 | "hash": "9e814d7cb14e149364a46cb33ab48f28", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 25, 29 | "size": "25 B", 30 | "hash": "2f438cee14fb57840234f1e472606710", 31 | "children": [ 32 | { 33 | "name": "linked.link", 34 | "path": "PATH/test/sample/backend/linked.link", 35 | "relativePath": "backend/linked.link", 36 | "type": "directory", 37 | "isSymbolicLink": true, 38 | "sizeInBytes": 0, 39 | "size": "0 B", 40 | "hash": "13dfcaee429e99fa969199e7240a597a" 41 | }, 42 | { 43 | "name": "linkedtxt.link", 44 | "path": "PATH/test/sample/backend/linkedtxt.link", 45 | "relativePath": "backend/linkedtxt.link", 46 | "type": "file", 47 | "isSymbolicLink": true, 48 | "extension": "link", 49 | "sizeInBytes": 20, 50 | "size": "20 B", 51 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 52 | }, 53 | { 54 | "name": "notes.txt", 55 | "path": "PATH/test/sample/backend/notes.txt", 56 | "relativePath": "backend/notes.txt", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "txt", 60 | "sizeInBytes": 5, 61 | "size": "5 B", 62 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 63 | }, 64 | { 65 | "name": "server", 66 | "path": "PATH/test/sample/backend/server", 67 | "relativePath": "backend/server", 68 | "type": "directory", 69 | "isSymbolicLink": false, 70 | "sizeInBytes": 0, 71 | "size": "0 B", 72 | "hash": "cf1e8c14e54505f60aa10ceb8d5d8ab3" 73 | } 74 | ] 75 | }, 76 | { 77 | "name": "empty", 78 | "path": "PATH/test/sample/empty", 79 | "relativePath": "empty", 80 | "type": "directory", 81 | "isSymbolicLink": false, 82 | "sizeInBytes": 0, 83 | "size": "0 B", 84 | "hash": "f29d0266f81c8e89b7158b032e54becf", 85 | "children": [ 86 | { 87 | "name": "tsempty", 88 | "path": "PATH/test/sample/empty/tsempty", 89 | "relativePath": "empty/tsempty", 90 | "type": "directory", 91 | "isSymbolicLink": false, 92 | "sizeInBytes": 0, 93 | "size": "0 B", 94 | "hash": "53d958af812c57b80a05e0b3056ca581" 95 | } 96 | ] 97 | }, 98 | { 99 | "name": "linked", 100 | "path": "PATH/test/sample/linked", 101 | "relativePath": "linked", 102 | "type": "directory", 103 | "isSymbolicLink": false, 104 | "sizeInBytes": 24, 105 | "size": "24 B", 106 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 107 | "children": [ 108 | { 109 | "name": "linked.txt", 110 | "path": "PATH/test/sample/linked/linked.txt", 111 | "relativePath": "linked/linked.txt", 112 | "type": "file", 113 | "isSymbolicLink": false, 114 | "extension": "txt", 115 | "sizeInBytes": 24, 116 | "size": "24 B", 117 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 118 | } 119 | ] 120 | } 121 | ] 122 | } -------------------------------------------------------------------------------- /test/scan/windows/sixteenth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714656, 8 | "size": "1.71 MB", 9 | "hash": "4bfc32fb865e14123fbe9f896b461568", 10 | "descendants": 6, 11 | "children": [ 12 | { 13 | "name": ".gitignore", 14 | "path": "PATH/test/sample/.gitignore", 15 | "relativePath": ".gitignore", 16 | "type": "file", 17 | "isSymbolicLink": false, 18 | "extension": "", 19 | "sizeInBytes": 0, 20 | "size": "0 B", 21 | "hash": "a084b794bc0759e7a6b77810e01874f2" 22 | }, 23 | { 24 | "name": "backend", 25 | "path": "PATH/test/sample/backend", 26 | "relativePath": "backend", 27 | "type": "directory", 28 | "isSymbolicLink": false, 29 | "sizeInBytes": 1714632, 30 | "size": "1.71 MB", 31 | "hash": "8ab7496f907bac1220a19636206407ea", 32 | "descendants": 3, 33 | "children": [ 34 | { 35 | "name": "linked.link", 36 | "path": "PATH/test/sample/backend/linked.link", 37 | "relativePath": "backend/linked.link", 38 | "type": "directory", 39 | "isSymbolicLink": true, 40 | "sizeInBytes": 0, 41 | "size": "0 B", 42 | "hash": "13dfcaee429e99fa969199e7240a597a", 43 | "descendants": 0 44 | }, 45 | { 46 | "name": "linkedtxt.link", 47 | "path": "PATH/test/sample/backend/linkedtxt.link", 48 | "relativePath": "backend/linkedtxt.link", 49 | "type": "file", 50 | "isSymbolicLink": true, 51 | "extension": "link", 52 | "sizeInBytes": 20, 53 | "size": "20 B", 54 | "hash": "8ac875af9057830ddfb1c7fb9046f680" 55 | }, 56 | { 57 | "name": "notes.txt", 58 | "path": "PATH/test/sample/backend/notes.txt", 59 | "relativePath": "backend/notes.txt", 60 | "type": "file", 61 | "isSymbolicLink": false, 62 | "extension": "txt", 63 | "sizeInBytes": 5, 64 | "size": "5 B", 65 | "hash": "3a4033aa4b341d086c0e76d99db8b82d" 66 | }, 67 | { 68 | "name": "server", 69 | "path": "PATH/test/sample/backend/server", 70 | "relativePath": "backend/server", 71 | "type": "directory", 72 | "isSymbolicLink": false, 73 | "sizeInBytes": 1714607, 74 | "size": "1.71 MB", 75 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 76 | "descendants": 1, 77 | "children": [ 78 | { 79 | "name": "server.ts", 80 | "path": "PATH/test/sample/backend/server/server.ts", 81 | "relativePath": "backend/server/server.ts", 82 | "type": "file", 83 | "isSymbolicLink": false, 84 | "extension": "ts", 85 | "sizeInBytes": 1714607, 86 | "size": "1.71 MB", 87 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 88 | } 89 | ] 90 | } 91 | ] 92 | }, 93 | { 94 | "name": "empty", 95 | "path": "PATH/test/sample/empty", 96 | "relativePath": "empty", 97 | "type": "directory", 98 | "isSymbolicLink": false, 99 | "sizeInBytes": 0, 100 | "size": "0 B", 101 | "hash": "5395826f5e679ee75097a49101d8af75", 102 | "descendants": 1, 103 | "children": [ 104 | { 105 | "name": "tsempty", 106 | "path": "PATH/test/sample/empty/tsempty", 107 | "relativePath": "empty/tsempty", 108 | "type": "directory", 109 | "isSymbolicLink": false, 110 | "sizeInBytes": 0, 111 | "size": "0 B", 112 | "hash": "01ae4baddc925931f374f0f212896d30", 113 | "descendants": 1, 114 | "children": [ 115 | { 116 | "name": "file.ts", 117 | "path": "PATH/test/sample/empty/tsempty/file.ts", 118 | "relativePath": "empty/tsempty/file.ts", 119 | "type": "file", 120 | "isSymbolicLink": false, 121 | "extension": "ts", 122 | "sizeInBytes": 0, 123 | "size": "0 B", 124 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 125 | } 126 | ] 127 | } 128 | ] 129 | }, 130 | { 131 | "name": "linked", 132 | "path": "PATH/test/sample/linked", 133 | "relativePath": "linked", 134 | "type": "directory", 135 | "isSymbolicLink": false, 136 | "sizeInBytes": 24, 137 | "size": "24 B", 138 | "hash": "c8d60d99c3f102305a8cbbf55c1519e7", 139 | "descendants": 1, 140 | "children": [ 141 | { 142 | "name": "linked.txt", 143 | "path": "PATH/test/sample/linked/linked.txt", 144 | "relativePath": "linked/linked.txt", 145 | "type": "file", 146 | "isSymbolicLink": false, 147 | "extension": "txt", 148 | "sizeInBytes": 24, 149 | "size": "24 B", 150 | "hash": "23a5f0582f74abfb7f5d3b545a2d59ca" 151 | } 152 | ] 153 | } 154 | ] 155 | } -------------------------------------------------------------------------------- /test/scan/windows/sixth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 0, 8 | "size": "0 B", 9 | "hash": "5e8ff9bf55ba3508199d22e984129be6" 10 | } -------------------------------------------------------------------------------- /test/scan/windows/third.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 1714634, 8 | "size": "1.71 MB", 9 | "hash": "0aa58ede1e1f0b54bd412a75368ae25c", 10 | "children": [ 11 | { 12 | "name": ".gitignore", 13 | "path": "PATH/test/sample/.gitignore", 14 | "relativePath": ".gitignore", 15 | "type": "file", 16 | "isSymbolicLink": false, 17 | "extension": "", 18 | "sizeInBytes": 0, 19 | "size": "0 B", 20 | "hash": "a084b794bc0759e7a6b77810e01874f2" 21 | }, 22 | { 23 | "name": "backend", 24 | "path": "PATH/test/sample/backend", 25 | "relativePath": "backend", 26 | "type": "directory", 27 | "isSymbolicLink": false, 28 | "sizeInBytes": 1714634, 29 | "size": "1.71 MB", 30 | "hash": "3d7be60e1040728292610c557c20feb4", 31 | "children": [ 32 | { 33 | "name": "firebase.json", 34 | "path": "PATH/test/sample/backend/firebase.json", 35 | "relativePath": "backend/firebase.json", 36 | "type": "file", 37 | "isSymbolicLink": false, 38 | "extension": "json", 39 | "sizeInBytes": 27, 40 | "size": "27 B", 41 | "hash": "bafc664309b11a828c0adf99ed9e8516" 42 | }, 43 | { 44 | "name": "server", 45 | "path": "PATH/test/sample/backend/server", 46 | "relativePath": "backend/server", 47 | "type": "directory", 48 | "isSymbolicLink": false, 49 | "sizeInBytes": 1714607, 50 | "size": "1.71 MB", 51 | "hash": "3878a15abd9a42dd0986c556dd2e5b37", 52 | "children": [ 53 | { 54 | "name": "server.ts", 55 | "path": "PATH/test/sample/backend/server/server.ts", 56 | "relativePath": "backend/server/server.ts", 57 | "type": "file", 58 | "isSymbolicLink": false, 59 | "extension": "ts", 60 | "sizeInBytes": 1714607, 61 | "size": "1.71 MB", 62 | "hash": "30a21c7e293056bc3a7f2103cf81c7d4" 63 | } 64 | ] 65 | } 66 | ] 67 | }, 68 | { 69 | "name": "empty", 70 | "path": "PATH/test/sample/empty", 71 | "relativePath": "empty", 72 | "type": "directory", 73 | "isSymbolicLink": false, 74 | "sizeInBytes": 0, 75 | "size": "0 B", 76 | "hash": "5395826f5e679ee75097a49101d8af75", 77 | "children": [ 78 | { 79 | "name": "tsempty", 80 | "path": "PATH/test/sample/empty/tsempty", 81 | "relativePath": "empty/tsempty", 82 | "type": "directory", 83 | "isSymbolicLink": false, 84 | "sizeInBytes": 0, 85 | "size": "0 B", 86 | "hash": "01ae4baddc925931f374f0f212896d30", 87 | "children": [ 88 | { 89 | "name": "file.ts", 90 | "path": "PATH/test/sample/empty/tsempty/file.ts", 91 | "relativePath": "empty/tsempty/file.ts", 92 | "type": "file", 93 | "isSymbolicLink": false, 94 | "extension": "ts", 95 | "sizeInBytes": 0, 96 | "size": "0 B", 97 | "hash": "db3e286db4b574d6ebfdca5804df63cf" 98 | } 99 | ] 100 | } 101 | ] 102 | }, 103 | { 104 | "name": "linked", 105 | "path": "PATH/test/sample/linked", 106 | "relativePath": "linked", 107 | "type": "directory", 108 | "isSymbolicLink": false, 109 | "sizeInBytes": 0, 110 | "size": "0 B", 111 | "hash": "d48e37bc19b9fe2c72923c30fd7a4152" 112 | } 113 | ] 114 | } -------------------------------------------------------------------------------- /test/scan/windows/twelfth.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample", 3 | "path": "PATH/test/sample", 4 | "relativePath": ".", 5 | "type": "directory", 6 | "isSymbolicLink": false, 7 | "sizeInBytes": 0, 8 | "size": "0 B", 9 | "hash": "5e8ff9bf55ba3508199d22e984129be6" 10 | } -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | import fs from 'node:fs'; 3 | import os from 'node:os'; 4 | import path from 'node:path'; 5 | 6 | import * as chai from 'chai'; 7 | import chaiAsPromised from 'chai-as-promised'; 8 | 9 | import * as dree from '../dist/lib/index.js'; 10 | 11 | import testScan from './scan/scan.test.js'; 12 | import testScanAsync from './scan/scanAsync.test.js'; 13 | import testParse from './parse/parse.test.js'; 14 | import testParseAsync from './parse/parseAsync.test.js'; 15 | import testParseTree from './parseTree/parseTree.test.js'; 16 | import testParseTreeAsync from './parseTree/parseTreeAsync.test.js'; 17 | 18 | chai.use(chaiAsPromised); 19 | const { expect } = chai; 20 | 21 | describe('Dree module tests', async function() { 22 | const samplePath = 'test/sample'; 23 | testScan(expect, fs, os, dree, samplePath); 24 | testScanAsync(expect, fs, os, dree, samplePath); 25 | testParse(expect, dree, path, samplePath); 26 | testParseAsync(expect, dree, path, samplePath); 27 | testParseTree(expect, dree, path, samplePath); 28 | testParseTreeAsync(expect, dree, path, samplePath); 29 | }); -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "moduleResolution": "NodeNext", 4 | "module": "NodeNext", 5 | "target": "ESNext", 6 | "lib": [ 7 | "ESNext", 8 | "DOM" 9 | ], 10 | "sourceMap": true, 11 | "declaration": true, 12 | "skipDefaultLibCheck": true, 13 | "skipLibCheck": true, 14 | "esModuleInterop": true 15 | }, 16 | "include": [ 17 | "source", 18 | "scripts" 19 | ] 20 | } -------------------------------------------------------------------------------- /typedoc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entryPointStrategy: 'expand', 3 | entryPoints: [ 4 | './source/lib/index.ts' 5 | ], 6 | name: 'dree', 7 | navigationLinks: { 8 | 'Github': 'https://github.com/euberdeveloper/dree' 9 | }, 10 | sidebarLinks: { 11 | 'DEV docs': 'https://dree-dev.euber.dev' 12 | }, 13 | plugin: ['typedoc-plugin-ga'], 14 | excludeExternals: true, 15 | includeVersion: true, 16 | tsconfig: 'source/tsconfig.json', 17 | gaID: process.env.GA_TOKEN, 18 | excludePrivate: true, 19 | excludeProtected: true, 20 | disableSources: true, 21 | cleanOutputDir: true, 22 | out: './docs/documentation/html' 23 | }; -------------------------------------------------------------------------------- /typedoc.dev.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entryPointStrategy: 'expand', 3 | entryPoints: [ 4 | './source' 5 | ], 6 | name: 'dree - DEV', 7 | navigationLinks: { 8 | 'Github': 'https://github.com/euberdeveloper/dree' 9 | }, 10 | sidebarLinks: { 11 | 'Module docs': 'https://dree.euber.dev' 12 | }, 13 | plugin: ['typedoc-plugin-ga'], 14 | tsconfig: 'source/tsconfig.json', 15 | gaID: process.env.GA_TOKEN, 16 | out: './docs/documentation/html-dev', 17 | cleanOutputDir: true 18 | }; --------------------------------------------------------------------------------