@magmamath/students-features 1.3.12-rc.2 → 1.3.12
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/.claude/settings.local.json +25 -0
- package/.editorconfig +15 -0
- package/.eslintignore +2 -0
- package/.eslintrc +22 -0
- package/.gitattributes +3 -0
- package/.github/actions/setup/action.yml +37 -0
- package/.github/workflows/ci.yml +73 -0
- package/.gitignore +84 -0
- package/.idea/.gitignore +8 -0
- package/.idea/codeStyles/Project.xml +62 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/copilot.data.migration.agent.xml +6 -0
- package/.idea/copilot.data.migration.ask.xml +6 -0
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/.idea/copilot.data.migration.edit.xml +6 -0
- package/.idea/inspectionProfiles/Project_Default.xml +8 -0
- package/.idea/jsLinters/eslint.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +7 -0
- package/.idea/students-features.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +675 -0
- package/.nvmrc +1 -0
- package/.prettierrc +11 -0
- package/.release-it.json +17 -0
- package/.watchmanconfig +1 -0
- package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +541 -0
- package/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +28 -0
- package/.yarn/releases/yarn-3.6.1.cjs +874 -0
- package/babel.config.js +5 -0
- package/bob.config.js +25 -0
- package/dist/commonjs/features/chatbot/helpers.js +5 -1
- package/dist/commonjs/features/chatbot/helpers.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js +1 -0
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js +1 -1
- package/dist/commonjs/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/header/NextUp.js +9 -5
- package/dist/commonjs/features/pmProgress/components/header/NextUp.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js +1 -1
- package/dist/commonjs/features/pmProgress/components/insights/PmInsights.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +1 -1
- package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js +1 -1
- package/dist/commonjs/features/pmProgress/components/standard/StandardTag.js.map +1 -1
- package/dist/commonjs/features/pmProgress/model/PmTreeModel.js +16 -18
- package/dist/commonjs/features/pmProgress/model/PmTreeModel.js.map +1 -1
- package/dist/commonjs/features/pmProgress/shared/pmProgress.constants.js +1 -1
- package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js +2 -6
- package/dist/commonjs/features/pmProgress/shared/pmProgress.helpers.js.map +1 -1
- package/dist/module/features/chatbot/helpers.js +5 -1
- package/dist/module/features/chatbot/helpers.js.map +1 -1
- package/dist/module/features/chatbot/model/ChatBotModel.js +1 -0
- package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/module/features/chatbot/types/model.types.js.map +1 -1
- package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js +1 -1
- package/dist/module/features/pmProgress/components/chart/components/SlicesPaths.js.map +1 -1
- package/dist/module/features/pmProgress/components/header/NextUp.js +10 -6
- package/dist/module/features/pmProgress/components/header/NextUp.js.map +1 -1
- package/dist/module/features/pmProgress/components/insights/PmInsights.js +1 -1
- package/dist/module/features/pmProgress/components/insights/PmInsights.js.map +1 -1
- package/dist/module/features/pmProgress/components/list/PmDomainList.js +1 -1
- package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -1
- package/dist/module/features/pmProgress/components/standard/StandardTag.js +1 -1
- package/dist/module/features/pmProgress/components/standard/StandardTag.js.map +1 -1
- package/dist/module/features/pmProgress/model/PmTreeModel.js +18 -20
- package/dist/module/features/pmProgress/model/PmTreeModel.js.map +1 -1
- package/dist/module/features/pmProgress/shared/pmProgress.constants.js +1 -1
- package/dist/module/features/pmProgress/shared/pmProgress.helpers.js +0 -2
- package/dist/module/features/pmProgress/shared/pmProgress.helpers.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +2 -0
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +1 -0
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/header/NextUp.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts +3 -3
- package/dist/typescript/commonjs/features/pmProgress/model/PmTreeModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts +1 -1
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts +0 -4
- package/dist/typescript/commonjs/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts +2 -0
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts +1 -0
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/header/NextUp.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts +3 -3
- package/dist/typescript/module/features/pmProgress/model/PmTreeModel.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts +1 -1
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts +0 -4
- package/dist/typescript/module/features/pmProgress/shared/pmProgress.helpers.d.ts.map +1 -1
- package/example/.expo/README.md +8 -0
- package/example/.expo/devices.json +3 -0
- package/example/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png +0 -0
- package/example/app.json +30 -0
- package/example/assets/adaptive-icon.png +0 -0
- package/example/assets/favicon.png +0 -0
- package/example/assets/icon.png +0 -0
- package/example/assets/splash-icon.png +0 -0
- package/example/babel.config.js +28 -0
- package/example/index.js +8 -0
- package/example/metro.config.js +18 -0
- package/example/package.json +25 -0
- package/example/src/App.tsx +8 -0
- package/example/tsconfig.json +6 -0
- package/package.json +1 -1
- package/src/features/chatbot/helpers.ts +2 -0
- package/src/features/chatbot/model/ChatBotModel.ts +1 -0
- package/src/features/chatbot/types/api.types.ts +2 -0
- package/src/features/chatbot/types/model.types.ts +1 -0
- package/src/features/pmProgress/components/chart/components/SlicesPaths.tsx +1 -1
- package/src/features/pmProgress/components/header/NextUp.tsx +13 -6
- package/src/features/pmProgress/components/insights/PmInsights.tsx +1 -1
- package/src/features/pmProgress/components/list/PmDomainList.tsx +1 -1
- package/src/features/pmProgress/components/standard/StandardTag.tsx +1 -1
- package/src/features/pmProgress/model/PmTreeModel.ts +17 -26
- package/src/features/pmProgress/shared/pmProgress.constants.ts +1 -1
- package/src/features/pmProgress/shared/pmProgress.helpers.ts +0 -11
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +34 -0
- package/yarn.lock +11101 -0
- package/dist/commonjs/features/pmProgress/hooks/useNextUpDomain.js +0 -42
- package/dist/commonjs/features/pmProgress/hooks/useNextUpDomain.js.map +0 -1
- package/dist/module/features/pmProgress/hooks/useNextUpDomain.js +0 -37
- package/dist/module/features/pmProgress/hooks/useNextUpDomain.js.map +0 -1
- package/dist/typescript/commonjs/features/pmProgress/hooks/useNextUpDomain.d.ts +0 -5
- package/dist/typescript/commonjs/features/pmProgress/hooks/useNextUpDomain.d.ts.map +0 -1
- package/dist/typescript/module/features/pmProgress/hooks/useNextUpDomain.d.ts +0 -5
- package/dist/typescript/module/features/pmProgress/hooks/useNextUpDomain.d.ts.map +0 -1
- package/src/features/pmProgress/hooks/useNextUpDomain.ts +0 -31
|
@@ -245,6 +245,7 @@ export class ChatbotModel {
|
|
|
245
245
|
imageAltText: context.imageDescription,
|
|
246
246
|
imageCdnId: context.imageCdnId,
|
|
247
247
|
conversationId: cache[key].conversationId,
|
|
248
|
+
assignmentGrade: context.assignmentGrade,
|
|
248
249
|
...(isFreeText && { freeTextMessage: message }),
|
|
249
250
|
...(context.assignmentId && {
|
|
250
251
|
chatHistory: {
|
|
@@ -64,6 +64,7 @@ export type PostMessagePayload = {
|
|
|
64
64
|
freeTextMessage?: string
|
|
65
65
|
conversationId?: string | null
|
|
66
66
|
chatHistory?: ChatHistory
|
|
67
|
+
assignmentGrade?: number
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
export type PostMessageResponse = {
|
|
@@ -128,6 +129,7 @@ export type ChatHintPayload = {
|
|
|
128
129
|
hintNumber: number
|
|
129
130
|
studentInput: string
|
|
130
131
|
answerOptions?: string[]
|
|
132
|
+
assignmentGrade?: number
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
export type ChatHintResponse = {
|
|
@@ -20,7 +20,7 @@ export const SlicesPaths = ({ slices, pieChartManager, config }: SlicesPathsProp
|
|
|
20
20
|
const [hoveredId, expandedId, domains] = useUnit([
|
|
21
21
|
model.highlight.$hoveredId,
|
|
22
22
|
model.highlight.$expandedId,
|
|
23
|
-
model.tree.$
|
|
23
|
+
model.tree.$domains,
|
|
24
24
|
])
|
|
25
25
|
|
|
26
26
|
const highlightedId = hoveredId ?? expandedId
|
|
@@ -4,26 +4,33 @@ import { COLORS, HeadingVariants, SPACING, Typography } from '@magmamath/react-n
|
|
|
4
4
|
import { SketchArrowRight } from '../../../../shared/icons/SketchArrowRight'
|
|
5
5
|
import { SliceDiamondIcon } from '../../../../shared/icons/SliceDiamondIcon'
|
|
6
6
|
import { useText } from '../../../../shared/translation'
|
|
7
|
-
import { useUnit } from 'effector-react'
|
|
7
|
+
import { useUnit, useStoreMap } from 'effector-react'
|
|
8
8
|
import { usePmProgress } from '../../context/PmProgressContext'
|
|
9
|
+
import { isFluencyDomain } from '../../shared/pmProgress.helpers'
|
|
9
10
|
import { OpeningLoaderId, SolvingFlow } from '../../shared/pmProgress.constants'
|
|
10
11
|
import { StartButton } from './StartButton'
|
|
11
|
-
import { useNextUpDomain } from '../../hooks/useNextUpDomain'
|
|
12
12
|
|
|
13
13
|
export const NextUp = () => {
|
|
14
14
|
const t = useText()
|
|
15
15
|
const { model, onStartPress } = usePmProgress()
|
|
16
|
-
const nextUp = useNextUpDomain()
|
|
17
16
|
|
|
18
17
|
const status = useUnit(model.tree.$status)
|
|
19
18
|
const loaderOpeningId = useUnit(model.solving.$loaderOpeningId)
|
|
20
19
|
|
|
20
|
+
const nextUp = useStoreMap(model.tree.$domains, (domains) =>
|
|
21
|
+
domains.find((domain) => {
|
|
22
|
+
const isFluency = isFluencyDomain(domain.title)
|
|
23
|
+
const isDomainCompleted = domain.standards.every((standard) => standard.isCompleted)
|
|
24
|
+
return !isFluency && !isDomainCompleted
|
|
25
|
+
}),
|
|
26
|
+
)
|
|
27
|
+
|
|
21
28
|
const isLoading = loaderOpeningId === OpeningLoaderId.START_BUTTON
|
|
22
29
|
const isSkillOpeningActionPending = !!(loaderOpeningId !== null || status)
|
|
23
30
|
|
|
24
31
|
return (
|
|
25
32
|
<View style={styles.container}>
|
|
26
|
-
{nextUp
|
|
33
|
+
{nextUp && !status && (
|
|
27
34
|
<>
|
|
28
35
|
<View style={styles.content}>
|
|
29
36
|
<View style={styles.subtitle}>
|
|
@@ -33,10 +40,10 @@ export const NextUp = () => {
|
|
|
33
40
|
</View>
|
|
34
41
|
<View style={[styles.row, styles.tilted]}>
|
|
35
42
|
<Typography variant={HeadingVariants.H7} style={styles.muted}>
|
|
36
|
-
{nextUp
|
|
43
|
+
{nextUp?.title}
|
|
37
44
|
</Typography>
|
|
38
45
|
<View style={styles.diamond}>
|
|
39
|
-
<SliceDiamondIcon color={nextUp
|
|
46
|
+
<SliceDiamondIcon color={nextUp?.color} />
|
|
40
47
|
</View>
|
|
41
48
|
</View>
|
|
42
49
|
</View>
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
export const PmInsights = () => {
|
|
16
16
|
const { model } = usePmProgress()
|
|
17
17
|
const [chartSize, setChartSize] = useState(MAX_PIE_CHART_SIZE)
|
|
18
|
-
const chartData = useStoreMap(model.tree.$
|
|
18
|
+
const chartData = useStoreMap(model.tree.$domains, (domains) =>
|
|
19
19
|
domains.map((domain) => ({
|
|
20
20
|
value: 1,
|
|
21
21
|
fillPercent: Math.round(domain.scorePercentage),
|
|
@@ -11,7 +11,7 @@ import { SolvingFlow } from '../../shared/pmProgress.constants'
|
|
|
11
11
|
|
|
12
12
|
export const PmDomainList = () => {
|
|
13
13
|
const { model, onStandardPress } = usePmProgress()
|
|
14
|
-
const domains = useUnit(model.tree.$
|
|
14
|
+
const domains = useUnit(model.tree.$domains)
|
|
15
15
|
const expandedId = useUnit(model.highlight.$expandedId)
|
|
16
16
|
const hoveredId = useUnit(model.highlight.$hoveredId)
|
|
17
17
|
const loaderOpeningId = useUnit(model.solving.$loaderOpeningId)
|
|
@@ -118,7 +118,7 @@ type StandardTagProps = {
|
|
|
118
118
|
|
|
119
119
|
export const StandardTag = ({ skillId, model }: StandardTagProps) => {
|
|
120
120
|
const standardInfo = useStoreMap({
|
|
121
|
-
store: model.tree.$
|
|
121
|
+
store: model.tree.$domains,
|
|
122
122
|
keys: [skillId],
|
|
123
123
|
fn: (domains, [skillId]) => {
|
|
124
124
|
const domain = domains.find((d) => d.standards.some((s) => s.skillIds.includes(skillId)))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { attach,
|
|
1
|
+
import { attach, createEffect, createEvent, createStore, restore, sample } from 'effector'
|
|
2
2
|
import { createAction } from 'effector-action'
|
|
3
3
|
import {
|
|
4
4
|
Domain,
|
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
getInitialPmGrade,
|
|
19
19
|
getTreeGrades,
|
|
20
20
|
isTreeDataReady,
|
|
21
|
-
isTreeDataWithoutGradeReady,
|
|
22
21
|
} from '../shared/pmProgress.helpers'
|
|
23
22
|
import { TreeNormalizer } from '../shared/TreeNormalizer'
|
|
24
23
|
import { persist } from 'effector-storage/session'
|
|
@@ -31,14 +30,12 @@ export class PmTreeModel {
|
|
|
31
30
|
private readonly $user = createStore<User | null>(null)
|
|
32
31
|
|
|
33
32
|
private readonly setupInitialGrade = createEvent<SetupInitialGradeProps>()
|
|
33
|
+
private readonly setDomains = createEvent<Domain[]>()
|
|
34
34
|
public readonly setGrade = createEvent<number | null>()
|
|
35
35
|
|
|
36
36
|
public readonly $isInitialized = createStore(false)
|
|
37
37
|
public readonly $grade = restore(this.setGrade, null)
|
|
38
|
-
public readonly $domains =
|
|
39
|
-
public readonly $domainsInGrade = combine(this.$domains, this.$grade, (domains, grade) =>
|
|
40
|
-
grade !== null ? (domains[grade] ?? []) : [],
|
|
41
|
-
)
|
|
38
|
+
public readonly $domains = restore(this.setDomains, [])
|
|
42
39
|
public readonly $grades = createStore<Grade[]>([])
|
|
43
40
|
public readonly $status = createStore<PmProgressStatus | null>(null)
|
|
44
41
|
|
|
@@ -51,7 +48,7 @@ export class PmTreeModel {
|
|
|
51
48
|
this.setupFailedAndLockedStatus()
|
|
52
49
|
this.setupTreeInit()
|
|
53
50
|
this.setupGradeInit()
|
|
54
|
-
this.
|
|
51
|
+
this.setupDomainStructure()
|
|
55
52
|
}
|
|
56
53
|
|
|
57
54
|
public readonly initTreeFx = createEffect(async ({ user }: PmProgressGateProps) => {
|
|
@@ -153,28 +150,22 @@ export class PmTreeModel {
|
|
|
153
150
|
})
|
|
154
151
|
}
|
|
155
152
|
|
|
156
|
-
private
|
|
153
|
+
private setupDomainStructure() {
|
|
157
154
|
sample({
|
|
158
|
-
clock: this.initTreeFx.doneData,
|
|
159
|
-
source: { tree: this.$tree, stats: this.$stats, user: this.$user },
|
|
160
|
-
filter:
|
|
161
|
-
fn: ({ tree, stats, user }) => {
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const [treeWithStats] = enhanceProgressMatrixData(
|
|
168
|
-
treeNodes,
|
|
169
|
-
stats,
|
|
170
|
-
[{ entityId: user._id, name: user.fullName }],
|
|
171
|
-
grade.value,
|
|
172
|
-
)
|
|
173
|
-
return [grade.value, getDomainStructure(treeWithStats, tree.treeMapping)]
|
|
174
|
-
}),
|
|
155
|
+
clock: [this.$grade, this.initTreeFx.doneData],
|
|
156
|
+
source: { tree: this.$tree, stats: this.$stats, user: this.$user, grade: this.$grade },
|
|
157
|
+
filter: isTreeDataReady,
|
|
158
|
+
fn: ({ tree, stats, user, grade }) => {
|
|
159
|
+
const [treeWithUserStats] = enhanceProgressMatrixData(
|
|
160
|
+
Object.values(tree.treeMapping),
|
|
161
|
+
stats,
|
|
162
|
+
[{ entityId: user._id, name: user.fullName }],
|
|
163
|
+
grade as number,
|
|
175
164
|
)
|
|
165
|
+
|
|
166
|
+
return getDomainStructure(treeWithUserStats, tree.treeMapping)
|
|
176
167
|
},
|
|
177
|
-
target: this
|
|
168
|
+
target: this.setDomains,
|
|
178
169
|
})
|
|
179
170
|
}
|
|
180
171
|
}
|
|
@@ -171,14 +171,6 @@ type TreeDataReady = {
|
|
|
171
171
|
export const isTreeDataReady = (source: TreeDataSource): source is TreeDataReady =>
|
|
172
172
|
source.tree !== null && source.stats !== null && source.user !== null && source.grade !== null
|
|
173
173
|
|
|
174
|
-
type TreeDataWithoutGrade = Omit<TreeDataSource, 'grade'>
|
|
175
|
-
type TreeDataWithoutGradeReady = Omit<TreeDataReady, 'grade'>
|
|
176
|
-
|
|
177
|
-
export const isTreeDataWithoutGradeReady = (
|
|
178
|
-
source: TreeDataWithoutGrade,
|
|
179
|
-
): source is TreeDataWithoutGradeReady =>
|
|
180
|
-
source.tree !== null && source.stats !== null && source.user !== null
|
|
181
|
-
|
|
182
174
|
export const createChartConfig = (size: number): PieChartManagerConfig => {
|
|
183
175
|
const OUTER_MARGIN = 5
|
|
184
176
|
return {
|
|
@@ -269,9 +261,6 @@ export const withoutDuplicates = (skills: (Skill | undefined)[]): Skill[] => {
|
|
|
269
261
|
})
|
|
270
262
|
}
|
|
271
263
|
|
|
272
|
-
export const findDomainBySkillId = (skillId: string, domains: Domain[]): Domain | undefined =>
|
|
273
|
-
domains.find((d) => d.standards.some((s) => s.skillIds.includes(skillId)))
|
|
274
|
-
|
|
275
264
|
// Reorders grades starting from the given grade, wrapping around. [1,2,3] with start=2 → [2,3,1]
|
|
276
265
|
export const startGradesFrom = (grades: Grade[], startGrade: number): Grade[] => {
|
|
277
266
|
const index = grades.findIndex(({ value }) => value === startGrade)
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"paths": {
|
|
4
|
+
"@magmamath/students-features": ["./src/index"]
|
|
5
|
+
},
|
|
6
|
+
"target": "esnext",
|
|
7
|
+
"baseUrl": "./",
|
|
8
|
+
"lib": [
|
|
9
|
+
"dom",
|
|
10
|
+
"dom.iterable",
|
|
11
|
+
"esnext"
|
|
12
|
+
],
|
|
13
|
+
"declaration": true,
|
|
14
|
+
"allowJs": true,
|
|
15
|
+
"skipLibCheck": true,
|
|
16
|
+
"esModuleInterop": true,
|
|
17
|
+
"allowSyntheticDefaultImports": true,
|
|
18
|
+
"strict": true,
|
|
19
|
+
"forceConsistentCasingInFileNames": true,
|
|
20
|
+
"module": "esnext",
|
|
21
|
+
"moduleResolution": "node",
|
|
22
|
+
"resolveJsonModule": true,
|
|
23
|
+
"isolatedModules": true,
|
|
24
|
+
"jsx": "react",
|
|
25
|
+
"experimentalDecorators": true
|
|
26
|
+
},
|
|
27
|
+
"include": [
|
|
28
|
+
"src"
|
|
29
|
+
],
|
|
30
|
+
"exclude": [
|
|
31
|
+
"node_modules",
|
|
32
|
+
"example"
|
|
33
|
+
]
|
|
34
|
+
}
|