@niche-works/dev 0.2.0 → 0.3.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.
- package/package.json +31 -23
- package/src/addExports/addExports.ts +98 -0
- package/src/addExports/index.ts +2 -0
- package/src/addExports/types.ts +33 -0
- package/src/addJsExtensions/addJsExtensions.ts +31 -0
- package/src/addJsExtensions/index.ts +1 -0
- package/src/checkExistence/checkExistence.ts +16 -0
- package/src/checkExistence/index.ts +1 -0
- package/src/editJsonFile/editJsonFile.ts +30 -0
- package/src/editJsonFile/index.ts +1 -0
- package/src/generatePublishPackageJson/generatePublishPackageJson.ts +55 -0
- package/src/generatePublishPackageJson/index.ts +2 -0
- package/src/generatePublishPackageJson/types.ts +61 -0
- package/src/index.ts +10 -0
- package/src/indexes/constants.ts +135 -0
- package/src/indexes/index.ts +2 -0
- package/src/indexes/indexes.ts +194 -0
- package/src/indexes/types.ts +87 -0
- package/src/installFromLocal/index.ts +2 -0
- package/{installFromLocal/installFromLocal.js → src/installFromLocal/installFromLocal.ts} +63 -48
- package/src/installFromLocal/types.ts +19 -0
- package/src/isMatchingPath/_types.ts +65 -0
- package/src/isMatchingPath/index.ts +2 -0
- package/src/isMatchingPath/isMatchingPath.ts +88 -0
- package/src/isMatchingPath/types.ts +21 -0
- package/src/moveFilesToSubdir/index.ts +1 -0
- package/src/moveFilesToSubdir/moveFilesToSubdir.ts +23 -0
- package/src/ver/index.ts +2 -0
- package/src/ver/types.ts +13 -0
- package/src/ver/ver.ts +38 -0
- package/tsconfig.json +46 -0
- package/tsup.config.ts +36 -0
- package/addExports/addExports.cjs +0 -71
- package/addExports/addExports.cjs.map +0 -1
- package/addExports/addExports.d.cts +0 -13
- package/addExports/addExports.d.ts +0 -13
- package/addExports/addExports.js +0 -71
- package/addExports/addExports.js.map +0 -1
- package/addExports/index.cjs +0 -5
- package/addExports/index.cjs.map +0 -1
- package/addExports/index.d.cts +0 -5
- package/addExports/index.d.ts +0 -5
- package/addExports/index.js +0 -5
- package/addExports/index.js.map +0 -1
- package/addExports/types.cjs +0 -1
- package/addExports/types.cjs.map +0 -1
- package/addExports/types.d.cts +0 -33
- package/addExports/types.d.ts +0 -33
- package/addExports/types.js +0 -1
- package/addExports/types.js.map +0 -1
- package/checkExistence/checkExistence.cjs +0 -15
- package/checkExistence/checkExistence.cjs.map +0 -1
- package/checkExistence/checkExistence.d.cts +0 -8
- package/checkExistence/checkExistence.d.ts +0 -8
- package/checkExistence/checkExistence.js +0 -15
- package/checkExistence/checkExistence.js.map +0 -1
- package/checkExistence/index.cjs +0 -5
- package/checkExistence/index.cjs.map +0 -1
- package/checkExistence/index.d.cts +0 -1
- package/checkExistence/index.d.ts +0 -1
- package/checkExistence/index.js +0 -5
- package/checkExistence/index.js.map +0 -1
- package/editJsonFile/editJsonFile.cjs +0 -22
- package/editJsonFile/editJsonFile.cjs.map +0 -1
- package/editJsonFile/editJsonFile.d.cts +0 -8
- package/editJsonFile/editJsonFile.d.ts +0 -8
- package/editJsonFile/editJsonFile.js +0 -22
- package/editJsonFile/editJsonFile.js.map +0 -1
- package/editJsonFile/index.cjs +0 -5
- package/editJsonFile/index.cjs.map +0 -1
- package/editJsonFile/index.d.cts +0 -1
- package/editJsonFile/index.d.ts +0 -1
- package/editJsonFile/index.js +0 -5
- package/editJsonFile/index.js.map +0 -1
- package/generatePublishPackageJson/generatePublishPackageJson.cjs +0 -54
- package/generatePublishPackageJson/generatePublishPackageJson.cjs.map +0 -1
- package/generatePublishPackageJson/generatePublishPackageJson.d.cts +0 -7
- package/generatePublishPackageJson/generatePublishPackageJson.d.ts +0 -7
- package/generatePublishPackageJson/generatePublishPackageJson.js +0 -54
- package/generatePublishPackageJson/generatePublishPackageJson.js.map +0 -1
- package/generatePublishPackageJson/index.cjs +0 -5
- package/generatePublishPackageJson/index.cjs.map +0 -1
- package/generatePublishPackageJson/index.d.cts +0 -4
- package/generatePublishPackageJson/index.d.ts +0 -4
- package/generatePublishPackageJson/index.js +0 -5
- package/generatePublishPackageJson/index.js.map +0 -1
- package/generatePublishPackageJson/types.cjs +0 -1
- package/generatePublishPackageJson/types.cjs.map +0 -1
- package/generatePublishPackageJson/types.d.cts +0 -58
- package/generatePublishPackageJson/types.d.ts +0 -58
- package/generatePublishPackageJson/types.js +0 -1
- package/generatePublishPackageJson/types.js.map +0 -1
- package/index.cjs +0 -21
- package/index.cjs.map +0 -1
- package/index.d.cts +0 -19
- package/index.d.ts +0 -19
- package/index.js +0 -21
- package/index.js.map +0 -1
- package/indexes/constants.cjs +0 -91
- package/indexes/constants.cjs.map +0 -1
- package/indexes/constants.d.cts +0 -66
- package/indexes/constants.d.ts +0 -66
- package/indexes/constants.js +0 -91
- package/indexes/constants.js.map +0 -1
- package/indexes/index.cjs +0 -5
- package/indexes/index.cjs.map +0 -1
- package/indexes/index.d.cts +0 -5
- package/indexes/index.d.ts +0 -5
- package/indexes/index.js +0 -5
- package/indexes/index.js.map +0 -1
- package/indexes/indexes.cjs +0 -161
- package/indexes/indexes.cjs.map +0 -1
- package/indexes/indexes.d.cts +0 -13
- package/indexes/indexes.d.ts +0 -13
- package/indexes/indexes.js +0 -161
- package/indexes/indexes.js.map +0 -1
- package/indexes/types.cjs +0 -1
- package/indexes/types.cjs.map +0 -1
- package/indexes/types.d.cts +0 -81
- package/indexes/types.d.ts +0 -81
- package/indexes/types.js +0 -1
- package/indexes/types.js.map +0 -1
- package/installFromLocal/index.cjs +0 -5
- package/installFromLocal/index.cjs.map +0 -1
- package/installFromLocal/index.d.cts +0 -2
- package/installFromLocal/index.d.ts +0 -2
- package/installFromLocal/index.js +0 -5
- package/installFromLocal/index.js.map +0 -1
- package/installFromLocal/installFromLocal.cjs +0 -48
- package/installFromLocal/installFromLocal.cjs.map +0 -1
- package/installFromLocal/installFromLocal.d.cts +0 -10
- package/installFromLocal/installFromLocal.d.ts +0 -10
- package/installFromLocal/installFromLocal.js.map +0 -1
- package/installFromLocal/types.cjs +0 -1
- package/installFromLocal/types.cjs.map +0 -1
- package/installFromLocal/types.d.cts +0 -19
- package/installFromLocal/types.d.ts +0 -19
- package/installFromLocal/types.js +0 -1
- package/installFromLocal/types.js.map +0 -1
- package/isMatchingPath/_types.cjs +0 -1
- package/isMatchingPath/_types.cjs.map +0 -1
- package/isMatchingPath/_types.d.cts +0 -52
- package/isMatchingPath/_types.d.ts +0 -52
- package/isMatchingPath/_types.js +0 -1
- package/isMatchingPath/_types.js.map +0 -1
- package/isMatchingPath/index.cjs +0 -5
- package/isMatchingPath/index.cjs.map +0 -1
- package/isMatchingPath/index.d.cts +0 -4
- package/isMatchingPath/index.d.ts +0 -4
- package/isMatchingPath/index.js +0 -5
- package/isMatchingPath/index.js.map +0 -1
- package/isMatchingPath/isMatchingPath.cjs +0 -57
- package/isMatchingPath/isMatchingPath.cjs.map +0 -1
- package/isMatchingPath/isMatchingPath.d.cts +0 -14
- package/isMatchingPath/isMatchingPath.d.ts +0 -14
- package/isMatchingPath/isMatchingPath.js +0 -57
- package/isMatchingPath/isMatchingPath.js.map +0 -1
- package/isMatchingPath/types.cjs +0 -1
- package/isMatchingPath/types.cjs.map +0 -1
- package/isMatchingPath/types.d.cts +0 -19
- package/isMatchingPath/types.d.ts +0 -19
- package/isMatchingPath/types.js +0 -1
- package/isMatchingPath/types.js.map +0 -1
- package/moveFilesToSubdir/index.cjs +0 -5
- package/moveFilesToSubdir/index.cjs.map +0 -1
- package/moveFilesToSubdir/index.d.cts +0 -1
- package/moveFilesToSubdir/index.d.ts +0 -1
- package/moveFilesToSubdir/index.js +0 -5
- package/moveFilesToSubdir/index.js.map +0 -1
- package/moveFilesToSubdir/moveFilesToSubdir.cjs +0 -19
- package/moveFilesToSubdir/moveFilesToSubdir.cjs.map +0 -1
- package/moveFilesToSubdir/moveFilesToSubdir.d.cts +0 -7
- package/moveFilesToSubdir/moveFilesToSubdir.d.ts +0 -7
- package/moveFilesToSubdir/moveFilesToSubdir.js +0 -19
- package/moveFilesToSubdir/moveFilesToSubdir.js.map +0 -1
- package/ver/index.cjs +0 -5
- package/ver/index.cjs.map +0 -1
- package/ver/index.d.cts +0 -2
- package/ver/index.d.ts +0 -2
- package/ver/index.js +0 -5
- package/ver/index.js.map +0 -1
- package/ver/types.cjs +0 -1
- package/ver/types.cjs.map +0 -1
- package/ver/types.d.cts +0 -14
- package/ver/types.d.ts +0 -14
- package/ver/types.js +0 -1
- package/ver/types.js.map +0 -1
- package/ver/ver.cjs +0 -31
- package/ver/ver.cjs.map +0 -1
- package/ver/ver.d.cts +0 -10
- package/ver/ver.d.ts +0 -10
- package/ver/ver.js +0 -31
- package/ver/ver.js.map +0 -1
package/indexes/constants.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import fs from "fs-extra";
|
|
2
|
-
const TYPES = {
|
|
3
|
-
valueType: "base",
|
|
4
|
-
entryType: "file",
|
|
5
|
-
conditions: /^types.ts$/i
|
|
6
|
-
};
|
|
7
|
-
const CONSTANTS = {
|
|
8
|
-
valueType: "base",
|
|
9
|
-
entryType: "file",
|
|
10
|
-
conditions: /^constants.(ts|tsx)$/i
|
|
11
|
-
};
|
|
12
|
-
const TS_JS = {
|
|
13
|
-
valueType: "base",
|
|
14
|
-
entryType: "file",
|
|
15
|
-
conditions: /.+\.(ts|tsx|js|jsx)$/i
|
|
16
|
-
};
|
|
17
|
-
const HAS_INDEX_DIR = {
|
|
18
|
-
entryType: "dir",
|
|
19
|
-
conditions: (values, { indexRegex }) => {
|
|
20
|
-
const items = fs.readdirSync(values.path);
|
|
21
|
-
for (const item of items) {
|
|
22
|
-
if (indexRegex.test(item)) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
const TEST_DIR = {
|
|
30
|
-
valueType: "path",
|
|
31
|
-
conditions: /.+\/__test__\/.+/i
|
|
32
|
-
};
|
|
33
|
-
const TEST_FILE = {
|
|
34
|
-
valueType: "base",
|
|
35
|
-
conditions: /.*\.test\.(ts|tsx|js|jsx)$/i
|
|
36
|
-
};
|
|
37
|
-
const PRIVATE = {
|
|
38
|
-
valueType: "base",
|
|
39
|
-
conditions: /^_/
|
|
40
|
-
};
|
|
41
|
-
const MAIN_FILE = {
|
|
42
|
-
entryType: "file",
|
|
43
|
-
conditions: (values) => {
|
|
44
|
-
return values.name === values.dirbase;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const TOOLS_DIR = {
|
|
48
|
-
entryType: "dir",
|
|
49
|
-
conditions: (values, { children }) => {
|
|
50
|
-
const { base } = values;
|
|
51
|
-
return (
|
|
52
|
-
// 先頭が小文字
|
|
53
|
-
base[0] === base[0].toLowerCase() && // 子要素にディレクトリと同じ名称のファイルが無い
|
|
54
|
-
children?.every((child) => child.split(".")[0] !== base)
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const DEFAULT_INCLUDE = [
|
|
59
|
-
// TypeScript,JavaScriptのファイルを対象
|
|
60
|
-
TS_JS,
|
|
61
|
-
// 配下にindex.tsを持つディレクトリを対象
|
|
62
|
-
HAS_INDEX_DIR
|
|
63
|
-
];
|
|
64
|
-
const DEFAULT_EXCLUDE = [
|
|
65
|
-
// __test__フォルダ配下の全てを除外
|
|
66
|
-
TEST_DIR,
|
|
67
|
-
// ディレクトリ名、ファイル名が_で始まるものを除外
|
|
68
|
-
PRIVATE
|
|
69
|
-
];
|
|
70
|
-
const DEFAULT_EXPORT_TYPE_ALL = [TYPES];
|
|
71
|
-
const DEFAULT_EXPORT_ALL = [CONSTANTS];
|
|
72
|
-
const DEFAULT_EXPORT_DEFAULT = [MAIN_FILE];
|
|
73
|
-
const DEFAULT_EXPORT_ALL_AS = [TOOLS_DIR];
|
|
74
|
-
export {
|
|
75
|
-
CONSTANTS,
|
|
76
|
-
DEFAULT_EXCLUDE,
|
|
77
|
-
DEFAULT_EXPORT_ALL,
|
|
78
|
-
DEFAULT_EXPORT_ALL_AS,
|
|
79
|
-
DEFAULT_EXPORT_DEFAULT,
|
|
80
|
-
DEFAULT_EXPORT_TYPE_ALL,
|
|
81
|
-
DEFAULT_INCLUDE,
|
|
82
|
-
HAS_INDEX_DIR,
|
|
83
|
-
MAIN_FILE,
|
|
84
|
-
PRIVATE,
|
|
85
|
-
TEST_DIR,
|
|
86
|
-
TEST_FILE,
|
|
87
|
-
TOOLS_DIR,
|
|
88
|
-
TS_JS,
|
|
89
|
-
TYPES
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=constants.js.map
|
package/indexes/constants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/indexes/constants.ts"],"sourcesContent":["import fs from 'fs-extra';\r\nimport type { IsMatchingPathCondition } from '../isMatchingPath';\r\n\r\n/**\r\n * types.ts\r\n */\r\nexport const TYPES: IsMatchingPathCondition = {\r\n valueType: 'base',\r\n entryType: 'file',\r\n conditions: /^types.ts$/i,\r\n};\r\n\r\n/**\r\n * constants.ts\r\n */\r\nexport const CONSTANTS: IsMatchingPathCondition = {\r\n valueType: 'base',\r\n entryType: 'file',\r\n conditions: /^constants.(ts|tsx)$/i,\r\n};\r\n\r\n/**\r\n * TypeScriptとJavaScript\r\n */\r\nexport const TS_JS: IsMatchingPathCondition = {\r\n valueType: 'base',\r\n entryType: 'file',\r\n conditions: /.+\\.(ts|tsx|js|jsx)$/i,\r\n};\r\n\r\n/**\r\n * 配下にindexファイルのあるディレクトリ\r\n */\r\nexport const HAS_INDEX_DIR: IsMatchingPathCondition = {\r\n entryType: 'dir',\r\n conditions: (values, { indexRegex }) => {\r\n const items = fs.readdirSync(values.path);\r\n for (const item of items) {\r\n if (indexRegex.test(item)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n};\r\n\r\n/**\r\n * テストディレクトリ配下\r\n */\r\nexport const TEST_DIR: IsMatchingPathCondition = {\r\n valueType: 'path',\r\n conditions: /.+\\/__test__\\/.+/i,\r\n};\r\n\r\n/**\r\n * ファイル名またはディレクトリ名が`_`で始まる\r\n */\r\nexport const TEST_FILE: IsMatchingPathCondition = {\r\n valueType: 'base',\r\n conditions: /.*\\.test\\.(ts|tsx|js|jsx)$/i,\r\n};\r\n\r\n/**\r\n * ファイル名またはディレクトリ名が`_`で始まる\r\n */\r\nexport const PRIVATE: IsMatchingPathCondition = {\r\n valueType: 'base',\r\n conditions: /^_/,\r\n};\r\n\r\n/**\r\n * 拡張子を除いたファイル名が親ディレクトリ名と同じ\r\n */\r\nexport const MAIN_FILE: IsMatchingPathCondition = {\r\n entryType: 'file',\r\n conditions: (values) => {\r\n return values.name === values.dirbase;\r\n },\r\n};\r\n\r\n/**\r\n * ツール類の入ったディレクトリ\r\n */\r\nexport const TOOLS_DIR: IsMatchingPathCondition = {\r\n entryType: 'dir',\r\n conditions: (values, { children }) => {\r\n const { base } = values;\r\n return (\r\n // 先頭が小文字\r\n base[0] === base[0].toLowerCase() &&\r\n // 子要素にディレクトリと同じ名称のファイルが無い\r\n children?.every((child: string) => child.split('.')[0] !== base)\r\n );\r\n },\r\n};\r\n\r\n/**\r\n * includeのデフォルト値\r\n */\r\nexport const DEFAULT_INCLUDE = [\r\n // TypeScript,JavaScriptのファイルを対象\r\n TS_JS,\r\n // 配下にindex.tsを持つディレクトリを対象\r\n HAS_INDEX_DIR,\r\n];\r\n\r\n/**\r\n * excludeのデフォルト値\r\n */\r\nexport const DEFAULT_EXCLUDE = [\r\n // __test__フォルダ配下の全てを除外\r\n TEST_DIR,\r\n // ディレクトリ名、ファイル名が_で始まるものを除外\r\n PRIVATE,\r\n];\r\n\r\n/**\r\n * exportTypeAllのデフォルト値\r\n */\r\nexport const DEFAULT_EXPORT_TYPE_ALL = [TYPES];\r\n\r\n/**\r\n * exportAllのデフォルト値\r\n */\r\nexport const DEFAULT_EXPORT_ALL = [CONSTANTS];\r\n\r\n/**\r\n * exportDefaultのデフォルト値\r\n */\r\nexport const DEFAULT_EXPORT_DEFAULT = [MAIN_FILE];\r\n\r\n/**\r\n * exportAllAsのデフォルト値\r\n */\r\nexport const DEFAULT_EXPORT_ALL_AS = [TOOLS_DIR];\r\n"],"mappings":"AAAA,OAAO,QAAQ;AAMR,MAAM,QAAiC;AAAA,EAC5C,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AACd;AAKO,MAAM,YAAqC;AAAA,EAChD,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AACd;AAKO,MAAM,QAAiC;AAAA,EAC5C,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AACd;AAKO,MAAM,gBAAyC;AAAA,EACpD,WAAW;AAAA,EACX,YAAY,CAAC,QAAQ,EAAE,WAAW,MAAM;AACtC,UAAM,QAAQ,GAAG,YAAY,OAAO,IAAI;AACxC,eAAW,QAAQ,OAAO;AACxB,UAAI,WAAW,KAAK,IAAI,GAAG;AACzB,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAKO,MAAM,WAAoC;AAAA,EAC/C,WAAW;AAAA,EACX,YAAY;AACd;AAKO,MAAM,YAAqC;AAAA,EAChD,WAAW;AAAA,EACX,YAAY;AACd;AAKO,MAAM,UAAmC;AAAA,EAC9C,WAAW;AAAA,EACX,YAAY;AACd;AAKO,MAAM,YAAqC;AAAA,EAChD,WAAW;AAAA,EACX,YAAY,CAAC,WAAW;AACtB,WAAO,OAAO,SAAS,OAAO;AAAA,EAChC;AACF;AAKO,MAAM,YAAqC;AAAA,EAChD,WAAW;AAAA,EACX,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM;AACpC,UAAM,EAAE,KAAK,IAAI;AACjB;AAAA;AAAA,MAEE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY;AAAA,MAEhC,UAAU,MAAM,CAAC,UAAkB,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,IAAI;AAAA;AAAA,EAEnE;AACF;AAKO,MAAM,kBAAkB;AAAA;AAAA,EAE7B;AAAA;AAAA,EAEA;AACF;AAKO,MAAM,kBAAkB;AAAA;AAAA,EAE7B;AAAA;AAAA,EAEA;AACF;AAKO,MAAM,0BAA0B,CAAC,KAAK;AAKtC,MAAM,qBAAqB,CAAC,SAAS;AAKrC,MAAM,yBAAyB,CAAC,SAAS;AAKzC,MAAM,wBAAwB,CAAC,SAAS;","names":[]}
|
package/indexes/index.cjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _indexes = require('./indexes'); var _indexes2 = _interopRequireDefault(_indexes);
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.default = _indexes2.default;
|
|
5
|
-
//# sourceMappingURL=index.cjs.map
|
package/indexes/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["c:\\Users\\mitsu\\Documents\\git\\@niche-works\\packages\\dev\\dist\\indexes\\index.cjs"],"names":[],"mappings":"AAAA,+PAA+C;AAC/C;AACE;AACF,oCAAC","file":"C:\\Users\\mitsu\\Documents\\git\\@niche-works\\packages\\dev\\dist\\indexes\\index.cjs","sourcesContent":[null]}
|
package/indexes/index.d.cts
DELETED
package/indexes/index.d.ts
DELETED
package/indexes/index.js
DELETED
package/indexes/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/indexes/index.ts"],"sourcesContent":["export { default } from './indexes';\r\nexport type * from './types';\r\n"],"mappings":"AAAA,SAAS,WAAAA,gBAAe;","names":["default"]}
|
package/indexes/indexes.cjs
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
|
|
2
|
-
var _path = require('path');
|
|
3
|
-
var _isMatchingPath = require('../isMatchingPath'); var _isMatchingPath2 = _interopRequireDefault(_isMatchingPath);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _constants = require('./constants');
|
|
12
|
-
const EXPORTS = {
|
|
13
|
-
exportAll: {
|
|
14
|
-
type: "named",
|
|
15
|
-
generate: (name) => `export * from './${name}';`
|
|
16
|
-
},
|
|
17
|
-
exportAllAs: {
|
|
18
|
-
type: "named",
|
|
19
|
-
generate: (name) => `export * as ${name} from './${name}';`
|
|
20
|
-
},
|
|
21
|
-
exportDefault: {
|
|
22
|
-
type: "default",
|
|
23
|
-
generate: (name) => `export { default } from './${name}';`
|
|
24
|
-
},
|
|
25
|
-
exportDefaultAs: {
|
|
26
|
-
type: "named",
|
|
27
|
-
generate: (name) => `export { default as ${name} } from './${name}';`
|
|
28
|
-
},
|
|
29
|
-
exportTypeAll: {
|
|
30
|
-
type: "type",
|
|
31
|
-
generate: (name) => `export type * from './${name}';`
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
function indexes(options = {}) {
|
|
35
|
-
const {
|
|
36
|
-
srcPath = "src",
|
|
37
|
-
indexFileName = "index.ts",
|
|
38
|
-
include = _constants.DEFAULT_INCLUDE,
|
|
39
|
-
exclude = _constants.DEFAULT_EXCLUDE,
|
|
40
|
-
exportAll = _constants.DEFAULT_EXPORT_ALL,
|
|
41
|
-
exportAllAs = _constants.DEFAULT_EXPORT_ALL_AS,
|
|
42
|
-
exportDefault = _constants.DEFAULT_EXPORT_DEFAULT,
|
|
43
|
-
exportTypeAll = _constants.DEFAULT_EXPORT_TYPE_ALL,
|
|
44
|
-
...rest
|
|
45
|
-
} = options;
|
|
46
|
-
const indexRegex = _createRegex(indexFileName);
|
|
47
|
-
_indexes(srcPath, indexRegex, {
|
|
48
|
-
indexFileName,
|
|
49
|
-
include,
|
|
50
|
-
exclude,
|
|
51
|
-
exportAll,
|
|
52
|
-
exportAllAs,
|
|
53
|
-
exportDefault,
|
|
54
|
-
exportTypeAll,
|
|
55
|
-
...rest
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
function _indexes(targetPath, indexRegex, options) {
|
|
59
|
-
const {
|
|
60
|
-
indexFileName = "index.ts",
|
|
61
|
-
include,
|
|
62
|
-
exclude,
|
|
63
|
-
includeNamedWithDefault,
|
|
64
|
-
exportAll,
|
|
65
|
-
exportAllAs,
|
|
66
|
-
exportDefault,
|
|
67
|
-
exportDefaultAs,
|
|
68
|
-
exportTypeAll,
|
|
69
|
-
dryRun
|
|
70
|
-
} = options;
|
|
71
|
-
const exportTargets = {
|
|
72
|
-
exportAll,
|
|
73
|
-
exportAllAs,
|
|
74
|
-
exportDefault,
|
|
75
|
-
exportDefaultAs,
|
|
76
|
-
exportTypeAll
|
|
77
|
-
};
|
|
78
|
-
const stat = _fsextra2.default.statSync(targetPath);
|
|
79
|
-
if (!stat.isDirectory()) {
|
|
80
|
-
console.error(`"${targetPath}" is not directory.`);
|
|
81
|
-
}
|
|
82
|
-
const items = _fsextra2.default.readdirSync(targetPath);
|
|
83
|
-
items.sort((a, b) => a.toLowerCase() > b.toLowerCase() ? 1 : -1);
|
|
84
|
-
const exportCodes = [];
|
|
85
|
-
let hasDefaultExport = false;
|
|
86
|
-
let hasNamedExport = false;
|
|
87
|
-
for (const item of items) {
|
|
88
|
-
const itemPath = _path.posix.join(targetPath, item);
|
|
89
|
-
const { name } = _path.posix.parse(itemPath);
|
|
90
|
-
const stat2 = _fsextra2.default.statSync(itemPath);
|
|
91
|
-
let children;
|
|
92
|
-
if (stat2.isDirectory()) {
|
|
93
|
-
children = _indexes(itemPath, indexRegex, options);
|
|
94
|
-
}
|
|
95
|
-
const isMatchingPathOptions = {
|
|
96
|
-
conditionOptions: { indexRegex, children }
|
|
97
|
-
};
|
|
98
|
-
if (!indexRegex.test(item) && _isMatchingPath2.default.call(void 0, itemPath, include, isMatchingPathOptions) && !_isMatchingPath2.default.call(void 0, itemPath, exclude, isMatchingPathOptions)) {
|
|
99
|
-
let isExported = false;
|
|
100
|
-
for (const type in EXPORTS) {
|
|
101
|
-
const exportType = type;
|
|
102
|
-
const exportTarget = exportTargets[exportType];
|
|
103
|
-
if (exportTarget && _isMatchingPath2.default.call(void 0, itemPath, exportTarget, isMatchingPathOptions)) {
|
|
104
|
-
const EXPORT = EXPORTS[exportType];
|
|
105
|
-
exportCodes.push({
|
|
106
|
-
type: EXPORT.type,
|
|
107
|
-
code: EXPORT.generate(name)
|
|
108
|
-
});
|
|
109
|
-
if (EXPORT.type === "named") {
|
|
110
|
-
hasNamedExport = true;
|
|
111
|
-
} else if (EXPORT.type === "default") {
|
|
112
|
-
hasDefaultExport = true;
|
|
113
|
-
}
|
|
114
|
-
isExported = true;
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
if (!isExported) {
|
|
119
|
-
exportCodes.push({
|
|
120
|
-
type: EXPORTS.exportDefaultAs.type,
|
|
121
|
-
code: EXPORTS.exportDefaultAs.generate(name)
|
|
122
|
-
});
|
|
123
|
-
hasNamedExport = true;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (exportCodes.length) {
|
|
128
|
-
let index;
|
|
129
|
-
if (hasDefaultExport && hasNamedExport && !includeNamedWithDefault) {
|
|
130
|
-
index = exportCodes.reduce((result, exportCode) => {
|
|
131
|
-
if (exportCode.type !== "named") {
|
|
132
|
-
result.push(exportCode.code);
|
|
133
|
-
}
|
|
134
|
-
return result;
|
|
135
|
-
}, []);
|
|
136
|
-
} else {
|
|
137
|
-
index = exportCodes.map((exportCode) => exportCode.code);
|
|
138
|
-
}
|
|
139
|
-
const indexPath = _path.posix.join(targetPath, indexFileName);
|
|
140
|
-
if (!dryRun) {
|
|
141
|
-
_fsextra2.default.writeFileSync(indexPath, index.join("\r\n") + "\r\n", {
|
|
142
|
-
encoding: "utf8"
|
|
143
|
-
});
|
|
144
|
-
console.info(indexPath);
|
|
145
|
-
} else {
|
|
146
|
-
console.info(indexPath + "-------------------------------------");
|
|
147
|
-
console.info(index.join("\r\n") + "\r\n");
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return items;
|
|
151
|
-
}
|
|
152
|
-
function _createRegex(str) {
|
|
153
|
-
return new RegExp(
|
|
154
|
-
`^${str.replace(/[.*+?^=!:${}()|\[\]\/\\]/g, "\\$&")}$`,
|
|
155
|
-
"i"
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
exports.default = indexes;
|
|
161
|
-
//# sourceMappingURL=indexes.cjs.map
|
package/indexes/indexes.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["c:\\Users\\mitsu\\Documents\\git\\@niche-works\\packages\\dev\\dist\\indexes\\indexes.cjs"],"names":[],"mappings":"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","file":"C:\\Users\\mitsu\\Documents\\git\\@niche-works\\packages\\dev\\dist\\indexes\\indexes.cjs","sourcesContent":[null]}
|
package/indexes/indexes.d.cts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { IndexesOptions } from './types.cjs';
|
|
2
|
-
import '../isMatchingPath/types.cjs';
|
|
3
|
-
import '../isMatchingPath/_types.cjs';
|
|
4
|
-
import 'path';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 対象のディレクトリ配下のindexファイルを作成する\
|
|
8
|
-
* 対象ファイルで出力形式が特に指定されていない場合は下記の形式で出力\
|
|
9
|
-
* `export { default as ${name} } from './${name}';`
|
|
10
|
-
*/
|
|
11
|
-
declare function indexes(options?: IndexesOptions): void;
|
|
12
|
-
|
|
13
|
-
export { indexes as default };
|
package/indexes/indexes.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { IndexesOptions } from './types.js';
|
|
2
|
-
import '../isMatchingPath/types.js';
|
|
3
|
-
import '../isMatchingPath/_types.js';
|
|
4
|
-
import 'path';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 対象のディレクトリ配下のindexファイルを作成する\
|
|
8
|
-
* 対象ファイルで出力形式が特に指定されていない場合は下記の形式で出力\
|
|
9
|
-
* `export { default as ${name} } from './${name}';`
|
|
10
|
-
*/
|
|
11
|
-
declare function indexes(options?: IndexesOptions): void;
|
|
12
|
-
|
|
13
|
-
export { indexes as default };
|
package/indexes/indexes.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import fs from "fs-extra";
|
|
2
|
-
import { posix as path } from "path";
|
|
3
|
-
import isMatchingPath from "../isMatchingPath";
|
|
4
|
-
import {
|
|
5
|
-
DEFAULT_EXCLUDE,
|
|
6
|
-
DEFAULT_EXPORT_ALL,
|
|
7
|
-
DEFAULT_EXPORT_ALL_AS,
|
|
8
|
-
DEFAULT_EXPORT_DEFAULT,
|
|
9
|
-
DEFAULT_EXPORT_TYPE_ALL,
|
|
10
|
-
DEFAULT_INCLUDE
|
|
11
|
-
} from "./constants";
|
|
12
|
-
const EXPORTS = {
|
|
13
|
-
exportAll: {
|
|
14
|
-
type: "named",
|
|
15
|
-
generate: (name) => `export * from './${name}';`
|
|
16
|
-
},
|
|
17
|
-
exportAllAs: {
|
|
18
|
-
type: "named",
|
|
19
|
-
generate: (name) => `export * as ${name} from './${name}';`
|
|
20
|
-
},
|
|
21
|
-
exportDefault: {
|
|
22
|
-
type: "default",
|
|
23
|
-
generate: (name) => `export { default } from './${name}';`
|
|
24
|
-
},
|
|
25
|
-
exportDefaultAs: {
|
|
26
|
-
type: "named",
|
|
27
|
-
generate: (name) => `export { default as ${name} } from './${name}';`
|
|
28
|
-
},
|
|
29
|
-
exportTypeAll: {
|
|
30
|
-
type: "type",
|
|
31
|
-
generate: (name) => `export type * from './${name}';`
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
function indexes(options = {}) {
|
|
35
|
-
const {
|
|
36
|
-
srcPath = "src",
|
|
37
|
-
indexFileName = "index.ts",
|
|
38
|
-
include = DEFAULT_INCLUDE,
|
|
39
|
-
exclude = DEFAULT_EXCLUDE,
|
|
40
|
-
exportAll = DEFAULT_EXPORT_ALL,
|
|
41
|
-
exportAllAs = DEFAULT_EXPORT_ALL_AS,
|
|
42
|
-
exportDefault = DEFAULT_EXPORT_DEFAULT,
|
|
43
|
-
exportTypeAll = DEFAULT_EXPORT_TYPE_ALL,
|
|
44
|
-
...rest
|
|
45
|
-
} = options;
|
|
46
|
-
const indexRegex = _createRegex(indexFileName);
|
|
47
|
-
_indexes(srcPath, indexRegex, {
|
|
48
|
-
indexFileName,
|
|
49
|
-
include,
|
|
50
|
-
exclude,
|
|
51
|
-
exportAll,
|
|
52
|
-
exportAllAs,
|
|
53
|
-
exportDefault,
|
|
54
|
-
exportTypeAll,
|
|
55
|
-
...rest
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
function _indexes(targetPath, indexRegex, options) {
|
|
59
|
-
const {
|
|
60
|
-
indexFileName = "index.ts",
|
|
61
|
-
include,
|
|
62
|
-
exclude,
|
|
63
|
-
includeNamedWithDefault,
|
|
64
|
-
exportAll,
|
|
65
|
-
exportAllAs,
|
|
66
|
-
exportDefault,
|
|
67
|
-
exportDefaultAs,
|
|
68
|
-
exportTypeAll,
|
|
69
|
-
dryRun
|
|
70
|
-
} = options;
|
|
71
|
-
const exportTargets = {
|
|
72
|
-
exportAll,
|
|
73
|
-
exportAllAs,
|
|
74
|
-
exportDefault,
|
|
75
|
-
exportDefaultAs,
|
|
76
|
-
exportTypeAll
|
|
77
|
-
};
|
|
78
|
-
const stat = fs.statSync(targetPath);
|
|
79
|
-
if (!stat.isDirectory()) {
|
|
80
|
-
console.error(`"${targetPath}" is not directory.`);
|
|
81
|
-
}
|
|
82
|
-
const items = fs.readdirSync(targetPath);
|
|
83
|
-
items.sort((a, b) => a.toLowerCase() > b.toLowerCase() ? 1 : -1);
|
|
84
|
-
const exportCodes = [];
|
|
85
|
-
let hasDefaultExport = false;
|
|
86
|
-
let hasNamedExport = false;
|
|
87
|
-
for (const item of items) {
|
|
88
|
-
const itemPath = path.join(targetPath, item);
|
|
89
|
-
const { name } = path.parse(itemPath);
|
|
90
|
-
const stat2 = fs.statSync(itemPath);
|
|
91
|
-
let children;
|
|
92
|
-
if (stat2.isDirectory()) {
|
|
93
|
-
children = _indexes(itemPath, indexRegex, options);
|
|
94
|
-
}
|
|
95
|
-
const isMatchingPathOptions = {
|
|
96
|
-
conditionOptions: { indexRegex, children }
|
|
97
|
-
};
|
|
98
|
-
if (!indexRegex.test(item) && isMatchingPath(itemPath, include, isMatchingPathOptions) && !isMatchingPath(itemPath, exclude, isMatchingPathOptions)) {
|
|
99
|
-
let isExported = false;
|
|
100
|
-
for (const type in EXPORTS) {
|
|
101
|
-
const exportType = type;
|
|
102
|
-
const exportTarget = exportTargets[exportType];
|
|
103
|
-
if (exportTarget && isMatchingPath(itemPath, exportTarget, isMatchingPathOptions)) {
|
|
104
|
-
const EXPORT = EXPORTS[exportType];
|
|
105
|
-
exportCodes.push({
|
|
106
|
-
type: EXPORT.type,
|
|
107
|
-
code: EXPORT.generate(name)
|
|
108
|
-
});
|
|
109
|
-
if (EXPORT.type === "named") {
|
|
110
|
-
hasNamedExport = true;
|
|
111
|
-
} else if (EXPORT.type === "default") {
|
|
112
|
-
hasDefaultExport = true;
|
|
113
|
-
}
|
|
114
|
-
isExported = true;
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
if (!isExported) {
|
|
119
|
-
exportCodes.push({
|
|
120
|
-
type: EXPORTS.exportDefaultAs.type,
|
|
121
|
-
code: EXPORTS.exportDefaultAs.generate(name)
|
|
122
|
-
});
|
|
123
|
-
hasNamedExport = true;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (exportCodes.length) {
|
|
128
|
-
let index;
|
|
129
|
-
if (hasDefaultExport && hasNamedExport && !includeNamedWithDefault) {
|
|
130
|
-
index = exportCodes.reduce((result, exportCode) => {
|
|
131
|
-
if (exportCode.type !== "named") {
|
|
132
|
-
result.push(exportCode.code);
|
|
133
|
-
}
|
|
134
|
-
return result;
|
|
135
|
-
}, []);
|
|
136
|
-
} else {
|
|
137
|
-
index = exportCodes.map((exportCode) => exportCode.code);
|
|
138
|
-
}
|
|
139
|
-
const indexPath = path.join(targetPath, indexFileName);
|
|
140
|
-
if (!dryRun) {
|
|
141
|
-
fs.writeFileSync(indexPath, index.join("\r\n") + "\r\n", {
|
|
142
|
-
encoding: "utf8"
|
|
143
|
-
});
|
|
144
|
-
console.info(indexPath);
|
|
145
|
-
} else {
|
|
146
|
-
console.info(indexPath + "-------------------------------------");
|
|
147
|
-
console.info(index.join("\r\n") + "\r\n");
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return items;
|
|
151
|
-
}
|
|
152
|
-
function _createRegex(str) {
|
|
153
|
-
return new RegExp(
|
|
154
|
-
`^${str.replace(/[.*+?^=!:${}()|\[\]\/\\]/g, "\\$&")}$`,
|
|
155
|
-
"i"
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
|
-
export {
|
|
159
|
-
indexes as default
|
|
160
|
-
};
|
|
161
|
-
//# sourceMappingURL=indexes.js.map
|
package/indexes/indexes.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/indexes/indexes.ts"],"sourcesContent":["import fs from 'fs-extra';\r\nimport { posix as path } from 'path';\r\nimport isMatchingPath from '../isMatchingPath';\r\nimport {\r\n DEFAULT_EXCLUDE,\r\n DEFAULT_EXPORT_ALL,\r\n DEFAULT_EXPORT_ALL_AS,\r\n DEFAULT_EXPORT_DEFAULT,\r\n DEFAULT_EXPORT_TYPE_ALL,\r\n DEFAULT_INCLUDE,\r\n} from './constants';\r\nimport type { IndexesOptions } from './types';\r\n\r\nconst EXPORTS = {\r\n exportAll: {\r\n type: 'named',\r\n generate: (name: string) => `export * from './${name}';`,\r\n },\r\n exportAllAs: {\r\n type: 'named',\r\n generate: (name: string) => `export * as ${name} from './${name}';`,\r\n },\r\n exportDefault: {\r\n type: 'default',\r\n generate: (name: string) => `export { default } from './${name}';`,\r\n },\r\n exportDefaultAs: {\r\n type: 'named',\r\n generate: (name: string) =>\r\n `export { default as ${name} } from './${name}';`,\r\n },\r\n exportTypeAll: {\r\n type: 'type',\r\n generate: (name: string) => `export type * from './${name}';`,\r\n },\r\n} as const;\r\n\r\n/**\r\n * 対象のディレクトリ配下のindexファイルを作成する\\\r\n * 対象ファイルで出力形式が特に指定されていない場合は下記の形式で出力\\\r\n * `export { default as ${name} } from './${name}';`\r\n */\r\nexport default function indexes(options: IndexesOptions = {}) {\r\n const {\r\n srcPath = 'src',\r\n indexFileName = 'index.ts',\r\n include = DEFAULT_INCLUDE,\r\n exclude = DEFAULT_EXCLUDE,\r\n exportAll = DEFAULT_EXPORT_ALL,\r\n exportAllAs = DEFAULT_EXPORT_ALL_AS,\r\n exportDefault = DEFAULT_EXPORT_DEFAULT,\r\n exportTypeAll = DEFAULT_EXPORT_TYPE_ALL,\r\n ...rest\r\n } = options;\r\n const indexRegex = _createRegex(indexFileName);\r\n\r\n // indexファイルの作成処理を実行\r\n _indexes(srcPath, indexRegex, {\r\n indexFileName,\r\n include,\r\n exclude,\r\n exportAll,\r\n exportAllAs,\r\n exportDefault,\r\n exportTypeAll,\r\n ...rest,\r\n });\r\n}\r\n\r\nfunction _indexes(\r\n targetPath: string,\r\n indexRegex: RegExp,\r\n options: IndexesOptions,\r\n) {\r\n const {\r\n indexFileName = 'index.ts',\r\n include,\r\n exclude,\r\n includeNamedWithDefault,\r\n exportAll,\r\n exportAllAs,\r\n exportDefault,\r\n exportDefaultAs,\r\n exportTypeAll,\r\n dryRun,\r\n } = options;\r\n const exportTargets = {\r\n exportAll,\r\n exportAllAs,\r\n exportDefault,\r\n exportDefaultAs,\r\n exportTypeAll,\r\n };\r\n const stat = fs.statSync(targetPath);\r\n if (!stat.isDirectory()) {\r\n console.error(`\"${targetPath}\" is not directory.`);\r\n }\r\n const items = fs.readdirSync(targetPath);\r\n items.sort((a, b) => (a.toLowerCase() > b.toLowerCase() ? 1 : -1));\r\n const exportCodes = [];\r\n let hasDefaultExport = false;\r\n let hasNamedExport = false;\r\n\r\n for (const item of items) {\r\n const itemPath = path.join(targetPath, item);\r\n const { name } = path.parse(itemPath);\r\n const stat = fs.statSync(itemPath);\r\n\r\n let children;\r\n if (stat.isDirectory()) {\r\n // ディレクトリの場合は先に子要素を処理\r\n children = _indexes(itemPath, indexRegex, options);\r\n }\r\n const isMatchingPathOptions = {\r\n conditionOptions: { indexRegex, children },\r\n };\r\n\r\n if (\r\n !indexRegex.test(item) &&\r\n isMatchingPath(itemPath, include, isMatchingPathOptions) &&\r\n !isMatchingPath(itemPath, exclude, isMatchingPathOptions)\r\n ) {\r\n // indexではない場合\r\n let isExported = false;\r\n for (const type in EXPORTS) {\r\n const exportType = type as keyof typeof EXPORTS;\r\n const exportTarget = exportTargets[exportType];\r\n if (\r\n exportTarget &&\r\n isMatchingPath(itemPath, exportTarget, isMatchingPathOptions)\r\n ) {\r\n // 条件に一致した場合はexportのコードを生成\r\n const EXPORT = EXPORTS[exportType];\r\n exportCodes.push({\r\n type: EXPORT.type,\r\n code: EXPORT.generate(name),\r\n });\r\n // exportの種類に応じたフラグを立てる\r\n if (EXPORT.type === 'named') {\r\n hasNamedExport = true;\r\n } else if (EXPORT.type === 'default') {\r\n hasDefaultExport = true;\r\n }\r\n isExported = true;\r\n break;\r\n }\r\n }\r\n if (!isExported) {\r\n // 未指定の場合はexportDefaultAs\r\n exportCodes.push({\r\n type: EXPORTS.exportDefaultAs.type,\r\n code: EXPORTS.exportDefaultAs.generate(name),\r\n });\r\n hasNamedExport = true;\r\n }\r\n }\r\n }\r\n\r\n if (exportCodes.length) {\r\n let index;\r\n if (hasDefaultExport && hasNamedExport && !includeNamedWithDefault) {\r\n // デフォルトエクスポートと名前付きエクスポートの混在を許さない場合は名前付きエクスポートを除外\r\n index = exportCodes.reduce<string[]>((result, exportCode) => {\r\n if (exportCode.type !== 'named') {\r\n result.push(exportCode.code);\r\n }\r\n return result;\r\n }, []);\r\n } else {\r\n index = exportCodes.map((exportCode) => exportCode.code);\r\n }\r\n\r\n const indexPath = path.join(targetPath, indexFileName);\r\n if (!dryRun) {\r\n // indexファイルの出力\r\n fs.writeFileSync(indexPath, index.join('\\r\\n') + '\\r\\n', {\r\n encoding: 'utf8',\r\n });\r\n console.info(indexPath);\r\n } else {\r\n console.info(indexPath + '-------------------------------------');\r\n console.info(index.join('\\r\\n') + '\\r\\n');\r\n }\r\n }\r\n\r\n return items;\r\n}\r\n\r\nfunction _createRegex(str: string) {\r\n return new RegExp(\r\n `^${str.replace(/[.*+?^=!:${}()|\\[\\]\\/\\\\]/g, '\\\\$&')}$`,\r\n 'i',\r\n );\r\n}\r\n"],"mappings":"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","names":["stat"]}
|
package/indexes/types.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";//# sourceMappingURL=types.cjs.map
|
package/indexes/types.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["c:\\Users\\mitsu\\Documents\\git\\@niche-works\\packages\\dev\\dist\\indexes\\types.cjs"],"names":[],"mappings":"AAAA","file":"C:\\Users\\mitsu\\Documents\\git\\@niche-works\\packages\\dev\\dist\\indexes\\types.cjs"}
|
package/indexes/types.d.cts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { IsMatchingPathCondition } from '../isMatchingPath/types.cjs';
|
|
2
|
-
import '../isMatchingPath/_types.cjs';
|
|
3
|
-
import 'path';
|
|
4
|
-
|
|
5
|
-
type IndexesOptions = {
|
|
6
|
-
/**
|
|
7
|
-
* 処理対象のパス\
|
|
8
|
-
* @default `src`
|
|
9
|
-
*/
|
|
10
|
-
srcPath?: string;
|
|
11
|
-
/**
|
|
12
|
-
* indexのファイル名\
|
|
13
|
-
* @default `index.ts`
|
|
14
|
-
*/
|
|
15
|
-
indexFileName?: string;
|
|
16
|
-
/**
|
|
17
|
-
* indexファイルを作る対象\
|
|
18
|
-
* 未指定の場合は下記の条件がデフォルトで適用される
|
|
19
|
-
*
|
|
20
|
-
* - ファイル名が`_`で始まらず拡張子が`.ts`,`.tsx`,`.js`,`.jsx`のもの
|
|
21
|
-
* - ディレクトリ名が`_`で始まらないもの
|
|
22
|
-
*/
|
|
23
|
-
include?: IsMatchingPathCondition[];
|
|
24
|
-
/**
|
|
25
|
-
* indexファイルを作る対象から除外するもの
|
|
26
|
-
*/
|
|
27
|
-
exclude?: IsMatchingPathCondition[];
|
|
28
|
-
/**
|
|
29
|
-
* 同じindexファイル内にデフォルトエクスポートがある場合でも名前付きエクスポートをする\
|
|
30
|
-
* デフォルトエクスポートしたモジュールをcjsへ変換したものへアクセスする際に、\
|
|
31
|
-
* defaultという名前付きでアクセスしても問題ない場合はtrue
|
|
32
|
-
*/
|
|
33
|
-
includeNamedWithDefault?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* exportの形式を下記にしたいもの
|
|
36
|
-
*
|
|
37
|
-
* ```
|
|
38
|
-
* export * from './abc';
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
exportAll?: IsMatchingPathCondition[];
|
|
42
|
-
/**
|
|
43
|
-
* exportの形式を下記にしたいもの
|
|
44
|
-
*
|
|
45
|
-
* ```
|
|
46
|
-
* export * as abc from './abc';
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
exportAllAs?: IsMatchingPathCondition[];
|
|
50
|
-
/**
|
|
51
|
-
* exportの形式を下記にしたいもの
|
|
52
|
-
*
|
|
53
|
-
* ```
|
|
54
|
-
* export { default } from './abc';
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
exportDefault?: IsMatchingPathCondition[];
|
|
58
|
-
/**
|
|
59
|
-
* exportの形式を下記にしたいもの
|
|
60
|
-
*
|
|
61
|
-
* ```
|
|
62
|
-
* export { default as abc } from './abc';
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
exportDefaultAs?: IsMatchingPathCondition[];
|
|
66
|
-
/**
|
|
67
|
-
* exportの形式を下記にしたいもの
|
|
68
|
-
*
|
|
69
|
-
* ```
|
|
70
|
-
* export type * from './abc';
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
exportTypeAll?: IsMatchingPathCondition[];
|
|
74
|
-
/**
|
|
75
|
-
* お試し\
|
|
76
|
-
* ファイルの操作は行わない
|
|
77
|
-
*/
|
|
78
|
-
dryRun?: boolean;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
export type { IndexesOptions };
|