|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
-
- // models\api\v1
- const fs = require('fs')
- var path = require('path');
- const { readdir } = require("fs").promises
- var verse = require('../serververse');
- const fswalk = verse.fs.walk
- var path = require('path');
-
- const Rx = require('rxjs');
-
- const cliargs = verse.cliargs;
- const processedArgs = cliargs(process.argv.slice(2));
-
- // console.dir(processedArgs)
- // console.dir(Rx)
-
- // https://github.com/coolaj86/node-walk
-
- // PB : TODO -- convert to an input json config.
- var outputfile = processedArgs._[0]; // ../elixir-client/physio/linkclient.bat
- var startdir = processedArgs._[1]; // ../elixir-client/physio-1/app/models/api/v1
- var inprefix = processedArgs._[2]; // '../../../../../elixir-client/client/'
- if(!inprefix) inprefix = '..\\client\\'
- var unprefix = processedArgs._[3]; // ../elixir-client/physio-1/
- if(!unprefix) unprefix = '../elixir-client/physio-1/'
- var outprefix = processedArgs._[4]; // '../../../../../elixir-client/physio/'
- if(!outprefix) outprefix = ''
-
- var fswalkoptions = {} // all files recurscively
-
- // var fswalkoptions = { includerootdir : true, includedirectories : true, expand : true } // example walk and output everything.
- // (unprefix, outprefix)
- // console.log(path.normalize(unprefix))
-
- const writeStream = ( fs.createWriteStream(outputfile) )
-
-
- fswalk.call( fswalkoptions, startdir ).then( s => {
- s.subscribe( entry => {
- // var matches = /.*?data.*/.exec(utils.fs.direntToFullname(entry))
- // if(matches) console.dir( matches[0] ) // Filters can be done on the stream itself..
- var i = entry
- var pathnodes = i.path.replace( path.normalize(unprefix), '' ).split('\\')
- var relative = Array(pathnodes.length)
- writeStream.write( '\nmklink ' + (entry.isDirectory() ? ' /D ' : ' ') + i.path.replace( path.normalize(unprefix), outprefix ) + ' '
- + relative.join('..\\') + inprefix + i.path.replace( path.normalize(unprefix), outprefix )
- )
- // console.dir( entry )
- }
- )
- // ; s.unsubscribe()
- })
|