@teambit/pkg 0.0.566 → 0.0.570
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/exceptions/index.ts +3 -0
- package/exceptions/package-tar-filet-not-found.ts +8 -0
- package/exceptions/pkg-artifact-not-found.ts +8 -0
- package/exceptions/scope-not-found.ts +14 -0
- package/pack.cmd.tsx +68 -0
- package/package-dependency/index.ts +2 -0
- package/package-dependency/package-dependency-factory.ts +71 -0
- package/package-dependency/package-dependency.ts +20 -0
- package/package-tar/teambit-pkg-0.0.570.tgz +0 -0
- package/package.json +19 -34
- package/pkg.service.tsx +39 -0
- package/publish.cmd.tsx +57 -0
- package/types/asset.d.ts +29 -0
- package/types/style.d.ts +42 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentID } from '@teambit/component';
|
|
2
|
+
import { BitError } from '@teambit/bit-error';
|
|
3
|
+
|
|
4
|
+
export class PackageTarFiletNotFound extends BitError {
|
|
5
|
+
constructor(readonly componentId: ComponentID) {
|
|
6
|
+
super(`package tar file artifact for component ${componentId.toString()} was not found`);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentID } from '@teambit/component';
|
|
2
|
+
import { BitError } from '@teambit/bit-error';
|
|
3
|
+
|
|
4
|
+
export class PkgArtifactNotFound extends BitError {
|
|
5
|
+
constructor(readonly componentId: ComponentID) {
|
|
6
|
+
super(`pkg artifact for component ${componentId.toString()} was not found`);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BitError } from '@teambit/bit-error';
|
|
2
|
+
|
|
3
|
+
export class ScopeNotFound extends BitError {
|
|
4
|
+
constructor(readonly scopePath?: string) {
|
|
5
|
+
super(generateMessage(scopePath));
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function generateMessage(scopePath?: string) {
|
|
10
|
+
if (scopePath) {
|
|
11
|
+
return `scope not found at ${scopePath}`;
|
|
12
|
+
}
|
|
13
|
+
return 'scope not found';
|
|
14
|
+
}
|
package/pack.cmd.tsx
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
|
|
5
|
+
import { Packer, PackOptions } from './packer';
|
|
6
|
+
|
|
7
|
+
type PackArgs = [string, string];
|
|
8
|
+
type PackCmdOptions = {
|
|
9
|
+
outDir?: string;
|
|
10
|
+
override?: boolean;
|
|
11
|
+
prefix?: boolean;
|
|
12
|
+
keep?: boolean;
|
|
13
|
+
// useCapsule?: boolean;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export class PackCmd implements Command {
|
|
17
|
+
name = 'pack <componentId> [scopePath]';
|
|
18
|
+
description = 'create tar for npm publish';
|
|
19
|
+
options = [
|
|
20
|
+
['d', 'out-dir <out-dir>', 'directory to put the result tar file'],
|
|
21
|
+
['o', 'override', 'override existing pack file'],
|
|
22
|
+
['k', 'keep', 'should keep isolated environment [default = false]'],
|
|
23
|
+
['p', 'prefix', 'keep custom (binding) prefix'],
|
|
24
|
+
// ['c', 'use-capsule', 'isolate using the capsule and pack on the capsule'],
|
|
25
|
+
['j', 'json', 'return the output as JSON'],
|
|
26
|
+
] as CommandOptions;
|
|
27
|
+
shortDescription = '';
|
|
28
|
+
alias = '';
|
|
29
|
+
group = 'collaborate';
|
|
30
|
+
|
|
31
|
+
constructor(private packer: Packer) {}
|
|
32
|
+
|
|
33
|
+
async report(args: PackArgs, options: PackCmdOptions) {
|
|
34
|
+
const packResult = await this.json(args, options);
|
|
35
|
+
const warnings: any = packResult.data?.warnings || [];
|
|
36
|
+
const warningsOutput: any = warnings.map((warning) => chalk.yellow(warning)).join('\n');
|
|
37
|
+
const errors: any = packResult.data?.errors || [];
|
|
38
|
+
const errorsOutput: any = errors.map((error) => chalk.yellow(error)).join('\n');
|
|
39
|
+
const tarPathOutput = packResult.data.metadata?.tarPath
|
|
40
|
+
? chalk.green(`tar path for component ${packResult.data.id}: ${packResult.data.metadata?.tarPath}`)
|
|
41
|
+
: '';
|
|
42
|
+
return `${warningsOutput}\n${errorsOutput}\n${tarPathOutput}`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async json([componentId, scopePath]: PackArgs, options: PackCmdOptions) {
|
|
46
|
+
const compId = typeof componentId === 'string' ? componentId : componentId[0];
|
|
47
|
+
let scopePathStr: string | undefined;
|
|
48
|
+
if (scopePath) {
|
|
49
|
+
scopePathStr = typeof scopePath !== 'string' ? scopePath[0] : scopePath;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const concreteOpts: PackOptions = {
|
|
53
|
+
writeOptions: {
|
|
54
|
+
outDir: options.outDir,
|
|
55
|
+
override: options.override,
|
|
56
|
+
},
|
|
57
|
+
prefix: options.prefix,
|
|
58
|
+
keep: options.keep,
|
|
59
|
+
// useCapsule: options.useCapsule,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const packResult = await this.packer.packComponent(compId, scopePathStr, concreteOpts);
|
|
63
|
+
return {
|
|
64
|
+
data: packResult,
|
|
65
|
+
code: 0,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DependencyLifecycleType,
|
|
3
|
+
SerializedDependency,
|
|
4
|
+
DependencyFactory,
|
|
5
|
+
DependencyList,
|
|
6
|
+
} from '@teambit/dependency-resolver';
|
|
7
|
+
import LegacyComponent from '@teambit/legacy/dist/consumer/component';
|
|
8
|
+
import { PackageDependency, SerializedPackageDependency } from './package-dependency';
|
|
9
|
+
|
|
10
|
+
const TYPE = 'package';
|
|
11
|
+
// TODO: think about where is the right place to put this
|
|
12
|
+
export class PackageDependencyFactory implements DependencyFactory {
|
|
13
|
+
// parse<PackageDependency, SerializedDependency>(serialized: SerializedDependency): PackageDependency {
|
|
14
|
+
// return new PackageDependency(serialized.id, serialized.version, serialized.type, serialized.lifecycle as DependencyLifecycleType);
|
|
15
|
+
// }
|
|
16
|
+
type: string;
|
|
17
|
+
|
|
18
|
+
constructor() {
|
|
19
|
+
this.type = TYPE;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async parse<PackageDependency, S extends SerializedDependency>(serialized: S): Promise<PackageDependency> {
|
|
23
|
+
// return new PackageDependency(serialized.id, serialized.version, serialized.type, serialized.lifecycle as DependencyLifecycleType) as unknown as PackageDependency;
|
|
24
|
+
return (new PackageDependency(
|
|
25
|
+
serialized.id,
|
|
26
|
+
serialized.version,
|
|
27
|
+
serialized.lifecycle as DependencyLifecycleType,
|
|
28
|
+
serialized.source
|
|
29
|
+
) as unknown) as PackageDependency;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {
|
|
33
|
+
const runtimePackageDeps = transformLegacyComponentPackageDepsToSerializedDependency(
|
|
34
|
+
legacyComponent.packageDependencies,
|
|
35
|
+
'runtime'
|
|
36
|
+
);
|
|
37
|
+
const devPackageDeps = transformLegacyComponentPackageDepsToSerializedDependency(
|
|
38
|
+
legacyComponent.devPackageDependencies,
|
|
39
|
+
'dev'
|
|
40
|
+
);
|
|
41
|
+
const peerPackageDeps = transformLegacyComponentPackageDepsToSerializedDependency(
|
|
42
|
+
legacyComponent.peerPackageDependencies,
|
|
43
|
+
'peer'
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const serializedPackageDeps = runtimePackageDeps.concat(devPackageDeps).concat(peerPackageDeps);
|
|
47
|
+
const packageDepsP: Promise<PackageDependency>[] = serializedPackageDeps.map((dep) => this.parse(dep));
|
|
48
|
+
const packageDeps: PackageDependency[] = await Promise.all(packageDepsP);
|
|
49
|
+
const dependencyList = new DependencyList(packageDeps);
|
|
50
|
+
return dependencyList;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// parse: <PackageDependency, SerializedDependency>(serialized: SerializedDependency) => {
|
|
54
|
+
// return new PackageDependency(serialized.id, serialized.version, serialized.type, serialized.lifecycle as DependencyLifecycleType);
|
|
55
|
+
// }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function transformLegacyComponentPackageDepsToSerializedDependency(
|
|
59
|
+
packageDepObj: Record<string, string>,
|
|
60
|
+
lifecycle: DependencyLifecycleType
|
|
61
|
+
): SerializedPackageDependency[] {
|
|
62
|
+
const res = Object.entries(packageDepObj).map(([packageName, version]) => {
|
|
63
|
+
return {
|
|
64
|
+
id: packageName,
|
|
65
|
+
version,
|
|
66
|
+
__type: TYPE,
|
|
67
|
+
lifecycle,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
return res;
|
|
71
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseDependency,
|
|
3
|
+
SerializedDependency,
|
|
4
|
+
DependencyLifecycleType,
|
|
5
|
+
DependencySource,
|
|
6
|
+
} from '@teambit/dependency-resolver';
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
9
|
+
export interface SerializedPackageDependency extends SerializedDependency {}
|
|
10
|
+
|
|
11
|
+
export class PackageDependency extends BaseDependency {
|
|
12
|
+
constructor(id: string, version: string, lifecycle: DependencyLifecycleType, source?: DependencySource) {
|
|
13
|
+
super(id, version, lifecycle, source);
|
|
14
|
+
this._type = 'package';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getPackageName() {
|
|
18
|
+
return this.id;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/pkg",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.570",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/pkg/pkg",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.pkg",
|
|
8
8
|
"name": "pkg",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.570"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -22,20 +22,20 @@
|
|
|
22
22
|
"p-map-series": "2.1.0",
|
|
23
23
|
"@babel/runtime": "7.12.18",
|
|
24
24
|
"core-js": "^3.0.0",
|
|
25
|
-
"@teambit/cli": "0.0.
|
|
26
|
-
"@teambit/builder": "0.0.
|
|
27
|
-
"@teambit/logger": "0.0.
|
|
28
|
-
"@teambit/component": "0.0.
|
|
29
|
-
"@teambit/express": "0.0.
|
|
30
|
-
"@teambit/isolator": "0.0.
|
|
31
|
-
"@teambit/scope": "0.0.
|
|
32
|
-
"@teambit/graphql": "0.0.
|
|
33
|
-
"@teambit/bit-error": "0.0.
|
|
34
|
-
"@teambit/dependency-resolver": "0.0.
|
|
35
|
-
"@teambit/envs": "0.0.
|
|
36
|
-
"@teambit/workspace": "0.0.
|
|
37
|
-
"@teambit/compiler": "0.0.
|
|
38
|
-
"@teambit/legacy-bit-id": "0.0.
|
|
25
|
+
"@teambit/cli": "0.0.395",
|
|
26
|
+
"@teambit/builder": "0.0.570",
|
|
27
|
+
"@teambit/logger": "0.0.482",
|
|
28
|
+
"@teambit/component": "0.0.570",
|
|
29
|
+
"@teambit/express": "0.0.486",
|
|
30
|
+
"@teambit/isolator": "0.0.570",
|
|
31
|
+
"@teambit/scope": "0.0.570",
|
|
32
|
+
"@teambit/graphql": "0.0.570",
|
|
33
|
+
"@teambit/bit-error": "0.0.381",
|
|
34
|
+
"@teambit/dependency-resolver": "0.0.570",
|
|
35
|
+
"@teambit/envs": "0.0.570",
|
|
36
|
+
"@teambit/workspace": "0.0.570",
|
|
37
|
+
"@teambit/compiler": "0.0.570",
|
|
38
|
+
"@teambit/legacy-bit-id": "0.0.384"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/mime": "2.0.3",
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
"@types/jest": "^26.0.0",
|
|
48
48
|
"@types/react-dom": "^17.0.5",
|
|
49
49
|
"@types/node": "12.20.4",
|
|
50
|
-
"@teambit/pkg.aspect-docs.pkg": "0.0.
|
|
50
|
+
"@teambit/pkg.aspect-docs.pkg": "0.0.116"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"@teambit/legacy": "1.0.
|
|
53
|
+
"@teambit/legacy": "1.0.181",
|
|
54
54
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
55
55
|
"react": "^16.8.0 || ^17.0.0"
|
|
56
56
|
},
|
|
@@ -78,27 +78,12 @@
|
|
|
78
78
|
"react": "-"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
|
-
"@teambit/legacy": "1.0.
|
|
81
|
+
"@teambit/legacy": "1.0.181",
|
|
82
82
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
83
83
|
"react": "^16.8.0 || ^17.0.0"
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
},
|
|
87
|
-
"files": [
|
|
88
|
-
"dist",
|
|
89
|
-
"!dist/tsconfig.tsbuildinfo",
|
|
90
|
-
"**/*.md",
|
|
91
|
-
"**/*.mdx",
|
|
92
|
-
"**/*.js",
|
|
93
|
-
"**/*.json",
|
|
94
|
-
"**/*.sass",
|
|
95
|
-
"**/*.scss",
|
|
96
|
-
"**/*.less",
|
|
97
|
-
"**/*.css",
|
|
98
|
-
"**/*.css",
|
|
99
|
-
"**/*.jpeg",
|
|
100
|
-
"**/*.gif"
|
|
101
|
-
],
|
|
102
87
|
"private": false,
|
|
103
88
|
"engines": {
|
|
104
89
|
"node": ">=12.22.0"
|
package/pkg.service.tsx
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Text, Newline } from 'ink';
|
|
3
|
+
import { EnvService, EnvDefinition } from '@teambit/envs';
|
|
4
|
+
import highlight from 'cli-highlight';
|
|
5
|
+
|
|
6
|
+
export type PkgDescriptor = {
|
|
7
|
+
id: string;
|
|
8
|
+
displayName: string;
|
|
9
|
+
config?: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export class PkgService implements EnvService<{}, PkgDescriptor> {
|
|
13
|
+
name = 'Pkg';
|
|
14
|
+
|
|
15
|
+
async render(env: EnvDefinition) {
|
|
16
|
+
const descriptor = this.getDescriptor(env);
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<Text key={descriptor?.id}>
|
|
20
|
+
<Text color="cyan">configured package.json properties: </Text>
|
|
21
|
+
<Newline />
|
|
22
|
+
<Text>
|
|
23
|
+
{descriptor?.config && highlight(descriptor?.config, { language: 'javascript', ignoreIllegals: true })}
|
|
24
|
+
</Text>
|
|
25
|
+
<Newline />
|
|
26
|
+
</Text>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
getDescriptor(env: EnvDefinition): PkgDescriptor | undefined {
|
|
31
|
+
if (!env.env.getPackageJsonProps) return undefined;
|
|
32
|
+
const props = env.env.getPackageJsonProps();
|
|
33
|
+
return {
|
|
34
|
+
id: this.name,
|
|
35
|
+
config: props ? JSON.stringify(props, null, 2) : undefined,
|
|
36
|
+
displayName: this.name,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
package/publish.cmd.tsx
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ComponentResult } from '@teambit/builder';
|
|
2
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
|
|
5
|
+
import { Publisher, PublisherOptions } from './publisher';
|
|
6
|
+
|
|
7
|
+
type PublishArgs = [string];
|
|
8
|
+
|
|
9
|
+
export class PublishCmd implements Command {
|
|
10
|
+
name = 'publish <componentId>';
|
|
11
|
+
description = 'publish components to npm (npm publish)';
|
|
12
|
+
options = [
|
|
13
|
+
['d', 'dry-run', 'npm publish --dry-run'],
|
|
14
|
+
['', 'allow-staged', 'allow publish components that were not exported yet (not recommended)'],
|
|
15
|
+
['j', 'json', 'return the output as JSON'],
|
|
16
|
+
] as CommandOptions;
|
|
17
|
+
shortDescription = '';
|
|
18
|
+
alias = '';
|
|
19
|
+
private = true;
|
|
20
|
+
group = 'collaborate';
|
|
21
|
+
|
|
22
|
+
constructor(private publisher: Publisher) {}
|
|
23
|
+
|
|
24
|
+
async report(args: PublishArgs, options: PublisherOptions) {
|
|
25
|
+
const result = await this.json(args, options);
|
|
26
|
+
const publishResults: ComponentResult[] = result.data;
|
|
27
|
+
if (!publishResults.length) return 'no components were found candidate for publish';
|
|
28
|
+
|
|
29
|
+
const publishOrDryRun = options.dryRun ? 'dry-run' : 'published';
|
|
30
|
+
const title = chalk.white.bold(`successfully ${publishOrDryRun} the following components\n`);
|
|
31
|
+
const output = publishResults
|
|
32
|
+
.map((publishResult) => {
|
|
33
|
+
const compName = publishResult.component.id.toString();
|
|
34
|
+
const getData = () => {
|
|
35
|
+
if (publishResult.errors?.length) {
|
|
36
|
+
return chalk.red(publishResult.errors.join('\n'));
|
|
37
|
+
}
|
|
38
|
+
return chalk.green((publishResult.metadata?.publishedPackage as string) || '');
|
|
39
|
+
};
|
|
40
|
+
return `${chalk.bold(compName)}\n${getData()}\n`;
|
|
41
|
+
})
|
|
42
|
+
.join('\n');
|
|
43
|
+
return title + output;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async json(
|
|
47
|
+
[componentId]: PublishArgs,
|
|
48
|
+
options: PublisherOptions
|
|
49
|
+
): Promise<{ data: ComponentResult[]; code: number }> {
|
|
50
|
+
const compId = typeof componentId === 'string' ? componentId : componentId[0];
|
|
51
|
+
const packResult = await this.publisher.publish([compId], options);
|
|
52
|
+
return {
|
|
53
|
+
data: packResult,
|
|
54
|
+
code: 0,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
package/types/asset.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
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<SVGProps<SVGSVGElement> & { title?: string }>;
|
|
9
|
+
const src: string;
|
|
10
|
+
export default src;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// @TODO Gilad
|
|
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
|
+
}
|
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
|
+
}
|