Skip to content

This action helps you to validate the file structure as you expected. The validate rule will follow the brace-expansion.

License

Notifications You must be signed in to change notification settings

anyone-developer/anyone-validate-fs

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

anyone-validate-fs

nightly-build release-build release-test FOSSA Status DependaBot version license Build Status XO code style Total alerts Language grade: JavaScript DeepScan grade Gitpod Ready-to-Code

This GitHub action helps you to validate the file structure as you expected. The validate rule will follow the brace-expansion. For a more official definition, please refer to https://www.gnu.org/software/bash/manual/bash.html#Brace-Expansion

If you like my module, please buy me a coffee.

More and more tiny and useful GitHub action modules are on the way. Please donate to me. I accept a part-time job contract. if you need, please contact me: zhang_nan_163@163.com

Inputs

brace-expansion

Required brace-expansion of the expected directory structure.

ignore-files

the files you want to ignore. split with a comma.

ignore-directories

the directories you want to ignore. split with a comma.

read-path

the path that you assign to read.

render-layout

render diff result with 'vertical' or 'horizontal'

Outputs

output

the output of execution.

Other way usages

From NPM for programmatic use

  • create a 'demo' folder
  • npm init to create your nodejs package
  • copy 'sample_folder' to demo
  • npm install anyone-validate-fs to install module
  • create 'index.js' and copy code below:
const avfs = require('@anyone-developer/anyone-validate-fs');

avfs.setRenderLayout("horizontal").diff(
    './sample_folder',
    '{x/p,y/f,{a,b/{ba1,ba2,bb1,bb2},c,d}/{a.qa.config,b.prd.config}}',
    "README.md",
    ".git"
).then(resolve => {
	console.info(resolve.diff);
}, error => {
	if (error && error.diff) {
		console.error(`${error.diff}`);
	}
});

here is repl.it online editor: https://repl.it/@EdwardRoshan/anyone-validate-fs-demo

  • node index.js to run it

From NPM for using as a command-line app

  • npm install -g anyone-validate-fs to install gobally
  • anyone-validate-fs -r './sample_folder' -b '{a,b/{ba1,ba2,bb1,bb2},c,d}/{a.qa.config,b.prd.config}' -I ".git" -i "README.md" to use your bash to execute it.
  • you would get same result with above screenshot

Example usage

uses: anyone-developer/anyone-validate-fs@main
with:
  brace-expansion: '{a,b/{ba1,ba2,bb1,bb2},c,d}/{a.qa.config,b.prd.config}'
  ignore-files: 'README.md'
  ignore-directories: '.git'
  read-path: 'sample_folder'
  render-layout: 'horizontal'

Fossa Report

FOSSA Status

Donation

PalPal: https://paypal.me/nzhang4