@teambit/dev-files 0.0.0-041b7bd5acec4e5f6fc0ae39e8d45881b6cc37b0
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/dev-files.composition.tsx +7 -0
- package/dev-files.docs.mdx +8 -0
- package/dist/dev-files.aspect.d.ts +2 -0
- package/dist/dev-files.aspect.js +18 -0
- package/dist/dev-files.aspect.js.map +1 -0
- package/dist/dev-files.composition.d.ts +1 -0
- package/dist/dev-files.composition.js +29 -0
- package/dist/dev-files.composition.js.map +1 -0
- package/dist/dev-files.d.ts +30 -0
- package/dist/dev-files.docs.mdx +8 -0
- package/dist/dev-files.fragment.d.ts +19 -0
- package/dist/dev-files.fragment.js +38 -0
- package/dist/dev-files.fragment.js.map +1 -0
- package/dist/dev-files.graphql.d.ts +3 -0
- package/dist/dev-files.graphql.js +31 -0
- package/dist/dev-files.graphql.js.map +1 -0
- package/dist/dev-files.js +62 -0
- package/dist/dev-files.js.map +1 -0
- package/dist/dev-files.main.runtime.d.ts +97 -0
- package/dist/dev-files.main.runtime.js +289 -0
- package/dist/dev-files.main.runtime.js.map +1 -0
- package/dist/dev-files.spec.d.ts +1 -0
- package/dist/dev-files.spec.js +42 -0
- package/dist/dev-files.spec.js.map +1 -0
- package/dist/esm.mjs +6 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/preview-1752582455144.js +7 -0
- package/esm.mjs +6 -0
- package/package.json +67 -0
- package/types/asset.d.ts +41 -0
- package/types/style.d.ts +42 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DevFilesAspect = void 0;
|
|
7
|
+
function _harmony() {
|
|
8
|
+
const data = require("@teambit/harmony");
|
|
9
|
+
_harmony = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
const DevFilesAspect = exports.DevFilesAspect = _harmony().Aspect.create({
|
|
15
|
+
id: 'teambit.component/dev-files'
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=dev-files.aspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_harmony","data","require","DevFilesAspect","exports","Aspect","create","id"],"sources":["dev-files.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const DevFilesAspect = Aspect.create({\n id: 'teambit.component/dev-files',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EAC1CC,EAAE,EAAE;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Logo: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Logo = void 0;
|
|
7
|
+
function _react() {
|
|
8
|
+
const data = _interopRequireDefault(require("react"));
|
|
9
|
+
_react = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
16
|
+
style: {
|
|
17
|
+
height: '100%',
|
|
18
|
+
display: 'flex',
|
|
19
|
+
justifyContent: 'center'
|
|
20
|
+
}
|
|
21
|
+
}, /*#__PURE__*/_react().default.createElement("img", {
|
|
22
|
+
style: {
|
|
23
|
+
width: 70
|
|
24
|
+
},
|
|
25
|
+
src: "https://static.bit.dev/extensions-icons/dev-files.svg"
|
|
26
|
+
}));
|
|
27
|
+
exports.Logo = Logo;
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=dev-files.composition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","e","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["dev-files.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/dev-files.svg\" />\n </div>\n);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAuD,CAAE,CACrF,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare class DevFiles {
|
|
2
|
+
private raw;
|
|
3
|
+
constructor(raw: {
|
|
4
|
+
[key: string]: string[];
|
|
5
|
+
});
|
|
6
|
+
/**
|
|
7
|
+
* get all dev files of an aspect (for example: teambit.defender/tester)
|
|
8
|
+
*/
|
|
9
|
+
get(aspectId: string): string[];
|
|
10
|
+
toTupleArray(): string[][];
|
|
11
|
+
/**
|
|
12
|
+
* list all dev files.
|
|
13
|
+
*/
|
|
14
|
+
list(): string[];
|
|
15
|
+
/**
|
|
16
|
+
* determine whether a file is included in the dev files.
|
|
17
|
+
* @param filePath
|
|
18
|
+
*/
|
|
19
|
+
includes(filePath: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* return a plain object with all dev files.
|
|
22
|
+
*/
|
|
23
|
+
toObject(): {
|
|
24
|
+
[key: string]: string[];
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* serialize all dev files into a JSON string.
|
|
28
|
+
*/
|
|
29
|
+
toString(pretty?: boolean): string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ShowFragment, Component } from '@teambit/component';
|
|
2
|
+
import { DevFilesMain } from './dev-files.main.runtime';
|
|
3
|
+
export declare class DevFilesFragment implements ShowFragment {
|
|
4
|
+
private devFiles;
|
|
5
|
+
constructor(devFiles: DevFilesMain);
|
|
6
|
+
title: string;
|
|
7
|
+
stringifyDevFiles(component: Component): string;
|
|
8
|
+
renderRow(component: Component): Promise<{
|
|
9
|
+
title: string;
|
|
10
|
+
content: string;
|
|
11
|
+
}>;
|
|
12
|
+
json(component: Component): Promise<{
|
|
13
|
+
title: string;
|
|
14
|
+
json: {
|
|
15
|
+
[key: string]: string[];
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
weight: number;
|
|
19
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DevFilesFragment = void 0;
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
+
class DevFilesFragment {
|
|
11
|
+
constructor(devFiles) {
|
|
12
|
+
this.devFiles = devFiles;
|
|
13
|
+
_defineProperty(this, "title", 'dev files');
|
|
14
|
+
_defineProperty(this, "weight", 7);
|
|
15
|
+
}
|
|
16
|
+
stringifyDevFiles(component) {
|
|
17
|
+
const devFiles = this.devFiles.getDevFiles(component);
|
|
18
|
+
const tuples = devFiles.toTupleArray();
|
|
19
|
+
return tuples.map(([file, aspectId]) => {
|
|
20
|
+
return `${file} (${aspectId})`;
|
|
21
|
+
}).join('\n');
|
|
22
|
+
}
|
|
23
|
+
async renderRow(component) {
|
|
24
|
+
return {
|
|
25
|
+
title: this.title,
|
|
26
|
+
content: this.stringifyDevFiles(component)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
async json(component) {
|
|
30
|
+
return {
|
|
31
|
+
title: this.title,
|
|
32
|
+
json: this.devFiles.getDevFiles(component).toObject()
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.DevFilesFragment = DevFilesFragment;
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=dev-files.fragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DevFilesFragment","constructor","devFiles","_defineProperty","stringifyDevFiles","component","getDevFiles","tuples","toTupleArray","map","file","aspectId","join","renderRow","title","content","json","toObject","exports"],"sources":["dev-files.fragment.ts"],"sourcesContent":["import { ShowFragment, Component } from '@teambit/component';\nimport { DevFilesMain } from './dev-files.main.runtime';\n\nexport class DevFilesFragment implements ShowFragment {\n constructor(private devFiles: DevFilesMain) {}\n\n title = 'dev files';\n\n stringifyDevFiles(component: Component) {\n const devFiles = this.devFiles.getDevFiles(component);\n const tuples = devFiles.toTupleArray();\n return tuples\n .map(([file, aspectId]) => {\n return `${file} (${aspectId})`;\n })\n .join('\\n');\n }\n\n async renderRow(component: Component) {\n return {\n title: this.title,\n content: this.stringifyDevFiles(component),\n };\n }\n\n async json(component: Component) {\n return {\n title: this.title,\n json: this.devFiles.getDevFiles(component).toObject(),\n };\n }\n\n weight = 7;\n}\n"],"mappings":";;;;;;;;;AAGO,MAAMA,gBAAgB,CAAyB;EACpDC,WAAWA,CAASC,QAAsB,EAAE;IAAA,KAAxBA,QAAsB,GAAtBA,QAAsB;IAAAC,eAAA,gBAElC,WAAW;IAAAA,eAAA,iBA0BV,CAAC;EA5BmC;EAI7CC,iBAAiBA,CAACC,SAAoB,EAAE;IACtC,MAAMH,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACI,WAAW,CAACD,SAAS,CAAC;IACrD,MAAME,MAAM,GAAGL,QAAQ,CAACM,YAAY,CAAC,CAAC;IACtC,OAAOD,MAAM,CACVE,GAAG,CAAC,CAAC,CAACC,IAAI,EAAEC,QAAQ,CAAC,KAAK;MACzB,OAAO,GAAGD,IAAI,KAAKC,QAAQ,GAAG;IAChC,CAAC,CAAC,CACDC,IAAI,CAAC,IAAI,CAAC;EACf;EAEA,MAAMC,SAASA,CAACR,SAAoB,EAAE;IACpC,OAAO;MACLS,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBC,OAAO,EAAE,IAAI,CAACX,iBAAiB,CAACC,SAAS;IAC3C,CAAC;EACH;EAEA,MAAMW,IAAIA,CAACX,SAAoB,EAAE;IAC/B,OAAO;MACLS,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBE,IAAI,EAAE,IAAI,CAACd,QAAQ,CAACI,WAAW,CAACD,SAAS,CAAC,CAACY,QAAQ,CAAC;IACtD,CAAC;EACH;AAGF;AAACC,OAAA,CAAAlB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.devFilesSchema = devFilesSchema;
|
|
7
|
+
function _graphqlTag() {
|
|
8
|
+
const data = require("graphql-tag");
|
|
9
|
+
_graphqlTag = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function devFilesSchema(devFilesMain) {
|
|
15
|
+
return {
|
|
16
|
+
typeDefs: (0, _graphqlTag().gql)`
|
|
17
|
+
extend type Component {
|
|
18
|
+
devFiles: [String!]
|
|
19
|
+
}
|
|
20
|
+
`,
|
|
21
|
+
resolvers: {
|
|
22
|
+
Component: {
|
|
23
|
+
devFiles: async component => {
|
|
24
|
+
return devFilesMain.getDevFiles(component).list();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=dev-files.graphql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_graphqlTag","data","require","devFilesSchema","devFilesMain","typeDefs","gql","resolvers","Component","devFiles","component","getDevFiles","list"],"sources":["dev-files.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport { gql } from 'graphql-tag';\n\nimport { DevFilesMain } from './dev-files.main.runtime';\n\nexport function devFilesSchema(devFilesMain: DevFilesMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n devFiles: [String!]\n }\n `,\n resolvers: {\n Component: {\n devFiles: async (component: Component) => {\n return devFilesMain.getDevFiles(component).list();\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;AAEA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,SAASE,cAAcA,CAACC,YAA0B,EAAU;EACjE,OAAO;IACLC,QAAQ,EAAE,IAAAC,iBAAG;AACjB;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTC,QAAQ,EAAE,MAAOC,SAAoB,IAAK;UACxC,OAAON,YAAY,CAACO,WAAW,CAACD,SAAS,CAAC,CAACE,IAAI,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DevFiles = void 0;
|
|
7
|
+
function _lodash() {
|
|
8
|
+
const data = require("lodash");
|
|
9
|
+
_lodash = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
class DevFiles {
|
|
15
|
+
constructor(raw) {
|
|
16
|
+
this.raw = raw;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* get all dev files of an aspect (for example: teambit.defender/tester)
|
|
21
|
+
*/
|
|
22
|
+
get(aspectId) {
|
|
23
|
+
return this.raw[aspectId] || [];
|
|
24
|
+
}
|
|
25
|
+
toTupleArray() {
|
|
26
|
+
return (0, _lodash().flatten)(Object.entries(this.raw).map(([aspectId, files]) => {
|
|
27
|
+
return files.map(file => [file, aspectId]);
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* list all dev files.
|
|
33
|
+
*/
|
|
34
|
+
list() {
|
|
35
|
+
return (0, _lodash().flatten)(Object.values(this.raw));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* determine whether a file is included in the dev files.
|
|
40
|
+
* @param filePath
|
|
41
|
+
*/
|
|
42
|
+
includes(filePath) {
|
|
43
|
+
return this.list().includes(filePath);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* return a plain object with all dev files.
|
|
48
|
+
*/
|
|
49
|
+
toObject() {
|
|
50
|
+
return this.raw;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* serialize all dev files into a JSON string.
|
|
55
|
+
*/
|
|
56
|
+
toString(pretty = false) {
|
|
57
|
+
return JSON.stringify(this.toObject(), null, pretty ? 2 : 0);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.DevFiles = DevFiles;
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=dev-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","DevFiles","constructor","raw","get","aspectId","toTupleArray","flatten","Object","entries","map","files","file","list","values","includes","filePath","toObject","toString","pretty","JSON","stringify","exports"],"sources":["dev-files.ts"],"sourcesContent":["import { flatten } from 'lodash';\n\nexport class DevFiles {\n constructor(private raw: { [key: string]: string[] }) {}\n\n /**\n * get all dev files of an aspect (for example: teambit.defender/tester)\n */\n get(aspectId: string): string[] {\n return this.raw[aspectId] || [];\n }\n\n toTupleArray() {\n return flatten(\n Object.entries(this.raw).map(([aspectId, files]) => {\n return files.map((file) => [file, aspectId]);\n })\n );\n }\n\n /**\n * list all dev files.\n */\n list(): string[] {\n return flatten(Object.values(this.raw));\n }\n\n /**\n * determine whether a file is included in the dev files.\n * @param filePath\n */\n includes(filePath: string) {\n return this.list().includes(filePath);\n }\n\n /**\n * return a plain object with all dev files.\n */\n toObject() {\n return this.raw;\n }\n\n /**\n * serialize all dev files into a JSON string.\n */\n toString(pretty = false) {\n return JSON.stringify(this.toObject(), null, pretty ? 2 : 0);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,QAAQ,CAAC;EACpBC,WAAWA,CAASC,GAAgC,EAAE;IAAA,KAAlCA,GAAgC,GAAhCA,GAAgC;EAAG;;EAEvD;AACF;AACA;EACEC,GAAGA,CAACC,QAAgB,EAAY;IAC9B,OAAO,IAAI,CAACF,GAAG,CAACE,QAAQ,CAAC,IAAI,EAAE;EACjC;EAEAC,YAAYA,CAAA,EAAG;IACb,OAAO,IAAAC,iBAAO,EACZC,MAAM,CAACC,OAAO,CAAC,IAAI,CAACN,GAAG,CAAC,CAACO,GAAG,CAAC,CAAC,CAACL,QAAQ,EAAEM,KAAK,CAAC,KAAK;MAClD,OAAOA,KAAK,CAACD,GAAG,CAAEE,IAAI,IAAK,CAACA,IAAI,EAAEP,QAAQ,CAAC,CAAC;IAC9C,CAAC,CACH,CAAC;EACH;;EAEA;AACF;AACA;EACEQ,IAAIA,CAAA,EAAa;IACf,OAAO,IAAAN,iBAAO,EAACC,MAAM,CAACM,MAAM,CAAC,IAAI,CAACX,GAAG,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEY,QAAQA,CAACC,QAAgB,EAAE;IACzB,OAAO,IAAI,CAACH,IAAI,CAAC,CAAC,CAACE,QAAQ,CAACC,QAAQ,CAAC;EACvC;;EAEA;AACF;AACA;EACEC,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAACd,GAAG;EACjB;;EAEA;AACF;AACA;EACEe,QAAQA,CAACC,MAAM,GAAG,KAAK,EAAE;IACvB,OAAOC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACJ,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAEE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;EAC9D;AACF;AAACG,OAAA,CAAArB,QAAA,GAAAA,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ScopeMain } from '@teambit/scope';
|
|
2
|
+
import { SlotRegistry } from '@teambit/harmony';
|
|
3
|
+
import { Workspace } from '@teambit/workspace';
|
|
4
|
+
import type { EnvJsonc, EnvsMain } from '@teambit/envs';
|
|
5
|
+
import { ConsumerComponent as LegacyComponent, Dependency as LegacyDependency } from '@teambit/legacy.consumer-component';
|
|
6
|
+
import { Component, ComponentMain } from '@teambit/component';
|
|
7
|
+
import { GraphqlMain } from '@teambit/graphql';
|
|
8
|
+
import { DevFiles } from './dev-files';
|
|
9
|
+
type DevPatternDescriptor = {
|
|
10
|
+
/**
|
|
11
|
+
* Name of the dev pattern
|
|
12
|
+
*/
|
|
13
|
+
name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Glob pattern to select dev files
|
|
16
|
+
*/
|
|
17
|
+
pattern: string[];
|
|
18
|
+
};
|
|
19
|
+
type DevPattern = string[] | DevPatternDescriptor;
|
|
20
|
+
/**
|
|
21
|
+
* dev pattern is a list of strings or a function that returns a list of strings. an example to a pattern can be "[*.spec.ts]"
|
|
22
|
+
*/
|
|
23
|
+
export type DevPatterns = ((component: Component) => DevPattern) | DevPattern;
|
|
24
|
+
export type EnvJsoncPatterns = {
|
|
25
|
+
compositions?: string[];
|
|
26
|
+
docs?: string[];
|
|
27
|
+
tests?: string[];
|
|
28
|
+
[key: string]: string[] | undefined;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* slot for dev file patterns.
|
|
32
|
+
*/
|
|
33
|
+
export type DevPatternSlot = SlotRegistry<DevPatterns>;
|
|
34
|
+
export type DevFilesConfig = {
|
|
35
|
+
patterns: string[];
|
|
36
|
+
};
|
|
37
|
+
export declare class DevFilesMain {
|
|
38
|
+
private envs;
|
|
39
|
+
private workspace;
|
|
40
|
+
private devPatternSlot;
|
|
41
|
+
/**
|
|
42
|
+
* configuration loaded into the dev files aspect.
|
|
43
|
+
*/
|
|
44
|
+
readonly config: DevFilesConfig;
|
|
45
|
+
constructor(envs: EnvsMain, workspace: Workspace, devPatternSlot: DevPatternSlot,
|
|
46
|
+
/**
|
|
47
|
+
* configuration loaded into the dev files aspect.
|
|
48
|
+
*/
|
|
49
|
+
config: DevFilesConfig);
|
|
50
|
+
/**
|
|
51
|
+
* compute all dev patterns on a component.
|
|
52
|
+
* computing of dev patterns is a merge of the configuration, the env (env.getDevPatterns(component)) and
|
|
53
|
+
* the registering aspects (through registerDevPattern()).
|
|
54
|
+
*/
|
|
55
|
+
computeDevPatterns(component: Component, envExtendsDeps?: LegacyDependency[]): Promise<{
|
|
56
|
+
config: any;
|
|
57
|
+
} & {
|
|
58
|
+
[id: string]: string[];
|
|
59
|
+
} & {
|
|
60
|
+
[id: string]: string[];
|
|
61
|
+
}>;
|
|
62
|
+
private computeDevPatternsFromSlot;
|
|
63
|
+
private computeDevPatternsFromEnv;
|
|
64
|
+
mergeEnvManifestPatterns(parent: EnvJsonc, child: EnvJsonc): Partial<EnvJsonc>;
|
|
65
|
+
private computeDevPatternsFromEnvJsoncFile;
|
|
66
|
+
/**
|
|
67
|
+
* get all dev files configured on a component.
|
|
68
|
+
*/
|
|
69
|
+
getDevPatterns(component: Component, aspectId?: string): string[];
|
|
70
|
+
/**
|
|
71
|
+
* determine whether a file of a component is a dev file.
|
|
72
|
+
*/
|
|
73
|
+
isDevFile(component: Component, filePath: string): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* register a new dev pattern.
|
|
76
|
+
* @param regex dev pattern
|
|
77
|
+
*/
|
|
78
|
+
registerDevPattern(pattern: DevPatterns): void;
|
|
79
|
+
/**
|
|
80
|
+
* get all dev patterns registered.
|
|
81
|
+
* If you want to use this during onLoad event you might need to use computeDevFiles instead, since the component might not include this data yet
|
|
82
|
+
*/
|
|
83
|
+
getDevFiles(component: Component): DevFiles;
|
|
84
|
+
getDevFilesForConsumerComp(consumerComponent: LegacyComponent, envExtendsDeps?: LegacyDependency[]): Promise<string[]>;
|
|
85
|
+
/**
|
|
86
|
+
* compute all dev files of a component.
|
|
87
|
+
*/
|
|
88
|
+
computeDevFiles(component: Component, envExtendsDeps?: LegacyDependency[]): Promise<DevFiles>;
|
|
89
|
+
static slots: ((registerFn: () => string) => SlotRegistry<DevPatterns>)[];
|
|
90
|
+
static defaultConfig: {
|
|
91
|
+
patterns: never[];
|
|
92
|
+
};
|
|
93
|
+
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
94
|
+
static dependencies: import("@teambit/harmony").Aspect[];
|
|
95
|
+
static provider([envs, workspace, componentAspect, graphql, scope]: [EnvsMain, Workspace, ComponentMain, GraphqlMain, ScopeMain], config: DevFilesConfig, [devPatternSlot]: [DevPatternSlot]): Promise<DevFilesMain>;
|
|
96
|
+
}
|
|
97
|
+
export {};
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DevFilesMain = void 0;
|
|
7
|
+
function _cli() {
|
|
8
|
+
const data = require("@teambit/cli");
|
|
9
|
+
_cli = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _scope() {
|
|
15
|
+
const data = require("@teambit/scope");
|
|
16
|
+
_scope = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _lodash() {
|
|
22
|
+
const data = require("lodash");
|
|
23
|
+
_lodash = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _harmony() {
|
|
29
|
+
const data = require("@teambit/harmony");
|
|
30
|
+
_harmony = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _workspace() {
|
|
36
|
+
const data = require("@teambit/workspace");
|
|
37
|
+
_workspace = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
function _envs() {
|
|
43
|
+
const data = require("@teambit/envs");
|
|
44
|
+
_envs = function () {
|
|
45
|
+
return data;
|
|
46
|
+
};
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
49
|
+
function _component() {
|
|
50
|
+
const data = require("@teambit/component");
|
|
51
|
+
_component = function () {
|
|
52
|
+
return data;
|
|
53
|
+
};
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
function _graphql() {
|
|
57
|
+
const data = require("@teambit/graphql");
|
|
58
|
+
_graphql = function () {
|
|
59
|
+
return data;
|
|
60
|
+
};
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
function _devFiles() {
|
|
64
|
+
const data = require("./dev-files.aspect");
|
|
65
|
+
_devFiles = function () {
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
function _devFiles2() {
|
|
71
|
+
const data = require("./dev-files");
|
|
72
|
+
_devFiles2 = function () {
|
|
73
|
+
return data;
|
|
74
|
+
};
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
function _devFiles3() {
|
|
78
|
+
const data = require("./dev-files.fragment");
|
|
79
|
+
_devFiles3 = function () {
|
|
80
|
+
return data;
|
|
81
|
+
};
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
84
|
+
function _devFiles4() {
|
|
85
|
+
const data = require("./dev-files.graphql");
|
|
86
|
+
_devFiles4 = function () {
|
|
87
|
+
return data;
|
|
88
|
+
};
|
|
89
|
+
return data;
|
|
90
|
+
}
|
|
91
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
92
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
93
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
94
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
95
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
96
|
+
/**
|
|
97
|
+
* dev pattern is a list of strings or a function that returns a list of strings. an example to a pattern can be "[*.spec.ts]"
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* slot for dev file patterns.
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
class DevFilesMain {
|
|
105
|
+
constructor(envs, workspace, devPatternSlot,
|
|
106
|
+
/**
|
|
107
|
+
* configuration loaded into the dev files aspect.
|
|
108
|
+
*/
|
|
109
|
+
config) {
|
|
110
|
+
this.envs = envs;
|
|
111
|
+
this.workspace = workspace;
|
|
112
|
+
this.devPatternSlot = devPatternSlot;
|
|
113
|
+
this.config = config;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* compute all dev patterns on a component.
|
|
118
|
+
* computing of dev patterns is a merge of the configuration, the env (env.getDevPatterns(component)) and
|
|
119
|
+
* the registering aspects (through registerDevPattern()).
|
|
120
|
+
*/
|
|
121
|
+
async computeDevPatterns(component, envExtendsDeps) {
|
|
122
|
+
const entry = component.state.aspects.get(_devFiles().DevFilesAspect.id);
|
|
123
|
+
const configuredPatterns = entry?.config.devFilePatterns || [];
|
|
124
|
+
const fromSlot = await this.computeDevPatternsFromSlot(component);
|
|
125
|
+
const fromEnv = await this.computeDevPatternsFromEnv(component, fromSlot.names, envExtendsDeps);
|
|
126
|
+
const res = Object.assign({
|
|
127
|
+
config: configuredPatterns
|
|
128
|
+
}, fromSlot.patterns, fromEnv);
|
|
129
|
+
return res;
|
|
130
|
+
}
|
|
131
|
+
async computeDevPatternsFromSlot(component) {
|
|
132
|
+
const patternSlot = this.devPatternSlot.toArray();
|
|
133
|
+
const getPatterns = devPatterns => {
|
|
134
|
+
if ((0, _lodash().isFunction)(devPatterns)) {
|
|
135
|
+
return devPatterns(component);
|
|
136
|
+
}
|
|
137
|
+
return devPatterns;
|
|
138
|
+
};
|
|
139
|
+
const fromSlot = patternSlot.reduce((acc, current) => {
|
|
140
|
+
const [aspectId, patterns] = current;
|
|
141
|
+
// if (component.state.aspects.get(aspectId)) acc[aspectId] = acc[aspectId].concat(patterns);
|
|
142
|
+
const patternsOrDescriptor = getPatterns(patterns);
|
|
143
|
+
const patternsArray = Array.isArray(patternsOrDescriptor) ? patternsOrDescriptor : patternsOrDescriptor.pattern;
|
|
144
|
+
const name = Array.isArray(patternsOrDescriptor) ? undefined : patternsOrDescriptor.name;
|
|
145
|
+
if (!acc.patterns[aspectId]) acc.patterns[aspectId] = [];
|
|
146
|
+
acc.patterns[aspectId] = acc.patterns[aspectId].concat(patternsArray);
|
|
147
|
+
if (name) {
|
|
148
|
+
acc.names[name] = aspectId;
|
|
149
|
+
}
|
|
150
|
+
return acc;
|
|
151
|
+
}, {
|
|
152
|
+
patterns: {},
|
|
153
|
+
names: {}
|
|
154
|
+
});
|
|
155
|
+
return fromSlot;
|
|
156
|
+
}
|
|
157
|
+
async computeDevPatternsFromEnv(component, patternNames, envExtendsDeps) {
|
|
158
|
+
const envId = (await this.envs.getOrCalculateEnvId(component)).toString();
|
|
159
|
+
const fromEnvJsonFile = await this.computeDevPatternsFromEnvJsoncFile(envId, undefined, envExtendsDeps);
|
|
160
|
+
let fromEnvFunc;
|
|
161
|
+
if (!fromEnvJsonFile) {
|
|
162
|
+
const envDef = await this.envs.calculateEnv(component, {
|
|
163
|
+
skipWarnings: !!this.workspace?.inInstallContext
|
|
164
|
+
});
|
|
165
|
+
fromEnvFunc = envDef.env?.getDevPatterns ? envDef.env.getDevPatterns(component) : [];
|
|
166
|
+
}
|
|
167
|
+
const envPatterns = fromEnvJsonFile || fromEnvFunc || {};
|
|
168
|
+
if (Array.isArray(envPatterns)) {
|
|
169
|
+
return {
|
|
170
|
+
[envId]: envPatterns
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
const envPatternsObject = Object.entries(envPatterns).reduce((acc, [name, pattern]) => {
|
|
174
|
+
const aspectId = patternNames[name] || envId;
|
|
175
|
+
if (!acc[aspectId]) acc[aspectId] = [];
|
|
176
|
+
acc[aspectId] = acc[aspectId].concat(pattern);
|
|
177
|
+
return acc;
|
|
178
|
+
}, {});
|
|
179
|
+
return envPatternsObject;
|
|
180
|
+
}
|
|
181
|
+
mergeEnvManifestPatterns(parent, child) {
|
|
182
|
+
const merged = {
|
|
183
|
+
patterns: _objectSpread(_objectSpread({}, parent.patterns), child.patterns)
|
|
184
|
+
};
|
|
185
|
+
return merged;
|
|
186
|
+
}
|
|
187
|
+
async computeDevPatternsFromEnvJsoncFile(envId, legacyFiles, envExtendsDeps) {
|
|
188
|
+
const isCoreEnv = this.envs.isCoreEnv(envId);
|
|
189
|
+
if (isCoreEnv) return undefined;
|
|
190
|
+
let envJsonc;
|
|
191
|
+
if (legacyFiles) {
|
|
192
|
+
envJsonc = await this.envs.calculateEnvManifest(undefined, legacyFiles, envExtendsDeps);
|
|
193
|
+
} else {
|
|
194
|
+
const envComponent = await this.envs.getEnvComponentByEnvId(envId, envId);
|
|
195
|
+
envJsonc = await this.envs.calculateEnvManifest(envComponent, undefined, envExtendsDeps);
|
|
196
|
+
}
|
|
197
|
+
if (!envJsonc) return undefined;
|
|
198
|
+
return envJsonc.patterns;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* get all dev files configured on a component.
|
|
203
|
+
*/
|
|
204
|
+
getDevPatterns(component, aspectId) {
|
|
205
|
+
const entry = component.state.aspects.get(_devFiles().DevFilesAspect.id);
|
|
206
|
+
const devPatterns = entry?.data.devPatterns || {};
|
|
207
|
+
return aspectId ? devPatterns[aspectId] : (0, _lodash().flatten)(Object.values(devPatterns));
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* determine whether a file of a component is a dev file.
|
|
212
|
+
*/
|
|
213
|
+
isDevFile(component, filePath) {
|
|
214
|
+
const devFiles = this.getDevFiles(component);
|
|
215
|
+
return devFiles.includes(filePath);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* register a new dev pattern.
|
|
220
|
+
* @param regex dev pattern
|
|
221
|
+
*/
|
|
222
|
+
registerDevPattern(pattern) {
|
|
223
|
+
return this.devPatternSlot.register(pattern);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* get all dev patterns registered.
|
|
228
|
+
* If you want to use this during onLoad event you might need to use computeDevFiles instead, since the component might not include this data yet
|
|
229
|
+
*/
|
|
230
|
+
getDevFiles(component) {
|
|
231
|
+
const entry = component.state.aspects.get(_devFiles().DevFilesAspect.id);
|
|
232
|
+
const rawDevFiles = entry?.data.devFiles || {};
|
|
233
|
+
return new (_devFiles2().DevFiles)(rawDevFiles);
|
|
234
|
+
}
|
|
235
|
+
async getDevFilesForConsumerComp(consumerComponent, envExtendsDeps) {
|
|
236
|
+
const componentId = consumerComponent.id;
|
|
237
|
+
// Do not change the storeInCache=false arg. if you think you need to change it, please talk to Gilad first
|
|
238
|
+
const component = await this.workspace.get(componentId, consumerComponent, true, false, {
|
|
239
|
+
loadExtensions: false
|
|
240
|
+
// executeLoadSlot: false,
|
|
241
|
+
});
|
|
242
|
+
if (!component) throw Error(`failed to transform component ${consumerComponent.id.toString()} in harmony`);
|
|
243
|
+
const computedDevFiles = await this.computeDevFiles(component, envExtendsDeps);
|
|
244
|
+
return computedDevFiles.list();
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* compute all dev files of a component.
|
|
249
|
+
*/
|
|
250
|
+
async computeDevFiles(component, envExtendsDeps) {
|
|
251
|
+
const devPatterns = await this.computeDevPatterns(component, envExtendsDeps);
|
|
252
|
+
const rawDevFiles = Object.keys(devPatterns).reduce((acc, aspectId) => {
|
|
253
|
+
if (!acc[aspectId]) acc[aspectId] = [];
|
|
254
|
+
const patterns = devPatterns[aspectId];
|
|
255
|
+
acc[aspectId] = component.state.filesystem.byGlob(patterns).map(file => file.relative);
|
|
256
|
+
return acc;
|
|
257
|
+
}, {});
|
|
258
|
+
return new (_devFiles2().DevFiles)(rawDevFiles);
|
|
259
|
+
}
|
|
260
|
+
static async provider([envs, workspace, componentAspect, graphql, scope], config, [devPatternSlot]) {
|
|
261
|
+
const devFiles = new DevFilesMain(envs, workspace, devPatternSlot, config);
|
|
262
|
+
componentAspect.registerShowFragments([new (_devFiles3().DevFilesFragment)(devFiles)]);
|
|
263
|
+
envs.registerEnvJsoncMergeCustomizer(devFiles.mergeEnvManifestPatterns.bind(devFiles));
|
|
264
|
+
const calcDevOnLoad = async component => {
|
|
265
|
+
return {
|
|
266
|
+
devPatterns: await devFiles.computeDevPatterns(component),
|
|
267
|
+
devFiles: (await devFiles.computeDevFiles(component)).toObject()
|
|
268
|
+
};
|
|
269
|
+
};
|
|
270
|
+
if (workspace) {
|
|
271
|
+
workspace.registerOnComponentLoad(calcDevOnLoad);
|
|
272
|
+
}
|
|
273
|
+
if (scope) {
|
|
274
|
+
scope.registerOnCompAspectReCalc(calcDevOnLoad);
|
|
275
|
+
}
|
|
276
|
+
graphql.register(() => (0, _devFiles4().devFilesSchema)(devFiles));
|
|
277
|
+
return devFiles;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
exports.DevFilesMain = DevFilesMain;
|
|
281
|
+
_defineProperty(DevFilesMain, "slots", [_harmony().Slot.withType()]);
|
|
282
|
+
_defineProperty(DevFilesMain, "defaultConfig", {
|
|
283
|
+
patterns: []
|
|
284
|
+
});
|
|
285
|
+
_defineProperty(DevFilesMain, "runtime", _cli().MainRuntime);
|
|
286
|
+
_defineProperty(DevFilesMain, "dependencies", [_envs().EnvsAspect, _workspace().WorkspaceAspect, _component().ComponentAspect, _graphql().GraphqlAspect, _scope().ScopeAspect]);
|
|
287
|
+
_devFiles().DevFilesAspect.addRuntime(DevFilesMain);
|
|
288
|
+
|
|
289
|
+
//# sourceMappingURL=dev-files.main.runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_scope","_lodash","_harmony","_workspace","_envs","_component","_graphql","_devFiles","_devFiles2","_devFiles3","_devFiles4","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DevFilesMain","constructor","envs","workspace","devPatternSlot","config","computeDevPatterns","component","envExtendsDeps","entry","state","aspects","get","DevFilesAspect","id","configuredPatterns","devFilePatterns","fromSlot","computeDevPatternsFromSlot","fromEnv","computeDevPatternsFromEnv","names","res","assign","patterns","patternSlot","toArray","getPatterns","devPatterns","isFunction","reduce","acc","current","aspectId","patternsOrDescriptor","patternsArray","Array","isArray","pattern","name","undefined","concat","patternNames","envId","getOrCalculateEnvId","toString","fromEnvJsonFile","computeDevPatternsFromEnvJsoncFile","fromEnvFunc","envDef","calculateEnv","skipWarnings","inInstallContext","env","getDevPatterns","envPatterns","envPatternsObject","entries","mergeEnvManifestPatterns","parent","child","merged","legacyFiles","isCoreEnv","envJsonc","calculateEnvManifest","envComponent","getEnvComponentByEnvId","flatten","values","isDevFile","filePath","devFiles","getDevFiles","includes","registerDevPattern","register","rawDevFiles","DevFiles","getDevFilesForConsumerComp","consumerComponent","componentId","loadExtensions","Error","computedDevFiles","computeDevFiles","list","filesystem","byGlob","map","file","relative","provider","componentAspect","graphql","scope","registerShowFragments","DevFilesFragment","registerEnvJsoncMergeCustomizer","bind","calcDevOnLoad","toObject","registerOnComponentLoad","registerOnCompAspectReCalc","devFilesSchema","exports","Slot","withType","MainRuntime","EnvsAspect","WorkspaceAspect","ComponentAspect","GraphqlAspect","ScopeAspect","addRuntime"],"sources":["dev-files.main.runtime.ts"],"sourcesContent":["import { SourceFile } from '@teambit/component.sources';\nimport { MainRuntime } from '@teambit/cli';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { flatten, isFunction } from 'lodash';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { EnvJsonc, EnvsMain } from '@teambit/envs';\nimport {\n ConsumerComponent as LegacyComponent,\n Dependency as LegacyDependency,\n} from '@teambit/legacy.consumer-component';\nimport { Component, ComponentMain, ComponentAspect } from '@teambit/component';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { DevFilesAspect } from './dev-files.aspect';\nimport { DevFiles } from './dev-files';\nimport { DevFilesFragment } from './dev-files.fragment';\nimport { devFilesSchema } from './dev-files.graphql';\n\ntype DevPatternDescriptor = {\n /**\n * Name of the dev pattern\n */\n name: string;\n\n /**\n * Glob pattern to select dev files\n */\n pattern: string[];\n};\n\ntype DevPattern = string[] | DevPatternDescriptor;\n\n/**\n * dev pattern is a list of strings or a function that returns a list of strings. an example to a pattern can be \"[*.spec.ts]\"\n */\nexport type DevPatterns = ((component: Component) => DevPattern) | DevPattern;\n\nexport type EnvJsoncPatterns = {\n compositions?: string[];\n docs?: string[];\n tests?: string[];\n [key: string]: string[] | undefined;\n};\n\n/**\n * slot for dev file patterns.\n */\nexport type DevPatternSlot = SlotRegistry<DevPatterns>;\n\nexport type DevFilesConfig = {\n patterns: string[];\n};\n\nexport class DevFilesMain {\n constructor(\n private envs: EnvsMain,\n\n private workspace: Workspace,\n\n private devPatternSlot: DevPatternSlot,\n\n /**\n * configuration loaded into the dev files aspect.\n */\n readonly config: DevFilesConfig\n ) {}\n\n /**\n * compute all dev patterns on a component.\n * computing of dev patterns is a merge of the configuration, the env (env.getDevPatterns(component)) and\n * the registering aspects (through registerDevPattern()).\n */\n async computeDevPatterns(component: Component, envExtendsDeps?: LegacyDependency[]) {\n const entry = component.state.aspects.get(DevFilesAspect.id);\n const configuredPatterns = entry?.config.devFilePatterns || [];\n\n const fromSlot = await this.computeDevPatternsFromSlot(component);\n const fromEnv = await this.computeDevPatternsFromEnv(component, fromSlot.names, envExtendsDeps);\n\n const res = Object.assign(\n {\n config: configuredPatterns,\n },\n fromSlot.patterns,\n fromEnv\n );\n return res;\n }\n\n private async computeDevPatternsFromSlot(\n component: Component\n ): Promise<{ patterns: { [id: string]: string[] }; names: { [name: string]: string } }> {\n const patternSlot = this.devPatternSlot.toArray();\n const getPatterns = (devPatterns: DevPatterns) => {\n if (isFunction(devPatterns)) {\n return devPatterns(component);\n }\n return devPatterns;\n };\n const fromSlot = patternSlot.reduce(\n (acc, current) => {\n const [aspectId, patterns] = current;\n // if (component.state.aspects.get(aspectId)) acc[aspectId] = acc[aspectId].concat(patterns);\n const patternsOrDescriptor = getPatterns(patterns);\n const patternsArray = Array.isArray(patternsOrDescriptor) ? patternsOrDescriptor : patternsOrDescriptor.pattern;\n const name = Array.isArray(patternsOrDescriptor) ? undefined : patternsOrDescriptor.name;\n if (!acc.patterns[aspectId]) acc.patterns[aspectId] = [];\n acc.patterns[aspectId] = acc.patterns[aspectId].concat(patternsArray);\n if (name) {\n acc.names[name] = aspectId;\n }\n return acc;\n },\n { patterns: {}, names: {} }\n );\n return fromSlot;\n }\n\n private async computeDevPatternsFromEnv(\n component: Component,\n patternNames: { [name: string]: string },\n envExtendsDeps?: LegacyDependency[]\n ): Promise<{ [id: string]: string[] }> {\n const envId = (await this.envs.getOrCalculateEnvId(component)).toString();\n const fromEnvJsonFile = await this.computeDevPatternsFromEnvJsoncFile(envId, undefined, envExtendsDeps);\n\n let fromEnvFunc;\n if (!fromEnvJsonFile) {\n const envDef = await this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext });\n fromEnvFunc = envDef.env?.getDevPatterns ? envDef.env.getDevPatterns(component) : [];\n }\n const envPatterns = fromEnvJsonFile || fromEnvFunc || {};\n if (Array.isArray(envPatterns)) {\n return { [envId]: envPatterns };\n }\n const envPatternsObject = Object.entries(envPatterns).reduce((acc, [name, pattern]) => {\n const aspectId = patternNames[name] || envId;\n if (!acc[aspectId]) acc[aspectId] = [];\n acc[aspectId] = acc[aspectId].concat(pattern);\n return acc;\n }, {});\n return envPatternsObject;\n }\n\n mergeEnvManifestPatterns(parent: EnvJsonc, child: EnvJsonc): Partial<EnvJsonc> {\n const merged: Partial<EnvJsonc> = {\n patterns: { ...parent.patterns, ...child.patterns },\n };\n return merged;\n }\n\n private async computeDevPatternsFromEnvJsoncFile(\n envId: string,\n legacyFiles?: SourceFile[],\n envExtendsDeps?: LegacyDependency[]\n ): Promise<string[] | undefined> {\n const isCoreEnv = this.envs.isCoreEnv(envId);\n\n if (isCoreEnv) return undefined;\n let envJsonc;\n if (legacyFiles) {\n envJsonc = await this.envs.calculateEnvManifest(undefined, legacyFiles, envExtendsDeps);\n } else {\n const envComponent = await this.envs.getEnvComponentByEnvId(envId, envId);\n envJsonc = await this.envs.calculateEnvManifest(envComponent, undefined, envExtendsDeps);\n }\n\n if (!envJsonc) return undefined;\n\n return envJsonc.patterns;\n }\n\n /**\n * get all dev files configured on a component.\n */\n getDevPatterns(component: Component, aspectId?: string): string[] {\n const entry = component.state.aspects.get(DevFilesAspect.id);\n const devPatterns = entry?.data.devPatterns || {};\n return aspectId ? devPatterns[aspectId] : flatten(Object.values(devPatterns));\n }\n\n /**\n * determine whether a file of a component is a dev file.\n */\n isDevFile(component: Component, filePath: string): boolean {\n const devFiles = this.getDevFiles(component);\n return devFiles.includes(filePath);\n }\n\n /**\n * register a new dev pattern.\n * @param regex dev pattern\n */\n registerDevPattern(pattern: DevPatterns) {\n return this.devPatternSlot.register(pattern);\n }\n\n /**\n * get all dev patterns registered.\n * If you want to use this during onLoad event you might need to use computeDevFiles instead, since the component might not include this data yet\n */\n getDevFiles(component: Component): DevFiles {\n const entry = component.state.aspects.get(DevFilesAspect.id);\n const rawDevFiles = entry?.data.devFiles || {};\n return new DevFiles(rawDevFiles);\n }\n\n async getDevFilesForConsumerComp(\n consumerComponent: LegacyComponent,\n envExtendsDeps?: LegacyDependency[]\n ): Promise<string[]> {\n const componentId = consumerComponent.id;\n // Do not change the storeInCache=false arg. if you think you need to change it, please talk to Gilad first\n const component = await this.workspace.get(componentId, consumerComponent, true, false, {\n loadExtensions: false,\n // executeLoadSlot: false,\n });\n if (!component) throw Error(`failed to transform component ${consumerComponent.id.toString()} in harmony`);\n const computedDevFiles = await this.computeDevFiles(component, envExtendsDeps);\n return computedDevFiles.list();\n }\n\n /**\n * compute all dev files of a component.\n */\n async computeDevFiles(component: Component, envExtendsDeps?: LegacyDependency[]): Promise<DevFiles> {\n const devPatterns = await this.computeDevPatterns(component, envExtendsDeps);\n const rawDevFiles = Object.keys(devPatterns).reduce((acc, aspectId) => {\n if (!acc[aspectId]) acc[aspectId] = [];\n const patterns = devPatterns[aspectId];\n acc[aspectId] = component.state.filesystem.byGlob(patterns).map((file) => file.relative);\n return acc;\n }, {});\n\n return new DevFiles(rawDevFiles);\n }\n\n static slots = [Slot.withType<DevPatterns>()];\n\n static defaultConfig = {\n patterns: [],\n };\n\n static runtime = MainRuntime;\n\n static dependencies = [EnvsAspect, WorkspaceAspect, ComponentAspect, GraphqlAspect, ScopeAspect];\n\n static async provider(\n [envs, workspace, componentAspect, graphql, scope]: [EnvsMain, Workspace, ComponentMain, GraphqlMain, ScopeMain],\n config: DevFilesConfig,\n [devPatternSlot]: [DevPatternSlot]\n ) {\n const devFiles = new DevFilesMain(envs, workspace, devPatternSlot, config);\n componentAspect.registerShowFragments([new DevFilesFragment(devFiles)]);\n envs.registerEnvJsoncMergeCustomizer(devFiles.mergeEnvManifestPatterns.bind(devFiles));\n\n const calcDevOnLoad = async (component: Component) => {\n return {\n devPatterns: await devFiles.computeDevPatterns(component),\n devFiles: (await devFiles.computeDevFiles(component)).toObject(),\n };\n };\n\n if (workspace) {\n workspace.registerOnComponentLoad(calcDevOnLoad);\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(calcDevOnLoad);\n }\n\n graphql.register(() => devFilesSchema(devFiles));\n return devFiles;\n }\n}\n\nDevFilesAspect.addRuntime(DevFilesMain);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _chai() {
|
|
4
|
+
const data = require("chai");
|
|
5
|
+
_chai = function () {
|
|
6
|
+
return data;
|
|
7
|
+
};
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
10
|
+
function _devFiles() {
|
|
11
|
+
const data = require("./dev-files");
|
|
12
|
+
_devFiles = function () {
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
describe('DevFiles', () => {
|
|
18
|
+
let devFiles = new (_devFiles().DevFiles)({});
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
devFiles = new (_devFiles().DevFiles)({
|
|
21
|
+
'teambit.defender/tester': ['button.spec.tsx'],
|
|
22
|
+
'teambit.compositions/compositions': ['button.composition.tsx'],
|
|
23
|
+
'teambit.docs/docs': ['button.docs.ts']
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('get()', () => {
|
|
27
|
+
it('get all dev files of the docs aspect', () => {
|
|
28
|
+
(0, _chai().expect)(devFiles.get('teambit.docs/docs')).to.deep.eq(['button.docs.ts']);
|
|
29
|
+
});
|
|
30
|
+
it('should get undefined as there are no files for aspect id', () => {
|
|
31
|
+
(0, _chai().expect)(devFiles.get('teambit.compositions')).to.deep.eq([]);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
describe('list()', () => {
|
|
35
|
+
it('should list all dev files', () => {
|
|
36
|
+
const allFiles = devFiles.list();
|
|
37
|
+
(0, _chai().expect)(allFiles).to.include.deep.eq(['button.spec.tsx', 'button.composition.tsx', 'button.docs.ts']);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=dev-files.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_devFiles","describe","devFiles","DevFiles","beforeEach","it","expect","get","to","deep","eq","allFiles","list","include"],"sources":["dev-files.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { DevFiles } from './dev-files';\n\ndescribe('DevFiles', () => {\n let devFiles = new DevFiles({});\n\n beforeEach(() => {\n devFiles = new DevFiles({\n 'teambit.defender/tester': ['button.spec.tsx'],\n 'teambit.compositions/compositions': ['button.composition.tsx'],\n 'teambit.docs/docs': ['button.docs.ts'],\n });\n });\n describe('get()', () => {\n it('get all dev files of the docs aspect', () => {\n expect(devFiles.get('teambit.docs/docs')).to.deep.eq(['button.docs.ts']);\n });\n\n it('should get undefined as there are no files for aspect id', () => {\n expect(devFiles.get('teambit.compositions')).to.deep.eq([]);\n });\n });\n\n describe('list()', () => {\n it('should list all dev files', () => {\n const allFiles = devFiles.list();\n expect(allFiles).to.include.deep.eq(['button.spec.tsx', 'button.composition.tsx', 'button.docs.ts']);\n });\n });\n});\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEAG,QAAQ,CAAC,UAAU,EAAE,MAAM;EACzB,IAAIC,QAAQ,GAAG,KAAIC,oBAAQ,EAAC,CAAC,CAAC,CAAC;EAE/BC,UAAU,CAAC,MAAM;IACfF,QAAQ,GAAG,KAAIC,oBAAQ,EAAC;MACtB,yBAAyB,EAAE,CAAC,iBAAiB,CAAC;MAC9C,mCAAmC,EAAE,CAAC,wBAAwB,CAAC;MAC/D,mBAAmB,EAAE,CAAC,gBAAgB;IACxC,CAAC,CAAC;EACJ,CAAC,CAAC;EACFF,QAAQ,CAAC,OAAO,EAAE,MAAM;IACtBI,EAAE,CAAC,sCAAsC,EAAE,MAAM;MAC/C,IAAAC,cAAM,EAACJ,QAAQ,CAACK,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEFL,EAAE,CAAC,0DAA0D,EAAE,MAAM;MACnE,IAAAC,cAAM,EAACJ,QAAQ,CAACK,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFT,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACvBI,EAAE,CAAC,2BAA2B,EAAE,MAAM;MACpC,MAAMM,QAAQ,GAAGT,QAAQ,CAACU,IAAI,CAAC,CAAC;MAChC,IAAAN,cAAM,EAACK,QAAQ,CAAC,CAACH,EAAE,CAACK,OAAO,CAACJ,IAAI,CAACC,EAAE,CAAC,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;IACtG,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
package/dist/esm.mjs
ADDED
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "DevFilesAspect", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _devFiles().DevFilesAspect;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.default = void 0;
|
|
13
|
+
function _devFiles() {
|
|
14
|
+
const data = require("./dev-files.aspect");
|
|
15
|
+
_devFiles = function () {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
var _default = exports.default = _devFiles().DevFilesAspect;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_devFiles","data","require","_default","exports","default","DevFilesAspect"],"sources":["index.ts"],"sourcesContent":["import { DevFilesAspect } from './dev-files.aspect';\n\nexport { DevFilesAspect };\nexport type { DevFilesMain, EnvJsoncPatterns } from './dev-files.main.runtime';\nexport default DevFilesAspect;\n"],"mappings":";;;;;;;;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoD,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIrCC,0BAAc","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_dev-files@041b7bd5acec4e5f6fc0ae39e8d45881b6cc37b0/dist/dev-files.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_dev-files@041b7bd5acec4e5f6fc0ae39e8d45881b6cc37b0/dist/dev-files.docs.mdx';
|
|
3
|
+
|
|
4
|
+
export const compositions = [compositions_0];
|
|
5
|
+
export const overview = [overview_0];
|
|
6
|
+
|
|
7
|
+
export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
|
package/esm.mjs
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@teambit/dev-files",
|
|
3
|
+
"version": "0.0.0-041b7bd5acec4e5f6fc0ae39e8d45881b6cc37b0",
|
|
4
|
+
"homepage": "https://bit.cloud/teambit/component/dev-files",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"componentId": {
|
|
7
|
+
"scope": "teambit.component",
|
|
8
|
+
"name": "dev-files",
|
|
9
|
+
"version": "041b7bd5acec4e5f6fc0ae39e8d45881b6cc37b0"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"graphql-tag": "2.12.1",
|
|
13
|
+
"lodash": "4.17.21",
|
|
14
|
+
"@teambit/harmony": "0.4.7",
|
|
15
|
+
"@teambit/component": "0.0.0-ed1f2d6f812dd11af1d899d53e12ac237ebfe49b",
|
|
16
|
+
"@teambit/graphql": "0.0.0-00d27cb5c82fb30799bcbc0f591cf874c3cb237d",
|
|
17
|
+
"@teambit/cli": "0.0.0-098c7a233c668813d47690933020c0524ffba857",
|
|
18
|
+
"@teambit/component.sources": "0.0.107",
|
|
19
|
+
"@teambit/envs": "0.0.0-d9972a7e94ab844999896f588a390f6eef2c89f8",
|
|
20
|
+
"@teambit/legacy.consumer-component": "0.0.56",
|
|
21
|
+
"@teambit/scope": "0.0.0-6a77db8d29708eb20c00e0270bd5b93cf6031e6a",
|
|
22
|
+
"@teambit/workspace": "0.0.0-096a877b7efe924bf8c8a4482948cee2294ff323"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/lodash": "4.14.165",
|
|
26
|
+
"@types/mocha": "9.1.0",
|
|
27
|
+
"@teambit/component.content.dev-files": "1.95.9",
|
|
28
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.69"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"react": "^17.0.0 || ^18.0.0",
|
|
32
|
+
"chai": "4.3.0",
|
|
33
|
+
"@types/react": "^17.0.73",
|
|
34
|
+
"@types/chai": "4.3.19"
|
|
35
|
+
},
|
|
36
|
+
"license": "Apache-2.0",
|
|
37
|
+
"optionalDependencies": {},
|
|
38
|
+
"peerDependenciesMeta": {},
|
|
39
|
+
"exports": {
|
|
40
|
+
".": {
|
|
41
|
+
"node": {
|
|
42
|
+
"require": "./dist/index.js",
|
|
43
|
+
"import": "./dist/esm.mjs"
|
|
44
|
+
},
|
|
45
|
+
"default": "./dist/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./dist/*": "./dist/*",
|
|
48
|
+
"./artifacts/*": "./artifacts/*",
|
|
49
|
+
"./*": "./*.ts"
|
|
50
|
+
},
|
|
51
|
+
"private": false,
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=16.0.0"
|
|
54
|
+
},
|
|
55
|
+
"repository": {
|
|
56
|
+
"type": "git",
|
|
57
|
+
"url": "https://github.com/teambit/bit"
|
|
58
|
+
},
|
|
59
|
+
"keywords": [
|
|
60
|
+
"bit",
|
|
61
|
+
"bit-aspect",
|
|
62
|
+
"bit-core-aspect",
|
|
63
|
+
"components",
|
|
64
|
+
"collaboration",
|
|
65
|
+
"web"
|
|
66
|
+
]
|
|
67
|
+
}
|
package/types/asset.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
declare module '*.png' {
|
|
2
|
+
const value: any;
|
|
3
|
+
export = value;
|
|
4
|
+
}
|
|
5
|
+
declare module '*.svg' {
|
|
6
|
+
import type { FunctionComponent, SVGProps } from 'react';
|
|
7
|
+
|
|
8
|
+
export const ReactComponent: FunctionComponent<
|
|
9
|
+
SVGProps<SVGSVGElement> & { title?: string }
|
|
10
|
+
>;
|
|
11
|
+
const src: string;
|
|
12
|
+
export default src;
|
|
13
|
+
}
|
|
14
|
+
declare module '*.jpg' {
|
|
15
|
+
const value: any;
|
|
16
|
+
export = value;
|
|
17
|
+
}
|
|
18
|
+
declare module '*.jpeg' {
|
|
19
|
+
const value: any;
|
|
20
|
+
export = value;
|
|
21
|
+
}
|
|
22
|
+
declare module '*.gif' {
|
|
23
|
+
const value: any;
|
|
24
|
+
export = value;
|
|
25
|
+
}
|
|
26
|
+
declare module '*.bmp' {
|
|
27
|
+
const value: any;
|
|
28
|
+
export = value;
|
|
29
|
+
}
|
|
30
|
+
declare module '*.otf' {
|
|
31
|
+
const value: any;
|
|
32
|
+
export = value;
|
|
33
|
+
}
|
|
34
|
+
declare module '*.woff' {
|
|
35
|
+
const value: any;
|
|
36
|
+
export = value;
|
|
37
|
+
}
|
|
38
|
+
declare module '*.woff2' {
|
|
39
|
+
const value: any;
|
|
40
|
+
export = value;
|
|
41
|
+
}
|
package/types/style.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare module '*.module.css' {
|
|
2
|
+
const classes: { readonly [key: string]: string };
|
|
3
|
+
export default classes;
|
|
4
|
+
}
|
|
5
|
+
declare module '*.module.scss' {
|
|
6
|
+
const classes: { readonly [key: string]: string };
|
|
7
|
+
export default classes;
|
|
8
|
+
}
|
|
9
|
+
declare module '*.module.sass' {
|
|
10
|
+
const classes: { readonly [key: string]: string };
|
|
11
|
+
export default classes;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare module '*.module.less' {
|
|
15
|
+
const classes: { readonly [key: string]: string };
|
|
16
|
+
export default classes;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
declare module '*.less' {
|
|
20
|
+
const classes: { readonly [key: string]: string };
|
|
21
|
+
export default classes;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare module '*.css' {
|
|
25
|
+
const classes: { readonly [key: string]: string };
|
|
26
|
+
export default classes;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare module '*.sass' {
|
|
30
|
+
const classes: { readonly [key: string]: string };
|
|
31
|
+
export default classes;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare module '*.scss' {
|
|
35
|
+
const classes: { readonly [key: string]: string };
|
|
36
|
+
export default classes;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare module '*.mdx' {
|
|
40
|
+
const component: any;
|
|
41
|
+
export default component;
|
|
42
|
+
}
|