@pkgr/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ /// <reference types="node" />
2
+ export declare const CWD: string;
3
+ export declare const cjsRequire: NodeRequire;
4
+ export declare const EXTENSIONS: string[];
@@ -0,0 +1,5 @@
1
+ import { createRequire } from 'node:module';
2
+ export const CWD = process.cwd();
3
+ export const cjsRequire = typeof require === 'undefined' ? createRequire(import.meta.url) : require;
4
+ export const EXTENSIONS = ['.ts', '.tsx', ...Object.keys(cjsRequire.extensions)];
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;AAEhC,MAAM,CAAC,MAAM,UAAU,GACrB,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAG3E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const tryPkg: (pkg: string) => string | undefined;
2
+ export declare const isPkgAvailable: (pkg: string) => boolean;
3
+ export declare const tryFile: (filePath?: string[] | string, includeDir?: boolean) => string;
4
+ export declare const tryExtensions: (filepath: string, extensions?: string[]) => string;
5
+ export declare const findUp: (searchEntry: string, searchFile?: string) => string;
package/lib/helpers.js ADDED
@@ -0,0 +1,47 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { CWD, EXTENSIONS, cjsRequire } from './constants.js';
4
+ export const tryPkg = (pkg) => {
5
+ try {
6
+ return cjsRequire.resolve(pkg);
7
+ }
8
+ catch (_a) { }
9
+ };
10
+ export const isPkgAvailable = (pkg) => !!tryPkg(pkg);
11
+ export const tryFile = (filePath, includeDir = false) => {
12
+ if (typeof filePath === 'string') {
13
+ return fs.existsSync(filePath) &&
14
+ (includeDir || fs.statSync(filePath).isFile())
15
+ ? filePath
16
+ : '';
17
+ }
18
+ for (const file of filePath !== null && filePath !== void 0 ? filePath : []) {
19
+ if (tryFile(file, includeDir)) {
20
+ return file;
21
+ }
22
+ }
23
+ return '';
24
+ };
25
+ export const tryExtensions = (filepath, extensions = EXTENSIONS) => {
26
+ const ext = [...extensions, ''].find(ext => tryFile(filepath + ext));
27
+ return ext == null ? '' : filepath + ext;
28
+ };
29
+ export const findUp = (searchEntry, searchFile = 'package.json') => {
30
+ console.assert(path.isAbsolute(searchEntry));
31
+ if (!tryFile(searchEntry, true) ||
32
+ (searchEntry !== CWD && !searchEntry.startsWith(CWD + path.sep))) {
33
+ return '';
34
+ }
35
+ searchEntry = path.resolve(fs.statSync(searchEntry).isDirectory()
36
+ ? searchEntry
37
+ : path.resolve(searchEntry, '..'));
38
+ do {
39
+ const searched = tryFile(path.resolve(searchEntry, searchFile));
40
+ if (searched) {
41
+ return searched;
42
+ }
43
+ searchEntry = path.resolve(searchEntry, '..');
44
+ } while (searchEntry === CWD || searchEntry.startsWith(CWD + path.sep));
45
+ return '';
46
+ };
47
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAAC,WAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAA4B,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE;IAC1E,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC5B,CAAC,UAAU,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9C,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE,CAAA;IACR,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE;IACzE,MAAM,GAAG,GAAG,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAA;IACpE,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,UAAU,GAAG,cAAc,EAAE,EAAE;IACzE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;IAE5C,IACE,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;QAC3B,CAAC,WAAW,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAChE,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,WAAW,GAAG,IAAI,CAAC,OAAO,CACxB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;QACpC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CACpC,CAAA;IAED,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC,QAAQ,WAAW,KAAK,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAC;IAEvE,OAAO,EAAE,CAAA;AACX,CAAC,CAAA"}
package/lib/index.cjs ADDED
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var node_module = require('node:module');
4
+ var fs = require('node:fs');
5
+ var path = require('node:path');
6
+
7
+ const import_meta = {};
8
+ const CWD = process.cwd();
9
+ const cjsRequire = typeof require === "undefined" ? node_module.createRequire(import_meta.url) : require;
10
+ const EXTENSIONS = [".ts", ".tsx", ...Object.keys(cjsRequire.extensions)];
11
+
12
+ const tryPkg = (pkg) => {
13
+ try {
14
+ return cjsRequire.resolve(pkg);
15
+ } catch (e) {
16
+ }
17
+ };
18
+ const isPkgAvailable = (pkg) => !!tryPkg(pkg);
19
+ const tryFile = (filePath, includeDir = false) => {
20
+ if (typeof filePath === "string") {
21
+ return fs.existsSync(filePath) && (includeDir || fs.statSync(filePath).isFile()) ? filePath : "";
22
+ }
23
+ for (const file of filePath != null ? filePath : []) {
24
+ if (tryFile(file, includeDir)) {
25
+ return file;
26
+ }
27
+ }
28
+ return "";
29
+ };
30
+ const tryExtensions = (filepath, extensions = EXTENSIONS) => {
31
+ const ext = [...extensions, ""].find((ext2) => tryFile(filepath + ext2));
32
+ return ext == null ? "" : filepath + ext;
33
+ };
34
+ const findUp = (searchEntry, searchFile = "package.json") => {
35
+ console.assert(path.isAbsolute(searchEntry));
36
+ if (!tryFile(searchEntry, true) || searchEntry !== CWD && !searchEntry.startsWith(CWD + path.sep)) {
37
+ return "";
38
+ }
39
+ searchEntry = path.resolve(
40
+ fs.statSync(searchEntry).isDirectory() ? searchEntry : path.resolve(searchEntry, "..")
41
+ );
42
+ do {
43
+ const searched = tryFile(path.resolve(searchEntry, searchFile));
44
+ if (searched) {
45
+ return searched;
46
+ }
47
+ searchEntry = path.resolve(searchEntry, "..");
48
+ } while (searchEntry === CWD || searchEntry.startsWith(CWD + path.sep));
49
+ return "";
50
+ };
51
+
52
+ exports.CWD = CWD;
53
+ exports.EXTENSIONS = EXTENSIONS;
54
+ exports.cjsRequire = cjsRequire;
55
+ exports.findUp = findUp;
56
+ exports.isPkgAvailable = isPkgAvailable;
57
+ exports.tryExtensions = tryExtensions;
58
+ exports.tryFile = tryFile;
59
+ exports.tryPkg = tryPkg;
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './constants.js';
2
+ export * from './helpers.js';
package/lib/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './constants.js';
2
+ export * from './helpers.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@pkgr/core",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "Shared core module for `@pkgr` packages or any package else",
6
+ "repository": "git+https://github.com/un-ts/pkgr.git",
7
+ "homepage": "https://github.com/un-ts/pkgr/blob/master/packages/core",
8
+ "author": "JounQin (https://www.1stG.me) <admin@1stg.me>",
9
+ "funding": "https://opencollective.com/unts",
10
+ "license": "MIT",
11
+ "engines": {
12
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
13
+ },
14
+ "main": "./lib/index.cjs",
15
+ "module": "./lib/index.js",
16
+ "exports": {
17
+ "types": "./lib/index.d.ts",
18
+ "import": "./lib/index.js",
19
+ "require": "./lib/index.cjs"
20
+ },
21
+ "types": "./lib/index.d.ts",
22
+ "files": [
23
+ "lib"
24
+ ],
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "sideEffects": false
29
+ }