commons:glob-base|parent
This commit is contained in:
parent
0cc29433a1
commit
0bd728b5a0
2
packages/commons/.gitignore
vendored
2
packages/commons/.gitignore
vendored
@ -37,3 +37,5 @@ jspm_packages
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
.kbot
|
||||
4
packages/commons/dist/_glob.d.ts
vendored
4
packages/commons/dist/_glob.d.ts
vendored
@ -1,7 +1,9 @@
|
||||
import { GlobOptions } from 'glob';
|
||||
export declare const files: (cwd: any, glob: any, options?: any) => [];
|
||||
export declare const filesEx: (cwd: any, glob: any, options?: GlobOptions) => [];
|
||||
import { PATH_INFO } from '@/types_common.js';
|
||||
import { PATH_INFO } from './types_common.js';
|
||||
export { globBase } from './glob-base.js';
|
||||
export { globParent } from './glob-parent.js';
|
||||
export declare const forward_slash: (path: any) => any;
|
||||
export declare const pathInfoEx: (src: string, altToken?: boolean, globOptions?: GlobOptions) => PATH_INFO;
|
||||
export declare const pathInfo: (src: string, altToken?: boolean, cwd?: string) => PATH_INFO;
|
||||
|
||||
10
packages/commons/dist/_glob.js
vendored
10
packages/commons/dist/_glob.js
vendored
@ -1,14 +1,14 @@
|
||||
import * as path from 'path';
|
||||
// import * as isGlob from 'is-glob'
|
||||
// import * as fg from 'fast-glob'
|
||||
import { glob, globSync, hasMagic } from 'glob';
|
||||
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants";
|
||||
import { sync as exists } from '@polymech/fs/exists';
|
||||
export const files = (cwd, glob, options) => globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} });
|
||||
export const filesEx = (cwd, glob, options) => globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} });
|
||||
import { substitute } from '@/variables.js';
|
||||
import { isFile, isFolder } from '@/fs.js';
|
||||
const globBase = require('glob-base');
|
||||
import { substitute } from './variables.js';
|
||||
import { isFile, isFolder } from './fs.js';
|
||||
import { globBase } from './glob-base.js';
|
||||
export { globBase } from './glob-base.js';
|
||||
export { globParent } from './glob-parent.js';
|
||||
export const forward_slash = (path) => {
|
||||
const isExtendedLengthPath = /^\\\\\?\\/.test(path);
|
||||
const hasNonAscii = /[^\u0000-\u0080]+/.test(path);
|
||||
|
||||
2
packages/commons/dist/_glob.js.map
vendored
2
packages/commons/dist/_glob.js.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"file":"_glob.js","sourceRoot":"","sources":["../src/_glob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,oCAAoC;AACpC,kCAAkC;AAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAe,QAAQ,EAAG,MAAM,MAAM,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,CAAO,CAAA;AAC/J,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,CAAO,CAAA;AAEzK,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAG1C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;IAClC,MAAM,oBAAoB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,oBAAoB,IAAI,WAAW,EAAE;QACrC,OAAO,IAAI,CAAC;KACf;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,WAAoB,KAAK,EAAE,cAA2B,EAAE,EAAa,EAAE;IAC3G,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,SAAS,GAAc;QACvB,IAAI,EAAE,GAAG;KACC,CAAA;IAEd,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;IAC5B,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC9B,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAA;IACnC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAClD,SAAS,CAAC,IAAI,GAAG,GAAG,CAAA;IACpB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/B,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IACnC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;IAEjF,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QAC5C,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;KAC/E;SAAM;QACH,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;KAC5B;IACD,IAAI,SAAS,CAAC,OAAO,EAAE;QACnB,wFAAwF;QACxF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC/B,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5C,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAA;QACpC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC/B,2DAA2D;QAC3D,WAAW,GAAG;YACV,GAAG,WAAW;YACd,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAa,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SACrF,CAAA;QACD,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAO,CAAA;KACjE;SAAM,IAAI,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;QACzC,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;KAC1B;IACD,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,WAAoB,KAAK,EAAE,MAAc,IAAI,EAAa,EAAE;IAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,SAAS,GAAc;QACvB,IAAI,EAAE,GAAG;KACC,CAAA;IACd,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;IAC5B,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC9B,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAA;IACnC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAClD,SAAS,CAAC,IAAI,GAAG,GAAG,CAAA;IACpB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/B,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IACnC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;IAEjF,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QAC5C,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;KAC9C;SAAM;QACH,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;KAC5B;IACD,IAAI,SAAS,CAAC,OAAO,EAAE;QACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC/B,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5C,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAA;QACpC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC/B,2DAA2D;QAC3D,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE;YACvC,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC;YACvC,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAA;KACL;SAAM,IAAI,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;QACzC,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;KAC1B;IACD,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA"}
|
||||
{"version":3,"file":"_glob.js","sourceRoot":"","sources":["../src/_glob.ts"],"names":[],"mappings":"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"}
|
||||
13
packages/commons/dist/glob-base.d.ts
vendored
Normal file
13
packages/commons/dist/glob-base.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
/*!
|
||||
* glob-base <https://github.com/jonschlinkert/glob-base>
|
||||
*
|
||||
* Copyright (c) 2015, Jon Schlinkert.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
interface GlobBaseResult {
|
||||
base: string;
|
||||
isGlob: boolean;
|
||||
glob: string;
|
||||
}
|
||||
export declare const globBase: (pattern: string) => GlobBaseResult;
|
||||
export {};
|
||||
47
packages/commons/dist/glob-base.js
vendored
Normal file
47
packages/commons/dist/glob-base.js
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
/*!
|
||||
* glob-base <https://github.com/jonschlinkert/glob-base>
|
||||
*
|
||||
* Copyright (c) 2015, Jon Schlinkert.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
import { dirname as pathDirname } from 'path';
|
||||
import { hasMagic } from 'glob';
|
||||
import { globParent } from './glob-parent.js';
|
||||
function dirname(glob) {
|
||||
if (glob.slice(-1) === '/')
|
||||
return glob;
|
||||
return pathDirname(glob);
|
||||
}
|
||||
export const globBase = (pattern) => {
|
||||
if (typeof pattern !== 'string') {
|
||||
throw new TypeError('glob-base expects a string.');
|
||||
}
|
||||
const res = {
|
||||
base: globParent(pattern),
|
||||
isGlob: hasMagic(pattern),
|
||||
glob: ''
|
||||
};
|
||||
if (res.base !== '.') {
|
||||
res.glob = pattern.substr(res.base.length);
|
||||
if (res.glob.charAt(0) === '/') {
|
||||
res.glob = res.glob.substr(1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
res.glob = pattern;
|
||||
}
|
||||
if (!res.isGlob) {
|
||||
res.base = dirname(pattern);
|
||||
res.glob = res.base !== '.'
|
||||
? pattern.substr(res.base.length)
|
||||
: pattern;
|
||||
}
|
||||
if (res.glob.substr(0, 2) === './') {
|
||||
res.glob = res.glob.substr(2);
|
||||
}
|
||||
if (res.glob.charAt(0) === '/') {
|
||||
res.glob = res.glob.substr(1);
|
||||
}
|
||||
return res;
|
||||
};
|
||||
//# sourceMappingURL=glob-base.js.map
|
||||
1
packages/commons/dist/glob-base.js.map
vendored
Normal file
1
packages/commons/dist/glob-base.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"glob-base.js","sourceRoot":"","sources":["../src/glob-base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,MAAM,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAQ7C,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAkB,EAAE;IAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC;KACpD;IAED,MAAM,GAAG,GAAmB;QAC1B,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;QACzB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;QACzB,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QACpB,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC9B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC/B;KACF;SAAM;QACL,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;KACpB;IAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACf,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG;YACzB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC;KACb;IAED,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC/B;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAC9B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC/B;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAA"}
|
||||
5
packages/commons/dist/glob-parent.d.ts
vendored
Normal file
5
packages/commons/dist/glob-parent.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
interface Options {
|
||||
flipBackslashes?: boolean;
|
||||
}
|
||||
export declare const globParent: (str: string, opts?: Options) => string;
|
||||
export {};
|
||||
58
packages/commons/dist/glob-parent.js
vendored
Normal file
58
packages/commons/dist/glob-parent.js
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
import { posix } from 'path';
|
||||
import { platform } from 'os';
|
||||
import { hasMagic } from 'glob';
|
||||
const isWin32 = platform() === 'win32';
|
||||
const slash = '/';
|
||||
const backslash = /\\/g;
|
||||
const escaped = /\\([!*?|[\](){}])/g;
|
||||
export const globParent = (str, opts) => {
|
||||
const options = { flipBackslashes: true, ...opts };
|
||||
// flip windows path separators
|
||||
if (options.flipBackslashes && isWin32 && !str.includes(slash)) {
|
||||
str = str.replace(backslash, slash);
|
||||
}
|
||||
// special case for strings ending in enclosure containing path separator
|
||||
if (isEnclosure(str)) {
|
||||
str += slash;
|
||||
}
|
||||
// preserves full path in case of trailing path separator
|
||||
str += 'a';
|
||||
// remove path parts that are globby
|
||||
do {
|
||||
str = posix.dirname(str);
|
||||
} while (isGlobby(str));
|
||||
// remove escape chars and return result
|
||||
return str.replace(escaped, '$1');
|
||||
};
|
||||
function isEnclosure(str) {
|
||||
const lastChar = str.slice(-1);
|
||||
let enclosureStart;
|
||||
switch (lastChar) {
|
||||
case '}':
|
||||
enclosureStart = '{';
|
||||
break;
|
||||
case ']':
|
||||
enclosureStart = '[';
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
const foundIndex = str.indexOf(enclosureStart);
|
||||
if (foundIndex < 0) {
|
||||
return false;
|
||||
}
|
||||
return str.slice(foundIndex + 1, -1).includes(slash);
|
||||
}
|
||||
function isGlobby(str) {
|
||||
if (/\([^()]+$/.test(str)) {
|
||||
return true;
|
||||
}
|
||||
if (str[0] === '{' || str[0] === '[') {
|
||||
return true;
|
||||
}
|
||||
if (/[^\\][{[]/.test(str)) {
|
||||
return true;
|
||||
}
|
||||
return hasMagic(str);
|
||||
}
|
||||
//# sourceMappingURL=glob-parent.js.map
|
||||
1
packages/commons/dist/glob-parent.js.map
vendored
Normal file
1
packages/commons/dist/glob-parent.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"glob-parent.js","sourceRoot":"","sources":["../src/glob-parent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAE/B,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAA;AAEtC,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAMrC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAc,EAAU,EAAE;IAChE,MAAM,OAAO,GAAY,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IAE5D,+BAA+B;IAC/B,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC9D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACrC;IAED,yEAAyE;IACzE,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE;QACpB,GAAG,IAAI,KAAK,CAAC;KACd;IAED,yDAAyD;IACzD,GAAG,IAAI,GAAG,CAAC;IAEX,oCAAoC;IACpC,GAAG;QACD,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAC1B,QAAQ,QAAQ,CAAC,GAAG,CAAC,EAAE;IAExB,wCAAwC;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC,CAAA;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B,IAAI,cAAsB,CAAC;IAC3B,QAAQ,QAAQ,EAAE;QAChB,KAAK,GAAG;YACN,cAAc,GAAG,GAAG,CAAC;YACrB,MAAM;QACR,KAAK,GAAG;YACN,cAAc,GAAG,GAAG,CAAC;YACrB,MAAM;QACR;YACE,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,UAAU,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC;KACb;IACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
||||
@ -30,6 +30,18 @@
|
||||
"./profile": {
|
||||
"import": "./dist/profile.js",
|
||||
"require": "./dist/profile.cjs"
|
||||
},
|
||||
"./component": {
|
||||
"import": "./dist/component.js",
|
||||
"require": "./dist/component.cjs"
|
||||
},
|
||||
"./filter": {
|
||||
"import": "./dist/filter.js",
|
||||
"require": "./dist/filter.cjs"
|
||||
},
|
||||
"./glob": {
|
||||
"import": "./dist/_glob.js",
|
||||
"require": "./dist/_glob.cjs"
|
||||
}
|
||||
},
|
||||
"licenses": [
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import * as path from 'path'
|
||||
// import * as isGlob from 'is-glob'
|
||||
// import * as fg from 'fast-glob'
|
||||
|
||||
import { glob, globSync, GlobOptions, hasMagic } from 'glob'
|
||||
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants"
|
||||
import { sync as exists } from '@polymech/fs/exists'
|
||||
@ -8,11 +7,13 @@ import { sync as exists } from '@polymech/fs/exists'
|
||||
export const files = (cwd, glob, options?: any) => globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} }) as []
|
||||
export const filesEx = (cwd, glob, options?: GlobOptions) => globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} }) as []
|
||||
|
||||
import { substitute } from '@/variables.js'
|
||||
import { isFile, isFolder } from '@/fs.js'
|
||||
import { PATH_INFO } from '@/types_common.js'
|
||||
import { substitute } from './variables.js'
|
||||
import { isFile, isFolder } from './fs.js'
|
||||
import { PATH_INFO } from './types_common.js'
|
||||
|
||||
const globBase = require('glob-base')
|
||||
import { globBase } from './glob-base.js'
|
||||
export { globBase } from './glob-base.js'
|
||||
export { globParent } from './glob-parent.js'
|
||||
|
||||
export const forward_slash = (path) => {
|
||||
const isExtendedLengthPath = /^\\\\\?\\/.test(path)
|
||||
@ -22,6 +23,7 @@ export const forward_slash = (path) => {
|
||||
}
|
||||
return path.replace(/\\/g, '/')
|
||||
}
|
||||
|
||||
export const pathInfoEx = (src: string, altToken: boolean = false, globOptions: GlobOptions = {}): PATH_INFO => {
|
||||
const srcParts = path.parse(src)
|
||||
let variables: PATH_INFO = {
|
||||
|
||||
57
packages/commons/src/glob-base.ts
Normal file
57
packages/commons/src/glob-base.ts
Normal file
@ -0,0 +1,57 @@
|
||||
/*!
|
||||
* glob-base <https://github.com/jonschlinkert/glob-base>
|
||||
*
|
||||
* Copyright (c) 2015, Jon Schlinkert.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
|
||||
import { dirname as pathDirname } from 'path'
|
||||
import { hasMagic } from 'glob'
|
||||
import { globParent } from './glob-parent.js'
|
||||
|
||||
interface GlobBaseResult {
|
||||
base: string;
|
||||
isGlob: boolean;
|
||||
glob: string;
|
||||
}
|
||||
|
||||
function dirname(glob: string): string {
|
||||
if (glob.slice(-1) === '/') return glob;
|
||||
return pathDirname(glob);
|
||||
}
|
||||
|
||||
export const globBase = (pattern: string): GlobBaseResult =>{
|
||||
if (typeof pattern !== 'string') {
|
||||
throw new TypeError('glob-base expects a string.');
|
||||
}
|
||||
|
||||
const res: GlobBaseResult = {
|
||||
base: globParent(pattern),
|
||||
isGlob: hasMagic(pattern),
|
||||
glob: ''
|
||||
};
|
||||
|
||||
if (res.base !== '.') {
|
||||
res.glob = pattern.substr(res.base.length);
|
||||
if (res.glob.charAt(0) === '/') {
|
||||
res.glob = res.glob.substr(1);
|
||||
}
|
||||
} else {
|
||||
res.glob = pattern;
|
||||
}
|
||||
|
||||
if (!res.isGlob) {
|
||||
res.base = dirname(pattern);
|
||||
res.glob = res.base !== '.'
|
||||
? pattern.substr(res.base.length)
|
||||
: pattern;
|
||||
}
|
||||
|
||||
if (res.glob.substr(0, 2) === './') {
|
||||
res.glob = res.glob.substr(2);
|
||||
}
|
||||
if (res.glob.charAt(0) === '/') {
|
||||
res.glob = res.glob.substr(1);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
74
packages/commons/src/glob-parent.ts
Normal file
74
packages/commons/src/glob-parent.ts
Normal file
@ -0,0 +1,74 @@
|
||||
import { posix } from 'path'
|
||||
import { platform } from 'os'
|
||||
import { hasMagic } from 'glob'
|
||||
|
||||
const isWin32 = platform() === 'win32'
|
||||
|
||||
const slash = '/';
|
||||
const backslash = /\\/g;
|
||||
const escaped = /\\([!*?|[\](){}])/g;
|
||||
|
||||
interface Options {
|
||||
flipBackslashes?: boolean;
|
||||
}
|
||||
|
||||
export const globParent = (str: string, opts?: Options): string => {
|
||||
const options: Options = { flipBackslashes: true, ...opts };
|
||||
|
||||
// flip windows path separators
|
||||
if (options.flipBackslashes && isWin32 && !str.includes(slash)) {
|
||||
str = str.replace(backslash, slash);
|
||||
}
|
||||
|
||||
// special case for strings ending in enclosure containing path separator
|
||||
if (isEnclosure(str)) {
|
||||
str += slash;
|
||||
}
|
||||
|
||||
// preserves full path in case of trailing path separator
|
||||
str += 'a';
|
||||
|
||||
// remove path parts that are globby
|
||||
do {
|
||||
str = posix.dirname(str);
|
||||
} while (isGlobby(str));
|
||||
|
||||
// remove escape chars and return result
|
||||
return str.replace(escaped, '$1');
|
||||
}
|
||||
|
||||
function isEnclosure(str: string): boolean {
|
||||
const lastChar = str.slice(-1);
|
||||
|
||||
let enclosureStart: string;
|
||||
switch (lastChar) {
|
||||
case '}':
|
||||
enclosureStart = '{';
|
||||
break;
|
||||
case ']':
|
||||
enclosureStart = '[';
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
const foundIndex = str.indexOf(enclosureStart);
|
||||
if (foundIndex < 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return str.slice(foundIndex + 1, -1).includes(slash);
|
||||
}
|
||||
|
||||
function isGlobby(str: string): boolean {
|
||||
if (/\([^()]+$/.test(str)) {
|
||||
return true;
|
||||
}
|
||||
if (str[0] === '{' || str[0] === '[') {
|
||||
return true;
|
||||
}
|
||||
if (/[^\\][{[]/.test(str)) {
|
||||
return true;
|
||||
}
|
||||
return hasMagic(str);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user