@teambit/schema 0.0.1110 → 0.0.1111
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/dist/exceptions/index.js.map +1 -1
- package/dist/exceptions/parser-not-found.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mock/button/button.composition.js.map +1 -1
- package/dist/mock/button/button.js +1 -2
- package/dist/mock/button/button.js.map +1 -1
- package/dist/mock/button/index.js +4 -9
- package/dist/mock/button/index.js.map +1 -1
- package/dist/{preview-1689736586631.js → preview-1689823719636.js} +3 -3
- package/dist/schema.aspect.js.map +1 -1
- package/dist/schema.cmd.js.map +1 -1
- package/dist/schema.composition.js.map +1 -1
- package/dist/schema.graphql.js.map +1 -1
- package/dist/schema.main.runtime.js.map +1 -1
- package/dist/schema.service.js.map +1 -1
- package/dist/schema.spec.js.map +1 -1
- package/dist/schema.task.js.map +1 -1
- package/package-tar/teambit-schema-0.0.1111.tgz +0 -0
- package/package.json +13 -13
- package/package-tar/teambit-schema-0.0.1110.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ParserNotFound } from './parser-not-found';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ParserNotFound","Error","constructor","filePath"
|
|
1
|
+
{"version":3,"names":["ParserNotFound","Error","constructor","filePath"],"sources":["parser-not-found.ts"],"sourcesContent":["export class ParserNotFound extends Error {\n constructor(readonly filePath: string) {\n super(`\nno parser is configured to apply on file path: ${filePath}.\\n\nplease use an extension to handle your file extension formats.\n`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EACxCC,WAAW,CAAUC,QAAgB,EAAE;IACrC,KAAK,CAAE;AACX,iDAAiDA,QAAS;AAC1D;AACA,CAAC,CAAC;IAAC,KAJoBA,QAAgB,GAAhBA,QAAgB;EAKrC;AACF;AAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SchemaAspect"],"sources":["index.ts"],"sourcesContent":["import { SchemaAspect } from './schema.aspect';\n\nexport { Parser } from './parser';\nexport { SchemaExtractor } from './schema-extractor';\nexport {\n SchemaTask,\n SCHEMA_ARTIFACT_NAME,\n SCHEMA_TASK_NAME,\n getSchemaArtifactDef,\n getSchemaArtifactPath,\n} from './schema.task';\nexport type { SchemaEnv } from './schema-env';\nexport type { SchemaMain } from './schema.main.runtime';\nexport default SchemaAspect;\nexport { SchemaAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMuB,eAGRA,sBAAY;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["BasicButton","Footer","children","ButtonWithCustomStyles","background","ButtonWithIcon","ButtonAsALink"],"sources":["button.composition.tsx"],"sourcesContent":["/* eslint-disable no-alert */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport { Button } from './button';\n\nexport const BasicButton = () => {\n return <Button>click me</Button>;\n};\n\n/**\n * example of passing a JSX Element as a parameter\n */\n// eslint-disable-next-line react/prop-types\nexport function Footer({ children = <BasicButton /> }) {\n return <Button>{children}</Button>;\n}\n\nexport const ButtonWithCustomStyles = () => {\n return <Button style={{ background: 'red' }}>click me</Button>;\n};\n\nexport const ButtonWithIcon = () => {\n return (\n <Button>\n {/* <Image src=\"https://static.bit.dev/bit-logo.svg\" /> */}\n click me\n </Button>\n );\n};\n\nexport const ButtonAsALink = () => {\n return <Button href=\"https://bit.dev\">Bit</Button>;\n};\n"],"mappings":";;;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAHA;AACA;;AAIO,MAAMA,WAAW,GAAG,MAAM;EAC/B,oBAAO,+BAAC,gBAAM,QAAC,UAAQ,CAAS;AAClC,CAAC;;AAED;AACA;AACA;AACA;AAAA;AACO,SAASC,MAAM,CAAC;EAAEC,QAAQ,gBAAG,+BAAC,WAAW;AAAI,CAAC,EAAE;EACrD,oBAAO,+BAAC,gBAAM,QAAEA,QAAQ,CAAU;AACpC;AAEO,MAAMC,sBAAsB,GAAG,MAAM;EAC1C,oBAAO,+BAAC,gBAAM;IAAC,KAAK,EAAE;MAAEC,UAAU,EAAE;IAAM;EAAE,GAAC,UAAQ,CAAS;AAChE,CAAC;AAAC;AAEK,MAAMC,cAAc,GAAG,MAAM;EAClC,oBACE,+BAAC,gBAAM,QACsD,UAE7D,CAAS;AAEb,CAAC;AAAC;AAEK,MAAMC,aAAa,GAAG,MAAM;EACjC,oBAAO,+BAAC,gBAAM;IAAC,IAAI,EAAC;EAAiB,GAAC,KAAG,CAAS;AACpD,CAAC;AAAC"}
|
|
@@ -37,8 +37,7 @@ function _baseReactNavigation() {
|
|
|
37
37
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
38
38
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
39
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
40
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
41
|
-
// import { useButton } from '@react-aria/button';
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
42
41
|
function Button(props) {
|
|
43
42
|
var _props$href, _props$href2;
|
|
44
43
|
const ref = (0, _react().useRef)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Button","props","ref","useRef","allProps","external","href","startsWith","className","children","Bar","foo"],"sources":["button.tsx"],"sourcesContent":["/* eslint-disable import/no-unresolved */\nimport React, { ReactNode, useRef } from 'react';\n// @ts-ignore\n// import { useButton } from '@react-aria/button';\nimport { Link } from '@teambit/base-react.navigation.link';\n\nexport type ButtonElementType = 'a' | 'button';\n\nexport type ButtonProps = {\n /**\n * children of the Button.\n */\n children: ReactNode;\n\n /**\n * link to target page. once href is used, Button is considered an A tag.\n */\n href?: string;\n\n /**\n * class names to inject.\n */\n className?: string;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport function Button(props: ButtonProps) {\n const ref = useRef();\n\n // const { buttonProps } = useButton(\n // {\n // ...props,\n // elementType: props.href ? 'a' : undefined,\n // },\n // // @ts-ignore figure this out.\n // ref\n // );\n\n const allProps = {\n // ...buttonProps,\n ...props,\n };\n const external = props.href?.startsWith('http:') || props.href?.startsWith('https:');\n\n return (\n <>\n {!props.href ? (\n // @ts-ignore\n <button className={props.className} ref={ref} {...allProps}>\n {props.children}\n </button>\n ) : (\n // @ts-ignore\n <Link external={external} ref={ref} className={props.className} {...allProps}>\n {props.children}\n </Link>\n )}\n </>\n );\n}\n\nexport class Bar {\n foo() {}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA2D;AAAA;AAAA;AAAA;AAqBpD,SAASA,MAAM,CAACC,KAAkB,EAAE;EAAA;EACzC,MAAMC,GAAG,GAAG,IAAAC,eAAM,GAAE;;EAEpB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAMC,QAAQ,qBAETH,KAAK,CACT;EACD,MAAMI,QAAQ,GAAG,gBAAAJ,KAAK,CAACK,IAAI,gDAAV,YAAYC,UAAU,CAAC,OAAO,CAAC,sBAAIN,KAAK,CAACK,IAAI,iDAAV,aAAYC,UAAU,CAAC,QAAQ,CAAC;EAEpF,oBACE,gEACG,CAACN,KAAK,CAACK,IAAI;EAAA;EACV;EACA;IAAQ,SAAS,EAAEL,KAAK,CAACO,SAAU;IAAC,GAAG,EAAEN;EAAI,GAAKE,QAAQ,GACvDH,KAAK,CAACQ,QAAQ,CACR;EAAA;EAET;EACA,+BAAC,2BAAI;IAAC,QAAQ,EAAEJ,QAAS;IAAC,GAAG,EAAEH,GAAI;IAAC,SAAS,EAAED,KAAK,CAACO;EAAU,GAAKJ,QAAQ,GACzEH,KAAK,CAACQ,QAAQ,CAElB,CACA;AAEP;AAEO,MAAMC,GAAG,CAAC;EACfC,GAAG,GAAG,CAAC;AACT;AAAC"}
|
|
@@ -136,13 +136,13 @@ const getBar = bar => new Bar();
|
|
|
136
136
|
exports.getBar = getBar;
|
|
137
137
|
const tuple = ([a, b, c]) => {};
|
|
138
138
|
exports.tuple = tuple;
|
|
139
|
-
let Food
|
|
139
|
+
let Food;
|
|
140
|
+
exports.Food = Food;
|
|
141
|
+
(function (Food) {
|
|
140
142
|
Food[Food["Falafel"] = 0] = "Falafel";
|
|
141
143
|
Food[Food["Hummus"] = 1] = "Hummus";
|
|
142
144
|
Food[Food["Tahini"] = 2] = "Tahini";
|
|
143
|
-
|
|
144
|
-
}({});
|
|
145
|
-
exports.Food = Food;
|
|
145
|
+
})(Food || (exports.Food = Food = {}));
|
|
146
146
|
async function getPromise() {
|
|
147
147
|
return 'promise';
|
|
148
148
|
}
|
|
@@ -162,11 +162,6 @@ async function arrayBindingElements([prop]) {
|
|
|
162
162
|
return prop;
|
|
163
163
|
}
|
|
164
164
|
const computedName = 'str';
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Conditional Generic Type
|
|
168
|
-
*/
|
|
169
|
-
|
|
170
165
|
function genericFunction(a) {
|
|
171
166
|
return function (a) {};
|
|
172
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["myFunc","a","b","Hi","HiThere","Function","Array","Foo","ClassSomething","constructor","da","getter","setter","obj","a1","Bar","foo","getBar","bar","tuple","c","Food","getPromise","T1","T2","T3","typePredicateFn","str","typePredicateNoTypeFn","condition","msg","objectBindingElements","prop","arrayBindingElements","computedName","genericFunction","gfnc2"],"sources":["index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/prefer-as-const */\n/* eslint-disable one-var */\n/* eslint-disable max-classes-per-file */\n\n/**\n * General comment of the myFunc\n * @deprecate example of deprecation tag\n * @param a { number } this is A\n * @param b this is B\n * @returns { number } results of adding a to b\n */\nexport function myFunc(a = 4, b = 5): number {\n return a + b;\n}\n\nexport * from './button';\n\nexport function Hi() {}\n\nexport const a = 4,\n b: 5 = 5;\n\nexport * as Compositions from './button.composition';\n\nexport const HiThere = 'HiThere';\n\nexport const Function = () => {};\n\nexport const Array = ['hi', 'there'];\n\nclass Foo {}\n\nclass ClassSomething {\n app = '';\n constructor(readonly da: 'dsa') {}\n\n a() {\n return new Foo();\n }\n get getter() {\n return 'hi';\n }\n\n set setter(a: boolean) {}\n}\n\nexport { ClassSomething };\n\nexport type IndexSig = { [key: string]: boolean };\n\nexport interface Hello {\n propertySig: () => void;\n methodSig(): string;\n}\n\nconst obj = { a: 1, b: 2 };\n\nexport const a1: typeof obj = { a: 5, b: 9 };\n\nexport type TypeOperator = keyof typeof obj;\n\n// this is for Jump in the definition\nclass Bar {\n foo() {}\n}\nexport const getBar = (bar: Bar) => new Bar();\n\nexport const tuple = ([a, b, c]: [string, Function, Record<string, any>]) => {};\n\nexport enum Food {\n Falafel,\n Hummus,\n Tahini,\n}\n\nexport async function getPromise(): Promise<string> {\n return 'promise';\n}\n\nclass T1 {}\nclass T2 {}\nclass T3<T, K> {}\nexport type TypeRefWithArgs = T3<T1, T2>;\n\nexport type ParenthesizedType = (T1 | T2)[];\n\nexport function typePredicateFn(str: any): str is string {\n return str;\n}\n\nexport function typePredicateNoTypeFn(condition: any, msg?: string): asserts condition {}\n\nexport async function objectBindingElements({ prop = 1 }) {\n return prop;\n}\nexport async function arrayBindingElements([prop]: [string]) {\n return prop;\n}\n\ninterface config {\n someField: { a: string; b: boolean };\n}\nexport type IndexedAccessType = config['someField'];\n\nconst computedName = 'str';\nexport interface ComputedNameWithType {\n [computedName]: boolean;\n}\nexport interface ComputedNameNoType {\n [computedName];\n}\n\ntype World1 = 'world1-a' | 'world1-b';\ntype World2 = 'world2';\nexport type templateLiteralType = `hello ${World1} hi ${World2}`;\n\nexport interface CallSignatureWithTypeParams {\n <T>(a: string): T;\n}\n\n/**\n * Conditional Generic Type\n */\nexport type If<T, U, Y, N> = T extends U ? Y : N;\n\nexport function genericFunction<T>(a: T) {\n return function <T>(a: T) {};\n}\n\nexport const gfnc2 = genericFunction<string>('');\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAyB;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAA;EAAA;EAAA;IAAA;EAAA;AAAA;AAAA;AAAA;AAlBzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,MAAM,CAACC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAU;EAC3C,OAAOD,CAAC,GAAGC,CAAC;AACd;AAIO,SAASC,EAAE,GAAG,CAAC;AAEf,MAAMF,CAAC,GAAG,CAAC;EAChBC,CAAI,GAAG,CAAC;AAAC;AAAA;AAIJ,MAAME,OAAO,GAAG,SAAS;AAAC;AAE1B,MAAMC,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAC;AAE1B,MAAMC,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;AAAC;AAErC,MAAMC,GAAG,CAAC;AAEV,MAAMC,cAAc,CAAC;EAEnBC,WAAW,CAAUC,EAAS,EAAE;IAAA,KAAXA,EAAS,GAATA,EAAS;IAAA,6CADxB,EAAE;EACyB;EAEjCT,CAAC,GAAG;IACF,OAAO,IAAIM,GAAG,EAAE;EAClB;EACA,IAAII,MAAM,GAAG;IACX,OAAO,IAAI;EACb;EAEA,IAAIC,MAAM,CAACX,CAAU,EAAE,CAAC;AAC1B;AAAC;AAWD,MAAMY,GAAG,GAAG;EAAEZ,CAAC,EAAE,CAAC;EAAEC,CAAC,EAAE;AAAE,CAAC;AAEnB,MAAMY,EAAc,GAAG;EAAEb,CAAC,EAAE,CAAC;EAAEC,CAAC,EAAE;AAAE,CAAC;AAAC;AAI7C;AACA,MAAMa,GAAG,CAAC;EACRC,GAAG,GAAG,CAAC;AACT;AACO,MAAMC,MAAM,GAAIC,GAAQ,IAAK,IAAIH,GAAG,EAAE;AAAC;AAEvC,MAAMI,KAAK,GAAG,CAAC,CAAClB,CAAC,EAAEC,CAAC,EAAEkB,CAAC,CAA0C,KAAK,CAAC,CAAC;AAAC;AAAA,IAEpEC,IAAI;AAAA;AAAA,WAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;AAAA,GAAJA,IAAI,oBAAJA,IAAI;AAMT,eAAeC,UAAU,GAAoB;EAClD,OAAO,SAAS;AAClB;AAEA,MAAMC,EAAE,CAAC;AACT,MAAMC,EAAE,CAAC;AACT,MAAMC,EAAE,CAAO;AAKR,SAASC,eAAe,CAACC,GAAQ,EAAiB;EACvD,OAAOA,GAAG;AACZ;AAEO,SAASC,qBAAqB,CAACC,SAAc,EAAEC,GAAY,EAAqB,CAAC;AAEjF,eAAeC,qBAAqB,CAAC;EAAEC,IAAI,GAAG;AAAE,CAAC,EAAE;EACxD,OAAOA,IAAI;AACb;AACO,eAAeC,oBAAoB,CAAC,CAACD,IAAI,CAAW,EAAE;EAC3D,OAAOA,IAAI;AACb;AAOA,MAAME,YAAY,GAAG,KAAK;AAqBnB,SAASC,eAAe,CAAIlC,CAAI,EAAE;EACvC,OAAO,UAAaA,CAAI,EAAE,CAAC,CAAC;AAC9B;AAEO,MAAMmC,KAAK,GAAGD,eAAe,CAAS,EAAE,CAAC;AAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_schema@0.0.
|
|
2
|
-
import * as compositions_1 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_schema@0.0.
|
|
3
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_schema@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_schema@0.0.1111/dist/schema.composition.js';
|
|
2
|
+
import * as compositions_1 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_schema@0.0.1111/dist/mock/button/button.composition.js';
|
|
3
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.semantics_schema@0.0.1111/dist/schema.docs.mdx';
|
|
4
4
|
|
|
5
5
|
export const compositions = [compositions_0, compositions_1];
|
|
6
6
|
export const overview = [overview_0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SchemaAspect","Aspect","create","id"],"sources":["schema.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const SchemaAspect = Aspect.create({\n id: 'teambit.semantics/schema',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,YAAY,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACxCC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
|
package/dist/schema.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SchemaCommand","constructor","schema","component","logger","PATTERN_HELP","report","pattern","schemas","getSchemas","map","toStringPerType","join","json","toObject","host","getHost","ids","idsByPattern","components","getMany","longRunningLog","createLongProcessLogger","length","results","pMapSeries","logProgress","id","toString","getSchema","end"],"sources":["schema.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { ComponentMain } from '@teambit/component';\nimport pMapSeries from 'p-map-series';\nimport { Logger } from '@teambit/logger';\nimport { APISchema } from '@teambit/semantics.entities.semantic-schema';\nimport { PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport type { SchemaMain } from './schema.main.runtime';\n\nexport class SchemaCommand implements Command {\n name = 'schema <pattern>';\n description = 'shows the API schema of a certain component.';\n extendedDescription = `${PATTERN_HELP('schema')}`;\n group = 'development';\n options = [['j', 'json', 'return the component data in json format']] as CommandOptions;\n\n constructor(private schema: SchemaMain, private component: ComponentMain, private logger: Logger) {}\n\n async report([pattern]) {\n const schemas = await this.getSchemas([pattern]);\n return schemas.map((schema) => schema.toStringPerType()).join('\\n\\n\\n');\n }\n\n async json([pattern]) {\n const schemas = await this.getSchemas([pattern]);\n return schemas.map((schema) => schema.toObject());\n }\n\n private async getSchemas([pattern]): Promise<APISchema[]> {\n const host = this.component.getHost();\n const ids = await host.idsByPattern(pattern, true);\n const components = await host.getMany(ids);\n const longRunningLog = this.logger.createLongProcessLogger('generating schema', ids.length);\n const results = await pMapSeries(components, (component) => {\n longRunningLog.logProgress(component.id.toString());\n return this.schema.getSchema(component);\n });\n longRunningLog.end();\n return results;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGO,MAAMA,aAAa,CAAoB;EAO5CC,WAAW,CAASC,MAAkB,EAAUC,SAAwB,EAAUC,MAAc,EAAE;IAAA,KAA9EF,MAAkB,GAAlBA,MAAkB;IAAA,KAAUC,SAAwB,GAAxBA,SAAwB;IAAA,KAAUC,MAAc,GAAdA,MAAc;IAAA,8CANzF,kBAAkB;IAAA,qDACX,8CAA8C;IAAA,6DACrC,GAAE,IAAAC,yBAAY,EAAC,QAAQ,CAAE,EAAC;IAAA,+CACzC,aAAa;IAAA,iDACX,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,0CAA0C,CAAC,CAAC;EAE8B;EAEnG,MAAMC,MAAM,CAAC,CAACC,OAAO,CAAC,EAAE;IACtB,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC,CAACF,OAAO,CAAC,CAAC;IAChD,OAAOC,OAAO,CAACE,GAAG,CAAER,MAAM,IAAKA,MAAM,CAACS,eAAe,EAAE,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;EACzE;EAEA,MAAMC,IAAI,CAAC,CAACN,OAAO,CAAC,EAAE;IACpB,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC,CAACF,OAAO,CAAC,CAAC;IAChD,OAAOC,OAAO,CAACE,GAAG,CAAER,MAAM,IAAKA,MAAM,CAACY,QAAQ,EAAE,CAAC;EACnD;EAEA,MAAcL,UAAU,CAAC,CAACF,OAAO,CAAC,EAAwB;IACxD,MAAMQ,IAAI,GAAG,IAAI,CAACZ,SAAS,CAACa,OAAO,EAAE;IACrC,MAAMC,GAAG,GAAG,MAAMF,IAAI,CAACG,YAAY,CAACX,OAAO,EAAE,IAAI,CAAC;IAClD,MAAMY,UAAU,GAAG,MAAMJ,IAAI,CAACK,OAAO,CAACH,GAAG,CAAC;IAC1C,MAAMI,cAAc,GAAG,IAAI,CAACjB,MAAM,CAACkB,uBAAuB,CAAC,mBAAmB,EAAEL,GAAG,CAACM,MAAM,CAAC;IAC3F,MAAMC,OAAO,GAAG,MAAM,IAAAC,qBAAU,EAACN,UAAU,EAAGhB,SAAS,IAAK;MAC1DkB,cAAc,CAACK,WAAW,CAACvB,SAAS,CAACwB,EAAE,CAACC,QAAQ,EAAE,CAAC;MACnD,OAAO,IAAI,CAAC1B,MAAM,CAAC2B,SAAS,CAAC1B,SAAS,CAAC;IACzC,CAAC,CAAC;IACFkB,cAAc,CAACS,GAAG,EAAE;IACpB,OAAON,OAAO;EAChB;AACF;AAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["schema.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/code.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAE;EAAC,GAAG,EAAC;AAAkD,EAAG,CAEvF;AAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["schemaSchema","schema","typeDefs","gql","resolvers","JSONObject","GraphQLJSONObject","ComponentHost","getSchema","host","id","componentId","resolveComponentId","component","get","empty","exports","docs","toObject"],"sources":["schema.graphql.ts"],"sourcesContent":["import { ComponentFactory } from '@teambit/component';\nimport { GraphQLJSONObject } from 'graphql-type-json';\nimport gql from 'graphql-tag';\n\nimport { SchemaMain } from './schema.main.runtime';\n\nexport function schemaSchema(schema: SchemaMain) {\n return {\n typeDefs: gql`\n scalar JSONObject\n extend type ComponentHost {\n getSchema(id: String!): JSONObject\n }\n `,\n resolvers: {\n JSONObject: GraphQLJSONObject,\n ComponentHost: {\n getSchema: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n const empty = {\n exports: [],\n };\n\n if (!component) return empty;\n const docs = await schema.getSchema(component);\n if (!docs) return empty;\n\n return docs.toObject();\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,SAASA,YAAY,CAACC,MAAkB,EAAE;EAC/C,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,UAAU,EAAEC,oCAAiB;MAC7BC,aAAa,EAAE;QACbC,SAAS,EAAE,OAAOC,IAAsB,EAAE;UAAEC;QAAmB,CAAC,KAAK;UACnE,MAAMC,WAAW,GAAG,MAAMF,IAAI,CAACG,kBAAkB,CAACF,EAAE,CAAC;UACrD,MAAMG,SAAS,GAAG,MAAMJ,IAAI,CAACK,GAAG,CAACH,WAAW,CAAC;UAC7C,MAAMI,KAAK,GAAG;YACZC,OAAO,EAAE;UACX,CAAC;UAED,IAAI,CAACH,SAAS,EAAE,OAAOE,KAAK;UAC5B,MAAME,IAAI,GAAG,MAAMhB,MAAM,CAACO,SAAS,CAACK,SAAS,CAAC;UAC9C,IAAI,CAACI,IAAI,EAAE,OAAOF,KAAK;UAEvB,OAAOE,IAAI,CAACC,QAAQ,EAAE;QACxB;MACF;IACF;EACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_component","_interopRequireDefault","_harmony","_graphql","_envs","_logger","_semanticsEntities","_builder","_workspace","_schema","_schema2","_schema3","_schema4","_schema5","SchemaMain","constructor","parserSlot","envs","config","builder","workspace","logger","getDefaultParser","get","defaultParser","parseModule","path","parsers","toArray","maybeParser","find","parser","match","extension","getSchemaExtractor","component","tsserverPath","contextPath","env","getEnv","Error","name","undefined","getSchema","shouldDisposeResourcesOnceDone","alwaysRunExtractor","_env$getFormatter","formatter","getFormatter","call","setKey","schemaExtractor","result","extract","dispose","schemaArtifact","getArtifactsVinylByAspectAndTaskName","SchemaAspect","id","SCHEMA_TASK_NAME","length","debug","toString","APISchema","empty","schemaJsonStr","contents","schemaJson","JSON","parse","getSchemaFromObject","e","SyntaxError","error","message","obj","fromObject","registerParser","register","provider","cli","graphql","loggerMain","createLogger","schema","schemaTask","SchemaTask","registerBuildTasks","SchemaCommand","schemaSchema","registerService","SchemaService","exports","_defineProperty2","default","MainRuntime","EnvsAspect","CLIAspect","ComponentAspect","GraphqlAspect","LoggerAspect","BuilderAspect","WorkspaceAspect","Slot","withType","addRuntime","_default"],"sources":["schema.main.runtime.ts"],"sourcesContent":["import { MainRuntime, CLIMain, CLIAspect } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GraphqlAspect, { GraphqlMain } from '@teambit/graphql';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\nimport { APISchema, Export } from '@teambit/semantics.entities.semantic-schema';\nimport { BuilderMain, BuilderAspect } from '@teambit/builder';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { Formatter } from '@teambit/formatter';\nimport { Parser } from './parser';\nimport { SchemaAspect } from './schema.aspect';\nimport { SchemaExtractor } from './schema-extractor';\nimport { SchemaCommand } from './schema.cmd';\nimport { schemaSchema } from './schema.graphql';\nimport { SchemaTask, SCHEMA_TASK_NAME } from './schema.task';\nimport { SchemaService } from './schema.service';\n\nexport type ParserSlot = SlotRegistry<Parser>;\n\nexport type SchemaConfig = {\n /**\n * default parser\n */\n defaultParser: string;\n};\n\n/**\n * extension for extracting component schemas.\n */\nexport class SchemaMain {\n constructor(\n /**\n * parsers slot.\n */\n private parserSlot: ParserSlot,\n\n private envs: EnvsMain,\n\n private config: SchemaConfig,\n\n private builder: BuilderMain,\n\n private workspace: Workspace,\n\n private logger: Logger\n ) {}\n\n /**\n * get the default parser.\n */\n getDefaultParser(): Parser {\n return this.parserSlot.get(this.config.defaultParser) as Parser;\n }\n\n /**\n * parse a module into a component schema.\n */\n parseModule(path: string): Export[] {\n const parsers = this.parserSlot.toArray();\n let maybeParser = parsers.find(([, parser]) => {\n const match = path.match(parser.extension);\n return match;\n });\n\n if (!maybeParser) {\n maybeParser = [this.config.defaultParser, this.getDefaultParser()];\n }\n\n const [, parser] = maybeParser;\n return parser.parseModule(path);\n }\n\n getSchemaExtractor(component: Component, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n const env = this.envs.getEnv(component).env;\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n\n return env.getSchemaExtractor(undefined, tsserverPath, contextPath);\n }\n\n /**\n * get a schema of a component.\n * @param component target component.\n * @param shouldDisposeResourcesOnceDone for long-running processes, such as bit-start/bit-watch, this is not\n * relevant. for calling the API only to get a schema for one component, this is needed to ensure the ts-server is\n * not kept alive. otherwise, the process will never end.\n *\n */\n async getSchema(\n component: Component,\n shouldDisposeResourcesOnceDone = false,\n alwaysRunExtractor = false,\n tsserverPath?: string,\n contextPath?: string\n ): Promise<APISchema> {\n if (alwaysRunExtractor || this.workspace) {\n const env = this.envs.getEnv(component).env;\n // types need to be fixed\n const formatter: Formatter | undefined = env.getFormatter?.(null, [\n (config: PrettierConfigMutator) => {\n config.setKey('parser', 'typescript');\n return config;\n },\n ]);\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n const schemaExtractor: SchemaExtractor = env.getSchemaExtractor(undefined, tsserverPath, contextPath);\n\n const result = await schemaExtractor.extract(component, formatter);\n if (shouldDisposeResourcesOnceDone) schemaExtractor.dispose();\n\n return result;\n }\n\n // on scope get schema from builder api\n const schemaArtifact = await this.builder.getArtifactsVinylByAspectAndTaskName(\n component,\n SchemaAspect.id,\n SCHEMA_TASK_NAME\n );\n\n if (schemaArtifact.length === 0) {\n this.logger.debug(`no schema found for ${component.id.toString()}`);\n\n /**\n * return empty schema\n * when tag/snap without build\n * or backwards compatibility\n */\n return APISchema.empty(component.id);\n }\n\n const schemaJsonStr = schemaArtifact[0].contents.toString('utf-8');\n\n try {\n const schemaJson = JSON.parse(schemaJsonStr);\n return this.getSchemaFromObject(schemaJson);\n } catch (e) {\n if (e instanceof SyntaxError) {\n this.logger.error(e.message);\n throw new Error(`Invalid schema.json for ${component.id}`);\n }\n throw e;\n }\n }\n\n getSchemaFromObject(obj: Record<string, any>): APISchema {\n return APISchema.fromObject(obj);\n }\n\n /**\n * register a new parser.\n */\n registerParser(parser: Parser): SchemaMain {\n this.parserSlot.register(parser);\n return this;\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n CLIAspect,\n ComponentAspect,\n GraphqlAspect,\n LoggerAspect,\n BuilderAspect,\n WorkspaceAspect,\n ];\n static slots = [Slot.withType<Parser>()];\n\n static defaultConfig = {\n defaultParser: 'teambit.typescript/typescript',\n };\n\n static async provider(\n [envs, cli, component, graphql, loggerMain, builder, workspace]: [\n EnvsMain,\n CLIMain,\n ComponentMain,\n GraphqlMain,\n LoggerMain,\n BuilderMain,\n Workspace\n ],\n config: SchemaConfig,\n [parserSlot]: [ParserSlot]\n ) {\n const logger = loggerMain.createLogger(SchemaAspect.id);\n const schema = new SchemaMain(parserSlot, envs, config, builder, workspace, logger);\n const schemaTask = new SchemaTask(SchemaAspect.id, schema, logger);\n builder.registerBuildTasks([schemaTask]);\n cli.register(new SchemaCommand(schema, component, logger));\n graphql.register(schemaSchema(schema));\n envs.registerService(new SchemaService());\n\n // workspace.onComponentLoad(async (component) => {\n // const apiSchema = await schema.getSchema(component);\n // return {};\n // });\n\n return schema;\n }\n}\n\nSchemaAspect.addRuntime(SchemaMain);\n\nexport default SchemaMain;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["SchemaMain","constructor","parserSlot","envs","config","builder","workspace","logger","getDefaultParser","get","defaultParser","parseModule","path","parsers","toArray","maybeParser","find","parser","match","extension","getSchemaExtractor","component","tsserverPath","contextPath","env","getEnv","Error","name","undefined","getSchema","shouldDisposeResourcesOnceDone","alwaysRunExtractor","formatter","getFormatter","setKey","schemaExtractor","result","extract","dispose","schemaArtifact","getArtifactsVinylByAspectAndTaskName","SchemaAspect","id","SCHEMA_TASK_NAME","length","debug","toString","APISchema","empty","schemaJsonStr","contents","schemaJson","JSON","parse","getSchemaFromObject","e","SyntaxError","error","message","obj","fromObject","registerParser","register","provider","cli","graphql","loggerMain","createLogger","schema","schemaTask","SchemaTask","registerBuildTasks","SchemaCommand","schemaSchema","registerService","SchemaService","MainRuntime","EnvsAspect","CLIAspect","ComponentAspect","GraphqlAspect","LoggerAspect","BuilderAspect","WorkspaceAspect","Slot","withType","addRuntime"],"sources":["schema.main.runtime.ts"],"sourcesContent":["import { MainRuntime, CLIMain, CLIAspect } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GraphqlAspect, { GraphqlMain } from '@teambit/graphql';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { PrettierConfigMutator } from '@teambit/defender.prettier.config-mutator';\nimport { APISchema, Export } from '@teambit/semantics.entities.semantic-schema';\nimport { BuilderMain, BuilderAspect } from '@teambit/builder';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { Formatter } from '@teambit/formatter';\nimport { Parser } from './parser';\nimport { SchemaAspect } from './schema.aspect';\nimport { SchemaExtractor } from './schema-extractor';\nimport { SchemaCommand } from './schema.cmd';\nimport { schemaSchema } from './schema.graphql';\nimport { SchemaTask, SCHEMA_TASK_NAME } from './schema.task';\nimport { SchemaService } from './schema.service';\n\nexport type ParserSlot = SlotRegistry<Parser>;\n\nexport type SchemaConfig = {\n /**\n * default parser\n */\n defaultParser: string;\n};\n\n/**\n * extension for extracting component schemas.\n */\nexport class SchemaMain {\n constructor(\n /**\n * parsers slot.\n */\n private parserSlot: ParserSlot,\n\n private envs: EnvsMain,\n\n private config: SchemaConfig,\n\n private builder: BuilderMain,\n\n private workspace: Workspace,\n\n private logger: Logger\n ) {}\n\n /**\n * get the default parser.\n */\n getDefaultParser(): Parser {\n return this.parserSlot.get(this.config.defaultParser) as Parser;\n }\n\n /**\n * parse a module into a component schema.\n */\n parseModule(path: string): Export[] {\n const parsers = this.parserSlot.toArray();\n let maybeParser = parsers.find(([, parser]) => {\n const match = path.match(parser.extension);\n return match;\n });\n\n if (!maybeParser) {\n maybeParser = [this.config.defaultParser, this.getDefaultParser()];\n }\n\n const [, parser] = maybeParser;\n return parser.parseModule(path);\n }\n\n getSchemaExtractor(component: Component, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n const env = this.envs.getEnv(component).env;\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n\n return env.getSchemaExtractor(undefined, tsserverPath, contextPath);\n }\n\n /**\n * get a schema of a component.\n * @param component target component.\n * @param shouldDisposeResourcesOnceDone for long-running processes, such as bit-start/bit-watch, this is not\n * relevant. for calling the API only to get a schema for one component, this is needed to ensure the ts-server is\n * not kept alive. otherwise, the process will never end.\n *\n */\n async getSchema(\n component: Component,\n shouldDisposeResourcesOnceDone = false,\n alwaysRunExtractor = false,\n tsserverPath?: string,\n contextPath?: string\n ): Promise<APISchema> {\n if (alwaysRunExtractor || this.workspace) {\n const env = this.envs.getEnv(component).env;\n // types need to be fixed\n const formatter: Formatter | undefined = env.getFormatter?.(null, [\n (config: PrettierConfigMutator) => {\n config.setKey('parser', 'typescript');\n return config;\n },\n ]);\n if (typeof env.getSchemaExtractor === 'undefined') {\n throw new Error(`No SchemaExtractor defined for ${env.name}`);\n }\n const schemaExtractor: SchemaExtractor = env.getSchemaExtractor(undefined, tsserverPath, contextPath);\n\n const result = await schemaExtractor.extract(component, formatter);\n if (shouldDisposeResourcesOnceDone) schemaExtractor.dispose();\n\n return result;\n }\n\n // on scope get schema from builder api\n const schemaArtifact = await this.builder.getArtifactsVinylByAspectAndTaskName(\n component,\n SchemaAspect.id,\n SCHEMA_TASK_NAME\n );\n\n if (schemaArtifact.length === 0) {\n this.logger.debug(`no schema found for ${component.id.toString()}`);\n\n /**\n * return empty schema\n * when tag/snap without build\n * or backwards compatibility\n */\n return APISchema.empty(component.id);\n }\n\n const schemaJsonStr = schemaArtifact[0].contents.toString('utf-8');\n\n try {\n const schemaJson = JSON.parse(schemaJsonStr);\n return this.getSchemaFromObject(schemaJson);\n } catch (e) {\n if (e instanceof SyntaxError) {\n this.logger.error(e.message);\n throw new Error(`Invalid schema.json for ${component.id}`);\n }\n throw e;\n }\n }\n\n getSchemaFromObject(obj: Record<string, any>): APISchema {\n return APISchema.fromObject(obj);\n }\n\n /**\n * register a new parser.\n */\n registerParser(parser: Parser): SchemaMain {\n this.parserSlot.register(parser);\n return this;\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n EnvsAspect,\n CLIAspect,\n ComponentAspect,\n GraphqlAspect,\n LoggerAspect,\n BuilderAspect,\n WorkspaceAspect,\n ];\n static slots = [Slot.withType<Parser>()];\n\n static defaultConfig = {\n defaultParser: 'teambit.typescript/typescript',\n };\n\n static async provider(\n [envs, cli, component, graphql, loggerMain, builder, workspace]: [\n EnvsMain,\n CLIMain,\n ComponentMain,\n GraphqlMain,\n LoggerMain,\n BuilderMain,\n Workspace\n ],\n config: SchemaConfig,\n [parserSlot]: [ParserSlot]\n ) {\n const logger = loggerMain.createLogger(SchemaAspect.id);\n const schema = new SchemaMain(parserSlot, envs, config, builder, workspace, logger);\n const schemaTask = new SchemaTask(SchemaAspect.id, schema, logger);\n builder.registerBuildTasks([schemaTask]);\n cli.register(new SchemaCommand(schema, component, logger));\n graphql.register(schemaSchema(schema));\n envs.registerService(new SchemaService());\n\n // workspace.onComponentLoad(async (component) => {\n // const apiSchema = await schema.getSchema(component);\n // return {};\n // });\n\n return schema;\n }\n}\n\nSchemaAspect.addRuntime(SchemaMain);\n\nexport default SchemaMain;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SchemaService","
|
|
1
|
+
{"version":3,"names":["SchemaService","run","context","errors","transform","env","schemaExtractor","undefined","getSchemaExtractor"],"sources":["schema.service.ts"],"sourcesContent":["import { EnvService, ExecutionContext, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport { SchemaExtractor } from './schema-extractor';\n// import { APISchema } from './schema';\n\ntype SchemaTransformationMap = ServiceTransformationMap & {\n getSchemaExtractor: () => SchemaExtractor;\n};\nexport class SchemaService implements EnvService<{}> {\n name = 'schema';\n\n async run(context: ExecutionContext) {\n return { errors: [], context };\n }\n\n transform(env: Env, context: EnvContext): SchemaTransformationMap | undefined {\n // Old env\n if (!env?.schemaExtractor) return undefined;\n return {\n getSchemaExtractor: () => env.schemaExtractor()(context),\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAKO,MAAMA,aAAa,CAA2B;EAAA;IAAA,8CAC5C,QAAQ;EAAA;EAEf,MAAMC,GAAG,CAACC,OAAyB,EAAE;IACnC,OAAO;MAAEC,MAAM,EAAE,EAAE;MAAED;IAAQ,CAAC;EAChC;EAEAE,SAAS,CAACC,GAAQ,EAAEH,OAAmB,EAAuC;IAC5E;IACA,IAAI,EAACG,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEC,eAAe,GAAE,OAAOC,SAAS;IAC3C,OAAO;MACLC,kBAAkB,EAAE,MAAMH,GAAG,CAACC,eAAe,EAAE,CAACJ,OAAO;IACzD,CAAC;EACH;AACF;AAAC"}
|
package/dist/schema.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","_fsExtra","_chai","_interopRequireWildcard","_semanticsEntities","_chaiSubset","_tracker","_harmonyTesting","_workspaceTesting","_componentId","_workspace","_","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","chai","use","chaiSubset","describe","timeout","schema","workspace","workspaceData","before","mockWorkspace","workspacePath","console","log","loadAspect","SchemaAspect","after","destroyWorkspace","apiSchema","compDir","path","join","src","getMockDir","fs","copy","harmony","loadManyAspects","WorkspaceAspect","TrackerAspect","id","tracker","track","rootDir","defaultScope","bitMap","write","compId","resolveComponentId","comp","getSchema","it","results","toObject","expectedJsonPath","expectedJson","readJsonSync","expect","to","containSubset","jsonPath","json","getSchemaFromObject","APISchema","be","true","componentId","ComponentID","module","exports","UnknownSchema","location","deep","equal","file","line","character","getCurrentDir","currentDir","__dirname","endsWith","sep","slice"],"sources":["schema.spec.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport chai, { expect } from 'chai';\nimport { APISchema, UnknownSchema } from '@teambit/semantics.entities.semantic-schema';\nimport chaiSubset from 'chai-subset';\nimport TrackerAspect, { TrackerMain } from '@teambit/tracker';\nimport { loadAspect, loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport { mockWorkspace, destroyWorkspace, WorkspaceData } from '@teambit/workspace.testing.mock-workspace';\nimport { ComponentID } from '@teambit/component-id';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { SchemaMain } from './schema.main.runtime';\nimport { SchemaAspect } from '.';\n\nchai.use(chaiSubset);\n\ndescribe('SchemaAspect', function () {\n this.timeout(0);\n let schema: SchemaMain;\n let workspace: Workspace;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n // eslint-disable-next-line no-console\n console.log('workspace created at ', workspacePath);\n schema = await loadAspect(SchemaAspect, workspacePath);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n describe('getSchema()', () => {\n let apiSchema: APISchema;\n before(async () => {\n const { workspacePath } = workspaceData;\n const compDir = path.join(workspacePath, 'button');\n const src = path.join(getMockDir(), 'button');\n await fs.copy(src, compDir);\n const harmony = await loadManyAspects([WorkspaceAspect, SchemaAspect, TrackerAspect], workspacePath);\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n const tracker = harmony.get<TrackerMain>(TrackerAspect.id);\n await tracker.track({ rootDir: compDir, defaultScope: 'org.scope' });\n await workspace.bitMap.write();\n schema = harmony.get<SchemaMain>(SchemaAspect.id);\n const compId = await workspace.resolveComponentId('button');\n const comp = await workspace.get(compId);\n apiSchema = await schema.getSchema(comp, true);\n });\n it('should be able to generate JSON object with all schemas', async () => {\n const results = apiSchema.toObject();\n const expectedJsonPath = path.join(getMockDir(), 'button-schemas.json');\n // uncomment the next line temporarily to sync the expected json with new schema changes\n // fs.outputFileSync(expectedJsonPath, JSON.stringify(results, undefined, 2));\n const expectedJson = fs.readJsonSync(expectedJsonPath);\n // @ts-ignore it exists on Jest. for some reason ts assumes this is Jasmine.\n expect(results).to.to.containSubset(expectedJson);\n });\n });\n describe('getSchemaFromObject', () => {\n it('should be able to deserialize an JSON object to SchemaNode instances', () => {\n const jsonPath = path.join(getMockDir(), 'button-schemas.json');\n const json = fs.readJsonSync(jsonPath);\n const apiSchema = schema.getSchemaFromObject(json);\n expect(apiSchema instanceof APISchema).to.be.true;\n expect(apiSchema.componentId instanceof ComponentID).to.be.true;\n // @ts-ignore it exists on Jest. for some reason ts assumes this is Jasmine.\n expect(apiSchema.toObject()).to.containSubset(json);\n });\n it('should not throw when it does not recognize the schema', () => {\n const jsonPath = path.join(getMockDir(), 'button-old-schema.json');\n const json = fs.readJsonSync(jsonPath);\n const apiSchema = schema.getSchemaFromObject(json);\n expect(apiSchema instanceof APISchema).to.be.true;\n expect(apiSchema.module.exports[0] instanceof UnknownSchema).to.be.true;\n // @ts-ignore\n expect(apiSchema.module.exports[0].location).to.deep.equal({ file: 'index.ts', line: 21, character: 14 });\n });\n });\n});\n\nfunction getCurrentDir() {\n const currentDir = __dirname;\n if (currentDir.endsWith(`${path.sep}dist`)) return currentDir.slice(0, -5);\n return currentDir;\n}\n\nfunction getMockDir() {\n return path.join(getCurrentDir(), 'mock');\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["chai","use","chaiSubset","describe","timeout","schema","workspace","workspaceData","before","mockWorkspace","workspacePath","console","log","loadAspect","SchemaAspect","after","destroyWorkspace","apiSchema","compDir","path","join","src","getMockDir","fs","copy","harmony","loadManyAspects","WorkspaceAspect","TrackerAspect","get","id","tracker","track","rootDir","defaultScope","bitMap","write","compId","resolveComponentId","comp","getSchema","it","results","toObject","expectedJsonPath","expectedJson","readJsonSync","expect","to","containSubset","jsonPath","json","getSchemaFromObject","APISchema","be","true","componentId","ComponentID","module","exports","UnknownSchema","location","deep","equal","file","line","character","getCurrentDir","currentDir","__dirname","endsWith","sep","slice"],"sources":["schema.spec.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport chai, { expect } from 'chai';\nimport { APISchema, UnknownSchema } from '@teambit/semantics.entities.semantic-schema';\nimport chaiSubset from 'chai-subset';\nimport TrackerAspect, { TrackerMain } from '@teambit/tracker';\nimport { loadAspect, loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport { mockWorkspace, destroyWorkspace, WorkspaceData } from '@teambit/workspace.testing.mock-workspace';\nimport { ComponentID } from '@teambit/component-id';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { SchemaMain } from './schema.main.runtime';\nimport { SchemaAspect } from '.';\n\nchai.use(chaiSubset);\n\ndescribe('SchemaAspect', function () {\n this.timeout(0);\n let schema: SchemaMain;\n let workspace: Workspace;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n // eslint-disable-next-line no-console\n console.log('workspace created at ', workspacePath);\n schema = await loadAspect(SchemaAspect, workspacePath);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n describe('getSchema()', () => {\n let apiSchema: APISchema;\n before(async () => {\n const { workspacePath } = workspaceData;\n const compDir = path.join(workspacePath, 'button');\n const src = path.join(getMockDir(), 'button');\n await fs.copy(src, compDir);\n const harmony = await loadManyAspects([WorkspaceAspect, SchemaAspect, TrackerAspect], workspacePath);\n workspace = harmony.get<Workspace>(WorkspaceAspect.id);\n const tracker = harmony.get<TrackerMain>(TrackerAspect.id);\n await tracker.track({ rootDir: compDir, defaultScope: 'org.scope' });\n await workspace.bitMap.write();\n schema = harmony.get<SchemaMain>(SchemaAspect.id);\n const compId = await workspace.resolveComponentId('button');\n const comp = await workspace.get(compId);\n apiSchema = await schema.getSchema(comp, true);\n });\n it('should be able to generate JSON object with all schemas', async () => {\n const results = apiSchema.toObject();\n const expectedJsonPath = path.join(getMockDir(), 'button-schemas.json');\n // uncomment the next line temporarily to sync the expected json with new schema changes\n // fs.outputFileSync(expectedJsonPath, JSON.stringify(results, undefined, 2));\n const expectedJson = fs.readJsonSync(expectedJsonPath);\n // @ts-ignore it exists on Jest. for some reason ts assumes this is Jasmine.\n expect(results).to.to.containSubset(expectedJson);\n });\n });\n describe('getSchemaFromObject', () => {\n it('should be able to deserialize an JSON object to SchemaNode instances', () => {\n const jsonPath = path.join(getMockDir(), 'button-schemas.json');\n const json = fs.readJsonSync(jsonPath);\n const apiSchema = schema.getSchemaFromObject(json);\n expect(apiSchema instanceof APISchema).to.be.true;\n expect(apiSchema.componentId instanceof ComponentID).to.be.true;\n // @ts-ignore it exists on Jest. for some reason ts assumes this is Jasmine.\n expect(apiSchema.toObject()).to.containSubset(json);\n });\n it('should not throw when it does not recognize the schema', () => {\n const jsonPath = path.join(getMockDir(), 'button-old-schema.json');\n const json = fs.readJsonSync(jsonPath);\n const apiSchema = schema.getSchemaFromObject(json);\n expect(apiSchema instanceof APISchema).to.be.true;\n expect(apiSchema.module.exports[0] instanceof UnknownSchema).to.be.true;\n // @ts-ignore\n expect(apiSchema.module.exports[0].location).to.deep.equal({ file: 'index.ts', line: 21, character: 14 });\n });\n });\n});\n\nfunction getCurrentDir() {\n const currentDir = __dirname;\n if (currentDir.endsWith(`${path.sep}dist`)) return currentDir.slice(0, -5);\n return currentDir;\n}\n\nfunction getMockDir() {\n return path.join(getCurrentDir(), 'mock');\n}\n"],"mappings":"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"}
|
package/dist/schema.task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SCHEMA_TASK_NAME","SCHEMA_ARTIFACT_NAME","SchemaTask","constructor","aspectId","schema","logger","execute","context","startTime","Date","now","capsules","capsuleNetwork","seedersCapsules","schemaResult","rootDir","capsulesRootDir","pMapSeries","capsule","component","getSchema","path","schemaObj","toObject","fs","outputFile","join","getSchemaArtifactPath","JSON","stringify","push","endTime","e","warn","id","toString","Error","warnings","message","artifacts","getSchemaArtifactDef","componentsResults","CAPSULE_ARTIFACTS_DIR","def","name","globPatterns"],"sources":["schema.task.ts"],"sourcesContent":["import {\n BuildContext,\n BuiltTaskResult,\n BuildTask,\n TaskLocation,\n CAPSULE_ARTIFACTS_DIR,\n ComponentResult,\n ArtifactDefinition,\n} from '@teambit/builder';\nimport { Logger } from '@teambit/logger';\nimport fs from 'fs-extra';\nimport pMapSeries from 'p-map-series';\nimport { join } from 'path';\nimport { SchemaMain } from './schema.main.runtime';\n\nexport const SCHEMA_TASK_NAME = 'ExtractSchema';\nexport const SCHEMA_ARTIFACT_NAME = 'schema';\n\n/**\n * extract and persist the component schema as a json file\n */\nexport class SchemaTask implements BuildTask {\n readonly name = SCHEMA_TASK_NAME;\n readonly location: TaskLocation = 'end';\n readonly description = 'extract api schema for a set of components';\n\n constructor(readonly aspectId: string, private schema: SchemaMain, private logger: Logger) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const startTime = Date.now();\n const capsules = context.capsuleNetwork.seedersCapsules;\n const schemaResult: ComponentResult[] = [];\n const rootDir = context.capsuleNetwork.capsulesRootDir;\n await pMapSeries(capsules, async (capsule) => {\n const component = capsule.component;\n try {\n const schema = await this.schema.getSchema(component, false, true, rootDir, capsule.path);\n const schemaObj = schema.toObject();\n await fs.outputFile(join(capsule.path, getSchemaArtifactPath()), JSON.stringify(schemaObj, null, 2));\n schemaResult.push({\n component,\n startTime,\n endTime: Date.now(),\n });\n } catch (e) {\n this.logger.warn(`failed extracting schema for ${component.id.toString()}`);\n /**\n * @todo once schema extractor is more stable change this to an error\n */\n if (e instanceof Error) {\n schemaResult.push({\n component,\n startTime,\n endTime: Date.now(),\n warnings: [e.message],\n });\n }\n }\n });\n return {\n artifacts: [getSchemaArtifactDef()],\n componentsResults: schemaResult,\n };\n }\n}\n\nexport function getSchemaArtifactPath() {\n return join(CAPSULE_ARTIFACTS_DIR, 'schema.json');\n}\n\nexport function getSchemaArtifactDef() {\n const def: ArtifactDefinition = {\n name: SCHEMA_ARTIFACT_NAME,\n rootDir: CAPSULE_ARTIFACTS_DIR,\n globPatterns: ['schema.json'],\n };\n\n return def;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAUA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGO,MAAMA,gBAAgB,GAAG,eAAe;AAAC;AACzC,MAAMC,oBAAoB,GAAG,QAAQ;;AAE5C;AACA;AACA;AAFA;AAGO,MAAMC,UAAU,CAAsB;EAK3CC,WAAW,CAAUC,QAAgB,EAAUC,MAAkB,EAAUC,MAAc,EAAE;IAAA,KAAtEF,QAAgB,GAAhBA,QAAgB;IAAA,KAAUC,MAAkB,GAAlBA,MAAkB;IAAA,KAAUC,MAAc,GAAdA,MAAc;IAAA,8CAJzEN,gBAAgB;IAAA,kDACE,KAAK;IAAA,qDAChB,4CAA4C;EAEyB;EAE5F,MAAMO,OAAO,CAACC,OAAqB,EAA4B;IAC7D,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,EAAE;IAC5B,MAAMC,QAAQ,GAAGJ,OAAO,CAACK,cAAc,CAACC,eAAe;IACvD,MAAMC,YAA+B,GAAG,EAAE;IAC1C,MAAMC,OAAO,GAAGR,OAAO,CAACK,cAAc,CAACI,eAAe;IACtD,MAAM,IAAAC,qBAAU,EAACN,QAAQ,EAAE,MAAOO,OAAO,IAAK;MAC5C,MAAMC,SAAS,GAAGD,OAAO,CAACC,SAAS;MACnC,IAAI;QACF,MAAMf,MAAM,GAAG,MAAM,IAAI,CAACA,MAAM,CAACgB,SAAS,CAACD,SAAS,EAAE,KAAK,EAAE,IAAI,EAAEJ,OAAO,EAAEG,OAAO,CAACG,IAAI,CAAC;QACzF,MAAMC,SAAS,GAAGlB,MAAM,CAACmB,QAAQ,EAAE;QACnC,MAAMC,kBAAE,CAACC,UAAU,CAAC,IAAAC,YAAI,EAACR,OAAO,CAACG,IAAI,EAAEM,qBAAqB,EAAE,CAAC,EAAEC,IAAI,CAACC,SAAS,CAACP,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpGR,YAAY,CAACgB,IAAI,CAAC;UAChBX,SAAS;UACTX,SAAS;UACTuB,OAAO,EAAEtB,IAAI,CAACC,GAAG;QACnB,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOsB,CAAC,EAAE;QACV,IAAI,CAAC3B,MAAM,CAAC4B,IAAI,CAAE,gCAA+Bd,SAAS,CAACe,EAAE,CAACC,QAAQ,EAAG,EAAC,CAAC;QAC3E;AACR;AACA;QACQ,IAAIH,CAAC,YAAYI,KAAK,EAAE;UACtBtB,YAAY,CAACgB,IAAI,CAAC;YAChBX,SAAS;YACTX,SAAS;YACTuB,OAAO,EAAEtB,IAAI,CAACC,GAAG,EAAE;YACnB2B,QAAQ,EAAE,CAACL,CAAC,CAACM,OAAO;UACtB,CAAC,CAAC;QACJ;MACF;IACF,CAAC,CAAC;IACF,OAAO;MACLC,SAAS,EAAE,CAACC,oBAAoB,EAAE,CAAC;MACnCC,iBAAiB,EAAE3B;IACrB,CAAC;EACH;AACF;AAAC;AAEM,SAASa,qBAAqB,GAAG;EACtC,OAAO,IAAAD,YAAI,EAACgB,gCAAqB,EAAE,aAAa,CAAC;AACnD;AAEO,SAASF,oBAAoB,GAAG;EACrC,MAAMG,GAAuB,GAAG;IAC9BC,IAAI,EAAE5C,oBAAoB;IAC1Be,OAAO,EAAE2B,gCAAqB;IAC9BG,YAAY,EAAE,CAAC,aAAa;EAC9B,CAAC;EAED,OAAOF,GAAG;AACZ"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/schema",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1111",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/semantics/schema",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.semantics",
|
|
8
8
|
"name": "schema",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.1111"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"p-map-series": "2.1.0",
|
|
@@ -18,15 +18,15 @@
|
|
|
18
18
|
"@teambit/harmony": "0.4.6",
|
|
19
19
|
"@teambit/base-react.navigation.link": "2.0.27",
|
|
20
20
|
"@teambit/semantics.entities.semantic-schema": "0.0.53",
|
|
21
|
-
"@teambit/envs": "0.0.
|
|
22
|
-
"@teambit/component": "0.0.
|
|
23
|
-
"@teambit/formatter": "0.0.
|
|
24
|
-
"@teambit/cli": "0.0.
|
|
25
|
-
"@teambit/logger": "0.0.
|
|
26
|
-
"@teambit/builder": "0.0.
|
|
21
|
+
"@teambit/envs": "0.0.1111",
|
|
22
|
+
"@teambit/component": "0.0.1111",
|
|
23
|
+
"@teambit/formatter": "0.0.662",
|
|
24
|
+
"@teambit/cli": "0.0.743",
|
|
25
|
+
"@teambit/logger": "0.0.836",
|
|
26
|
+
"@teambit/builder": "0.0.1111",
|
|
27
27
|
"@teambit/defender.prettier.config-mutator": "0.0.90",
|
|
28
|
-
"@teambit/graphql": "0.0.
|
|
29
|
-
"@teambit/workspace": "0.0.
|
|
28
|
+
"@teambit/graphql": "0.0.1111",
|
|
29
|
+
"@teambit/workspace": "0.0.1111"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/react": "^17.0.8",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"@types/jest": "^26.0.0",
|
|
41
41
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
42
42
|
"@teambit/component-id": "0.0.427",
|
|
43
|
-
"@teambit/harmony.testing.load-aspect": "0.0.
|
|
44
|
-
"@teambit/tracker": "0.0.
|
|
43
|
+
"@teambit/harmony.testing.load-aspect": "0.0.105",
|
|
44
|
+
"@teambit/tracker": "0.0.142",
|
|
45
45
|
"@teambit/workspace.testing.mock-workspace": "0.0.14"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@teambit/legacy": "1.0.
|
|
48
|
+
"@teambit/legacy": "1.0.523",
|
|
49
49
|
"react": "^16.8.0 || ^17.0.0",
|
|
50
50
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
51
51
|
},
|
|
Binary file
|