build: build之前做type check

This commit is contained in:
roymondchen 2022-06-30 20:19:03 +08:00 committed by jia000
parent e1705c350e
commit 6d4323123f
36 changed files with 272 additions and 289 deletions

View File

@ -12,7 +12,7 @@
"@tmagic/form": "^1.0.0-rc.7",
"@tmagic/schema": "^1.0.0-rc.7",
"@tmagic/utils": "^1.0.0-rc.7",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"highlight.js": "^11.2.0",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",

View File

@ -17,7 +17,7 @@
"axios": "^0.27.2",
"axios-jsonp": "^1.0.4",
"core-js": "^3.20.0",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"js-cookie": "^3.0.0",
"moment": "^2.29.3",
"moment-timezone": "^0.5.34",

View File

@ -22,7 +22,7 @@
},
"license": "Apache-2.0",
"scripts": {
"build": "vite build"
"build": "vue-tsc --noEmit && vite build"
},
"engines": {
"node": ">=14"
@ -50,7 +50,7 @@
"@tmagic/utils": "1.0.2",
"buffer": "^6.0.3",
"color": "^3.1.3",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"events": "^3.3.0",
"gesto": "^1.7.0",
"keycon": "^1.1.2",
@ -61,7 +61,7 @@
},
"peerDependencies": {
"@tmagic/form": "1.0.2",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"monaco-editor": "^0.32.1",
"vue": "^3.2.0"
},
@ -78,6 +78,6 @@
"typescript": "^4.3.4",
"vite": "^2.3.7",
"vite-plugin-dts": "^0.9.6",
"vue-tsc": "^0.0.24"
"vue-tsc": "^0.38.2"
}
}

View File

@ -121,7 +121,7 @@ describe.skip('ToolButton', () => {
});
test('自定义display', () => {
const display = jest.fn();
const display = vi.fn();
getWrapper({
data: { display },
});
@ -137,7 +137,7 @@ describe.skip('ToolButton', () => {
setTimeout(async () => {
const dropDown = wrapper.findComponent(ElDropdown);
const handler = jest.fn();
const handler = vi.fn();
dropDown.vm.$emit('command', {
item: { handler },
});

View File

@ -22,7 +22,7 @@
},
"license": "Apache-2.0",
"scripts": {
"build": "vite build"
"build": "vue-tsc --noEmit && vite build"
},
"engines": {
"node": ">=14"
@ -34,14 +34,14 @@
"dependencies": {
"@element-plus/icons": "0.0.11",
"@tmagic/utils": "1.0.2",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"lodash-es": "^4.17.21",
"moment": "^2.29.2",
"sortablejs": "^1.14.0",
"vue": "^3.2.0"
},
"peerDependencies": {
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"vue": "^3.2.0"
},
"devDependencies": {
@ -57,6 +57,6 @@
"typescript": "^4.3.4",
"vite": "^2.3.7",
"vite-plugin-dts": "^0.9.6",
"vue-tsc": "^0.0.24"
"vue-tsc": "^0.38.2"
}
}

View File

@ -79,8 +79,9 @@ export default defineComponent({
if (typeof body === 'function' && props.model && mForm) {
body = body(mForm, {
model: props.model,
formValue: null,
formValue: mForm.values,
formValues: mForm.values,
config: props.config,
});
}
postOptions.data = body;

View File

@ -19,33 +19,14 @@
@change="changeHandler"
@visible-change="visibleHandler"
>
<template v-if="config.group">
<el-option-group v-for="(group, index) in options" :key="index" :label="group.label" :disabled="group.disabled">
<el-option
v-for="(item, index) in group.options"
:key="index"
:label="item.label"
:value="item.value"
:disabled="item.disabled"
>
</el-option>
</el-option-group>
</template>
<template v-else>
<el-option
v-for="option in options"
:label="option.text"
:value="option.value"
:key="config.valueKey ? option.value[config.valueKey] : option.value"
:disabled="option.disabled"
></el-option>
</template>
<template v-if="config.group"><select-option-groups :options="groupOptions"></select-option-groups></template>
<template v-else><select-options :options="options"></select-options></template>
<div v-loading="true" v-if="moreLoadingVisible"></div>
</el-select>
</template>
<script lang="ts">
import { defineComponent, inject, onBeforeMount, onMounted, PropType, ref, watch } from 'vue';
import { defineComponent, inject, onBeforeMount, onMounted, PropType, Ref, ref, watch } from 'vue';
import { ElSelect } from 'element-plus';
import { FormState, SelectConfig, SelectGroupOption, SelectOption } from '../schema';
@ -53,9 +34,14 @@ import { getConfig } from '../utils/config';
import fieldProps from '../utils/fieldProps';
import { useAddField } from '../utils/useAddField';
import SelectOptionGroups from './SelectOptionGroups.vue';
import SelectOptions from './SelectOptions.vue';
export default defineComponent({
name: 'm-fields-select',
components: { SelectOptions, SelectOptionGroups },
props: {
...fieldProps,
config: {
@ -344,7 +330,8 @@ export default defineComponent({
select,
loading,
remote,
options,
options: options as Ref<SelectOption[]>,
groupOptions: options as Ref<SelectGroupOption[]>,
moreLoadingVisible,
popperClass: mForm?.popperClass,

View File

@ -0,0 +1,20 @@
<template>
<el-option-group v-for="(group, index) in options" :key="index" :label="group.label" :disabled="group.disabled">
<el-option
v-for="(item, index) in group.options"
:key="index"
:label="item.label"
:value="item.value"
:disabled="item.disabled"
>
</el-option>
</el-option-group>
</template>
<script lang="ts" setup>
import { SelectGroupOption } from '../schema';
defineProps<{
options: SelectGroupOption[];
}>();
</script>

View File

@ -0,0 +1,18 @@
<template>
<el-option
v-for="option in options"
:label="option.text"
:value="option.value"
:key="valueKey ? option.value[valueKey] : option.value"
:disabled="option.disabled"
></el-option>
</template>
<script lang="ts" setup>
import { SelectOption } from '../schema';
defineProps<{
options: SelectOption[];
valueKey?: string;
}>();
</script>

View File

@ -184,7 +184,14 @@ export interface SelectGroupOption {
label: string;
/** 是否禁用该选项组 */
disabled: boolean;
options: SelectOption[];
options: {
/** 选项的标签 */
label: string | SelectOptionTextFunction;
/** 选项的值 */
value: any | SelectOptionValueFunction;
/** 是否禁用该选项 */
disabled?: boolean;
}[];
}
type SelectOptionFunction = (

View File

@ -15,14 +15,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
import MagicForm, { MForm } from '../../src';
describe('表单', () => {
it('初始化', (done) => {
test('初始化', (done) => {
const initValues = {};
const config = [
{

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -53,7 +53,7 @@ const getWrapper = (
});
describe('Tabs', () => {
it('基础', () => {
test('基础', () => {
const wrapper = getWrapper();
setTimeout(async (done) => {

View File

@ -16,6 +16,7 @@
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -42,7 +43,7 @@ const getWrapper = (
});
describe('Checkbox', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -52,7 +52,7 @@ const getWrapper = (
});
describe('CheckboxGroup', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -65,7 +65,7 @@ describe('CheckboxGroup', () => {
}, 0);
});
it('默认选中', (done) => {
test('默认选中', (done) => {
const wrapper = getWrapper(
[
{

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus, { ElColorPicker } from 'element-plus';
@ -42,7 +42,7 @@ const getWrapper = (
});
describe('ColorPicker', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -55,7 +55,7 @@ describe('ColorPicker', () => {
}, 0);
});
it('选择颜色', (done) => {
test('选择颜色', (done) => {
const wrapper = getWrapper([
{
type: 'color-picker',

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus, { ElInput } from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('Date', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -57,7 +57,7 @@ describe('Date', () => {
}, 0);
});
it('输入', (done) => {
test('输入', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -73,7 +73,7 @@ describe('Date', () => {
}, 0);
});
it('清空', (done) => {
test('清空', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus, { ElInput } from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('DateTime', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -57,7 +57,7 @@ describe('DateTime', () => {
}, 0);
});
it('错误类型初始化初始化', (done) => {
test('错误类型初始化初始化', (done) => {
const wrapper = getWrapper(
[
{
@ -79,7 +79,7 @@ describe('DateTime', () => {
}, 0);
});
it('无效值初始化', (done) => {
test('无效值初始化', (done) => {
const wrapper = getWrapper(
[
{
@ -100,7 +100,7 @@ describe('DateTime', () => {
done();
}, 0);
});
it('输入日期', (done) => {
test('输入日期', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -113,7 +113,7 @@ describe('DateTime', () => {
});
});
it('清空', (done) => {
test('清空', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -42,7 +42,7 @@ const getWrapper = (
});
describe('Daterange', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -56,7 +56,7 @@ describe('Daterange', () => {
});
});
it('基础初始化', (done) => {
test('基础初始化', (done) => {
const wrapper = getWrapper([{ type: 'daterange', text: 'daterange' }], {
daterange: [new Date('2021-7-30 00:00:00'), new Date('2021-7-30 12:00:00')],
});

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('Display', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -57,7 +57,7 @@ describe('Display', () => {
}, 0);
});
it('初始化', (done) => {
test('初始化', (done) => {
const wrapper = getWrapper(
[
{

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('Hidden', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -57,7 +57,7 @@ describe('Hidden', () => {
}, 0);
});
it('未设置name', (done) => {
test('未设置name', (done) => {
const wrapper = getWrapper([
{
type: 'hidden',

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus, { ElButton } from 'element-plus';
@ -46,7 +46,7 @@ const getWrapper = (
});
describe('Link', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(() => {
@ -63,7 +63,7 @@ describe('Link', () => {
}, 0);
});
it('默认文字', (done) => {
test('默认文字', (done) => {
const wrapper = getWrapper(
[
{
@ -92,7 +92,7 @@ describe('Link', () => {
}, 0);
});
it('displayText为函数', (done) => {
test('displayText为函数', (done) => {
const wrapper = getWrapper([
{
type: 'link',
@ -130,7 +130,7 @@ describe('Link', () => {
}, 0);
});
it('不可编辑', (done) => {
test('不可编辑', (done) => {
const wrapper = getWrapper(
[
{
@ -155,7 +155,7 @@ describe('Link', () => {
}, 0);
});
it('编辑链接', (done) => {
test('编辑链接', (done) => {
const wrapper = getWrapper([
{
type: 'link',

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('Number', () => {
it('基础功能', (done) => {
test('基础功能', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
const num = wrapper.findComponent(MNumber);
@ -55,7 +55,7 @@ describe('Number', () => {
}, 0);
});
it('默认值', (done) => {
test('默认值', (done) => {
const wrapper = getWrapper([
{
text: 'number',
@ -72,7 +72,7 @@ describe('Number', () => {
}, 0);
});
it('增加减少', (done) => {
test('增加减少', (done) => {
const wrapper = getWrapper([
{
text: 'number',
@ -103,7 +103,7 @@ describe('Number', () => {
});
});
it('最大最小值', (done) => {
test('最大最小值', (done) => {
const wrapper = getWrapper([
{
text: 'number',

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -52,7 +52,7 @@ const getWrapper = (
});
describe('RadioGroup', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -65,7 +65,7 @@ describe('RadioGroup', () => {
}, 0);
});
it('默认选中', (done) => {
test('默认选中', (done) => {
const wrapper = getWrapper(
[
{

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('Switch', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -57,7 +57,7 @@ describe('Switch', () => {
}, 0);
});
it('数字默认值', (done) => {
test('数字默认值', (done) => {
const wrapper = getWrapper([
{
type: 'switch',
@ -77,7 +77,7 @@ describe('Switch', () => {
}, 0);
});
it('点击开关', (done) => {
test('点击开关', (done) => {
const wrapper = getWrapper([
{
type: 'switch',

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus, { ElButton } from 'element-plus';
@ -50,7 +50,7 @@ const getWrapper = (
});
describe('Text', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -63,7 +63,7 @@ describe('Text', () => {
}, 0);
});
it('append string', (done) => {
test('append string', (done) => {
const wrapper = getWrapper([
{
text: 'text',
@ -79,7 +79,7 @@ describe('Text', () => {
}, 0);
});
it('append button', (done) => {
test('append button', (done) => {
// 用来标识append按钮是否有点击
let clickFlag = false;
const wrapper = getWrapper([
@ -105,7 +105,7 @@ describe('Text', () => {
}, 0);
});
it('key ArrowUp', (done) => {
test('key ArrowUp', (done) => {
const wrapper = getWrapper(
[
{
@ -131,7 +131,7 @@ describe('Text', () => {
}, 0);
});
it('key ArrowDown', (done) => {
test('key ArrowDown', (done) => {
const wrapper = getWrapper(
[
{
@ -157,7 +157,7 @@ describe('Text', () => {
}, 0);
});
it('key ctrlKey ArrowUp', (done) => {
test('key ctrlKey ArrowUp', (done) => {
const wrapper = getWrapper(
[
{
@ -184,7 +184,7 @@ describe('Text', () => {
}, 0);
});
it('key ctrlKey ArrowDown', (done) => {
test('key ctrlKey ArrowDown', (done) => {
const wrapper = getWrapper(
[
{
@ -211,7 +211,7 @@ describe('Text', () => {
}, 0);
});
it('key shiftKey ArrowUp', (done) => {
test('key shiftKey ArrowUp', (done) => {
const wrapper = getWrapper(
[
{
@ -238,7 +238,7 @@ describe('Text', () => {
}, 0);
});
it('key shiftKey ArrowDown', (done) => {
test('key shiftKey ArrowDown', (done) => {
const wrapper = getWrapper(
[
{
@ -265,7 +265,7 @@ describe('Text', () => {
}, 0);
});
it('key altKey ArrowUp', (done) => {
test('key altKey ArrowUp', (done) => {
const wrapper = getWrapper(
[
{
@ -292,7 +292,7 @@ describe('Text', () => {
}, 0);
});
it('key altKey ArrowDown', (done) => {
test('key altKey ArrowDown', (done) => {
const wrapper = getWrapper(
[
{

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('Textarea', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {

View File

@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { mount } from '@vue/test-utils';
import ElementPlus from 'element-plus';
@ -44,7 +44,7 @@ const getWrapper = (
});
describe('Time', () => {
it('基础', (done) => {
test('基础', (done) => {
const wrapper = getWrapper();
setTimeout(async () => {
@ -55,7 +55,7 @@ describe('Time', () => {
expect(input.exists()).toBe(true);
await input.setValue('12:00:00');
time.vm.$emit('change', '12:00:00');
time.vm.$emit('change', new Date('12:00:00'));
const value = await (wrapper.vm as any).submitForm();
expect(value.time).toMatch('12:00:00');
done();

View File

@ -15,6 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest';
describe('config.ts', () => {
let mockModule: any;
@ -26,28 +27,28 @@ describe('config.ts', () => {
// 在测试后都重置mock模块
afterEach(() => {
jest.resetModules();
vi.resetModules();
});
it('设置获取属性', () => {
test('设置获取属性', () => {
mockModule.setConfig({ text: 'form', model: { config: { text: 'test' } } });
expect(mockModule.getConfig('model')).toEqual({ config: { text: 'test' } });
});
it('获取不存在的属性', () => {
test('获取不存在的属性', () => {
expect(mockModule.getConfig('model')).toBeUndefined();
mockModule.setConfig({ text: 'form', model: { config: { text: 'test' } } });
expect(mockModule.getConfig('config')).toBeUndefined();
});
it('修改已经存在的form', () => {
test('修改已经存在的form', () => {
mockModule.setConfig({ text: 'form', model: { config: { text: 'test' } } });
expect(mockModule.getConfig('text')).toMatch('form');
mockModule.setConfig({ text: 'new-form', model: { config: { text: 'test' } } });
expect(mockModule.getConfig('text')).toMatch('new-form');
});
it('在未设置时获取Config', () => {
test('在未设置时获取Config', () => {
expect(mockModule.getConfig('model')).toBeUndefined();
});
});

View File

@ -16,17 +16,19 @@
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { FormConfig } from '@tmagic/form';
import createForm from '../../../src/utils/createForm';
describe('createForm', () => {
it('正常创建', () => {
test('正常创建', () => {
const config: FormConfig = [{ type: 'time' }, { type: 'colorPicker' }];
expect(createForm(config)).toEqual(config);
});
it('参数为空数组', () => {
test('参数为空数组', () => {
expect(createForm([])).toEqual([]);
});
});

View File

@ -16,6 +16,8 @@
* limitations under the License.
*/
import { describe, expect, test } from 'vitest';
import { FormState } from '@tmagic/form';
import { display, filterFunction, getRules, initValue } from '../../../src/utils/form';
@ -33,24 +35,24 @@ const mForm: FormState = {
};
describe('filterFunction', () => {
it('config 不为函数', () => {
test('config 不为函数', () => {
expect(filterFunction(mForm, 1, {})).toBe(1);
});
it('config 为函数', () => {
test('config 为函数', () => {
expect(filterFunction(mForm, () => 2, {})).toBe(2);
});
});
describe('display', () => {
it('config 不为函数', () => {
test('config 不为函数', () => {
expect(display(mForm, false, {})).toBe(false);
expect(display(mForm, undefined, {})).toBe(true);
expect(display(mForm, 0, {})).toBe(true);
expect(display(mForm, true, {})).toBe(true);
});
it('config 为函数', () => {
test('config 为函数', () => {
expect(display(mForm, () => true, {})).toBe(true);
expect(display(mForm, () => false, {})).toBe(false);
expect(display(mForm, () => 1, {})).toBe(1);
@ -58,7 +60,7 @@ describe('display', () => {
});
describe('getRules', () => {
it('函数功能', () => {
test('函数功能', () => {
// 表单检验规则
const rules: any = {
validator: () => 1,
@ -70,7 +72,7 @@ describe('getRules', () => {
});
describe('initValue', () => {
it('没有onInitValue', async () => {
test('没有onInitValue', async () => {
const initValues = {
a: 1,
void: [],
@ -167,7 +169,7 @@ describe('initValue', () => {
expect(values.object.o).toBe('o');
});
it('有onInitValue', async () => {
test('有onInitValue', async () => {
const initValues = {
a: 1,
};
@ -186,7 +188,7 @@ describe('initValue', () => {
expect(values).toHaveLength(0);
});
it('defaultValue', async () => {
test('defaultValue', async () => {
const initValues = {
a: 1,
};
@ -258,7 +260,7 @@ describe('initValue', () => {
expect(values.d.multiple).toHaveLength(0);
});
it('fieldset checkbox', async () => {
test('fieldset checkbox', async () => {
const config = [
{
type: 'fieldset',
@ -279,7 +281,7 @@ describe('initValue', () => {
expect(values.fieldset.a).toBe('');
});
it('table', async () => {
test('table', async () => {
const config = [
{
type: 'table',

View File

@ -20,7 +20,7 @@
},
"license": "Apache-2.0",
"scripts": {
"build": "vite build"
"build": "vue-tsc --noEmit && vite build"
},
"engines": {
"node": ">=14"
@ -31,13 +31,13 @@
},
"dependencies": {
"@tmagic/form": "1.0.2",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"lodash-es": "^4.17.21",
"vue": "^3.2.0"
},
"peerDependencies": {
"@tmagic/form": "1.0.2",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"vue": "^3.2.0"
},
"devDependencies": {
@ -51,6 +51,6 @@
"typescript": "^4.3.4",
"vite": "^2.3.7",
"vite-plugin-dts": "^0.9.6",
"vue-tsc": "^0.0.24"
"vue-tsc": "^0.38.2"
}
}

View File

@ -17,7 +17,7 @@
"@tmagic/schema": "1.0.2",
"@tmagic/stage": "1.0.2",
"@tmagic/utils": "1.0.2",
"element-plus": "^2.2.0",
"element-plus": "^2.2.6",
"monaco-editor": "^0.32.1",
"serialize-javascript": "^6.0.0",
"vue": "^3.2.0",
@ -33,6 +33,6 @@
"sass": "^1.35.1",
"typescript": "^4.3.4",
"vite": "^2.3.7",
"vue-tsc": "^0.0.24"
"vue-tsc": "^0.38.2"
}
}

186
pnpm-lock.yaml generated
View File

@ -79,7 +79,7 @@ importers:
'@vuepress/client': ^2.0.0-beta.48
'@vuepress/plugin-search': ^2.0.0-beta.48
'@vuepress/theme-default': ^2.0.0-beta.48
element-plus: ^2.2.0
element-plus: ^2.2.6
highlight.js: ^11.2.0
lodash: ^4.17.21
lodash-es: ^4.17.21
@ -90,7 +90,7 @@ importers:
'@tmagic/form': link:../packages/form
'@tmagic/schema': link:../packages/schema
'@tmagic/utils': link:../packages/utils
element-plus: 2.2.4_vue@3.2.37
element-plus: 2.2.6_vue@3.2.37
highlight.js: 11.5.1
lodash: 4.17.21
lodash-es: 4.17.21
@ -141,7 +141,7 @@ importers:
'@vue/test-utils': ^2.0.0
buffer: ^6.0.3
color: ^3.1.3
element-plus: ^2.2.0
element-plus: ^2.2.6
events: ^3.3.0
gesto: ^1.7.0
keycon: ^1.1.2
@ -153,7 +153,7 @@ importers:
vite: ^2.3.7
vite-plugin-dts: ^0.9.6
vue: ^3.2.0
vue-tsc: ^0.0.24
vue-tsc: ^0.38.2
dependencies:
'@babel/core': 7.18.2
'@element-plus/icons': 0.0.11
@ -164,7 +164,7 @@ importers:
'@tmagic/utils': link:../utils
buffer: 6.0.3
color: 3.2.1
element-plus: 2.2.4_vue@3.2.37
element-plus: 2.2.6_vue@3.2.37
events: 3.3.0
gesto: 1.8.1
keycon: 1.1.2
@ -185,7 +185,7 @@ importers:
typescript: 4.7.3
vite: 2.9.10_sass@1.52.2
vite-plugin-dts: 0.9.10_vite@2.9.10
vue-tsc: 0.0.24
vue-tsc: 0.38.2_typescript@4.7.3
packages/form:
specifiers:
@ -199,7 +199,7 @@ importers:
'@vitejs/plugin-vue-jsx': ^1.1.6
'@vue/compiler-sfc': ^3.2.0
'@vue/test-utils': ^2.0.0
element-plus: ^2.2.0
element-plus: ^2.2.6
lodash-es: ^4.17.21
moment: ^2.29.2
sass: ^1.35.1
@ -208,11 +208,11 @@ importers:
vite: ^2.3.7
vite-plugin-dts: ^0.9.6
vue: ^3.2.0
vue-tsc: ^0.0.24
vue-tsc: ^0.38.2
dependencies:
'@element-plus/icons': 0.0.11
'@tmagic/utils': link:../utils
element-plus: 2.2.4_vue@3.2.37
element-plus: 2.2.6_vue@3.2.37
lodash-es: 4.17.21
moment: 2.29.3
sortablejs: 1.15.0
@ -230,7 +230,7 @@ importers:
typescript: 4.7.3
vite: 2.9.10_sass@1.52.2
vite-plugin-dts: 0.9.10_vite@2.9.10
vue-tsc: 0.0.24
vue-tsc: 0.38.2_typescript@4.7.3
packages/schema:
specifiers:
@ -288,17 +288,17 @@ importers:
'@vitejs/plugin-vue': ^1.2.3
'@vue/compiler-sfc': ^3.2.0
'@vue/test-utils': ^2.0.0
element-plus: ^2.2.0
element-plus: ^2.2.6
lodash-es: ^4.17.21
sass: ^1.35.1
typescript: ^4.3.4
vite: ^2.3.7
vite-plugin-dts: ^0.9.6
vue: ^3.2.0
vue-tsc: ^0.0.24
vue-tsc: ^0.38.2
dependencies:
'@tmagic/form': link:../form
element-plus: 2.2.4_vue@3.2.37
element-plus: 2.2.6_vue@3.2.37
lodash-es: 4.17.21
vue: 3.2.37
devDependencies:
@ -312,7 +312,7 @@ importers:
typescript: 4.7.3
vite: 2.9.10_sass@1.52.2
vite-plugin-dts: 0.9.10_vite@2.9.10
vue-tsc: 0.0.24
vue-tsc: 0.38.2_typescript@4.7.3
packages/ui:
specifiers:
@ -406,7 +406,7 @@ importers:
'@vitejs/plugin-vue': ^1.2.3
'@vitejs/plugin-vue-jsx': ^1.1.6
'@vue/compiler-sfc': ^3.2.0
element-plus: ^2.2.0
element-plus: ^2.2.6
monaco-editor: ^0.32.1
sass: ^1.35.1
serialize-javascript: ^6.0.0
@ -414,7 +414,7 @@ importers:
vite: ^2.3.7
vue: ^3.2.0
vue-router: ^4.0.10
vue-tsc: ^0.0.24
vue-tsc: ^0.38.2
dependencies:
'@element-plus/icons': 0.0.11
'@tmagic/editor': link:../packages/editor
@ -422,7 +422,7 @@ importers:
'@tmagic/schema': link:../packages/schema
'@tmagic/stage': link:../packages/stage
'@tmagic/utils': link:../packages/utils
element-plus: 2.2.4_vue@3.2.37
element-plus: 2.2.6_vue@3.2.37
monaco-editor: 0.32.1
serialize-javascript: 6.0.0
vue: 3.2.37
@ -437,7 +437,7 @@ importers:
sass: 1.52.2
typescript: 4.7.3
vite: 2.9.10_sass@1.52.2
vue-tsc: 0.0.24
vue-tsc: 0.38.2_typescript@4.7.3
runtime/react:
specifiers:
@ -511,7 +511,7 @@ importers:
typescript: ^4.3.4
vite: ^2.3.7
vue: ^3.2.0
vue-tsc: ^0.0.24
vue-tsc: ^0.38.2
dependencies:
'@tmagic/schema': link:../../packages/schema
'@tmagic/stage': link:../../packages/stage
@ -528,7 +528,7 @@ importers:
sass: 1.52.2
typescript: 4.7.3
vite: 2.9.10_sass@1.52.2
vue-tsc: 0.0.24
vue-tsc: 0.38.2_typescript@4.7.3
packages:
@ -1315,14 +1315,14 @@ packages:
- supports-color
dev: true
/@floating-ui/core/0.7.2:
resolution: {integrity: sha512-FRVAkSNU/vGXLIsgbggcs70GkXKEOXgBBbNpYPNHSaKsCAMMd00NrjbtKTesxkdv9xm9N3+XiDlcFGY6WnatBg==}
/@floating-ui/core/0.7.3:
resolution: {integrity: sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==}
dev: false
/@floating-ui/dom/0.5.2:
resolution: {integrity: sha512-z1DnEa7F3d8Fm/eXSbii8UEGpcjZGkQaYYUI0WpEVgD3vBfebDW8j/3ysusxonuMexoigA+A3b/fYH7sEqiwyg==}
/@floating-ui/dom/0.5.4:
resolution: {integrity: sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==}
dependencies:
'@floating-ui/core': 0.7.2
'@floating-ui/core': 0.7.3
dev: false
/@humanwhocodes/config-array/0.5.0:
@ -1837,6 +1837,36 @@ packages:
vue: 3.2.37
dev: true
/@volar/code-gen/0.38.2:
resolution: {integrity: sha512-H81I6d7rZB7teqL+zhK/Xz1v0/kKkUwkB0Aq6b4+BTCqcJeiZkoWxd0gFhrhWTnUoqiM83lhoTGo2vkvx5YagQ==}
dependencies:
'@volar/source-map': 0.38.2
dev: true
/@volar/source-map/0.38.2:
resolution: {integrity: sha512-DWcYbYt9SPwk0r4VmXk1F0v4X5+hCqH1JRkAWSeJymQyXCQ2OQDEbY2PF12a7y2qn4FUBD2gOba2TynAqI8ZFQ==}
dev: true
/@volar/vue-code-gen/0.38.2:
resolution: {integrity: sha512-whLunD6phSGWBUHZKdTxeglrpzQu26ii8CRVapFdjfyMaVhQ7ESNeIAhkTVyg2ovOPc0PiDYPQEPzfWAADIWog==}
dependencies:
'@volar/code-gen': 0.38.2
'@volar/source-map': 0.38.2
'@vue/compiler-core': 3.2.37
'@vue/compiler-dom': 3.2.37
'@vue/shared': 3.2.37
dev: true
/@volar/vue-typescript/0.38.2:
resolution: {integrity: sha512-5IKvSK2m5yUmH6iu/tNScVlvJGuiHawTfSmjxaMs+/tod25WeK37LEdf+pdKtlJ30bYTQmmkAuEfG01QvvBRGQ==}
dependencies:
'@volar/code-gen': 0.38.2
'@volar/source-map': 0.38.2
'@volar/vue-code-gen': 0.38.2
'@vue/compiler-sfc': 3.2.37
'@vue/reactivity': 3.2.37
dev: true
/@vue/babel-helper-vue-jsx-merge-props/1.2.1:
resolution: {integrity: sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==}
dev: true
@ -2670,23 +2700,11 @@ packages:
/base64-js/1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
/big-integer/1.6.51:
resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
engines: {node: '>=0.6'}
dev: true
/binary-extensions/2.2.0:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'}
dev: true
/binary/0.3.0:
resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==}
dependencies:
buffers: 0.1.1
chainsaw: 0.1.0
dev: true
/bl/4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
dependencies:
@ -2695,10 +2713,6 @@ packages:
readable-stream: 3.6.0
dev: true
/bluebird/3.4.7:
resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==}
dev: true
/bluebird/3.7.2:
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
dev: true
@ -2732,11 +2746,6 @@ packages:
node-releases: 2.0.5
picocolors: 1.0.0
/buffer-indexof-polyfill/1.0.2:
resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==}
engines: {node: '>=0.10'}
dev: true
/buffer/5.7.1:
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
dependencies:
@ -2751,11 +2760,6 @@ packages:
ieee754: 1.2.1
dev: false
/buffers/0.1.1:
resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==}
engines: {node: '>=0.2.0'}
dev: true
/c8/7.11.3:
resolution: {integrity: sha512-6YBmsaNmqRm9OS3ZbIiL2EZgi1+Xc4O24jL3vMYGE6idixYuGdy76rIfIdltSKDj9DpLNrcXSonUTR1miBD0wA==}
engines: {node: '>=10.12.0'}
@ -2831,12 +2835,6 @@ packages:
type-detect: 4.0.8
dev: true
/chainsaw/0.1.0:
resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==}
dependencies:
traverse: 0.3.9
dev: true
/chalk/2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@ -3852,23 +3850,17 @@ packages:
is-obj: 2.0.0
dev: true
/duplexer2/0.1.4:
resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==}
dependencies:
readable-stream: 2.3.7
dev: true
/electron-to-chromium/1.4.147:
resolution: {integrity: sha512-czclPqxLMPqPMkahKcske4TaS5lcznsc26ByBlEFDU8grTBVK9C5W6K9I6oEEhm4Ai4jTihGnys90xY1yjXcRg==}
/element-plus/2.2.4_vue@3.2.37:
resolution: {integrity: sha512-jktZr0o3ARDxWNWPEaJZQm2BN7thTpQl0aIfCUo5eB5m+zEap2DEcojyGKMHSQsCULcPM32NFfu2sHlhbhOiGA==}
/element-plus/2.2.6_vue@3.2.37:
resolution: {integrity: sha512-N9G4yWSxDt1YtreCJgt7UaSsXKuR4Fzb3ThzlBjbGDYDhcHijsrLL3qkdLZgeoSB13LRyr9pgP1ljNXdaYGa+g==}
peerDependencies:
vue: ^3.2.0
dependencies:
'@ctrl/tinycolor': 3.4.1
'@element-plus/icons-vue': 2.0.5_vue@3.2.37
'@floating-ui/dom': 0.5.2
'@floating-ui/dom': 0.5.4
'@popperjs/core': /@sxzz/popperjs-es/2.11.7
'@types/lodash': 4.14.182
'@types/lodash-es': 4.17.6
@ -4716,16 +4708,6 @@ packages:
dev: true
optional: true
/fstream/1.0.12:
resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==}
engines: {node: '>=0.6'}
dependencies:
graceful-fs: 4.2.10
inherits: 2.0.4
mkdirp: 0.5.6
rimraf: 2.7.1
dev: true
/function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
dev: true
@ -5583,10 +5565,6 @@ packages:
supports-color: 8.1.1
dev: true
/listenercount/1.0.1:
resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==}
dev: true
/listr2/3.14.0_enquirer@2.3.6:
resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
engines: {node: '>=10.0.0'}
@ -5905,13 +5883,6 @@ packages:
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
dev: true
/mkdirp/0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
dependencies:
minimist: 1.2.6
dev: true
/mkdirp/1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
@ -6707,13 +6678,6 @@ packages:
resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
dev: true
/rimraf/2.7.1:
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
hasBin: true
dependencies:
glob: 7.2.3
dev: true
/rimraf/3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
hasBin: true
@ -6847,10 +6811,6 @@ packages:
resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=}
dev: false
/setimmediate/1.0.5:
resolution: {integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=}
dev: true
/shebang-command/2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@ -7218,7 +7178,7 @@ packages:
dev: true
/to-fast-properties/2.0.0:
resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=}
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
/to-regex-range/5.0.1:
@ -7248,10 +7208,6 @@ packages:
punycode: 2.1.1
dev: true
/traverse/0.3.9:
resolution: {integrity: sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=}
dev: true
/trim-newlines/3.0.1:
resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
engines: {node: '>=8'}
@ -7410,21 +7366,6 @@ packages:
engines: {node: '>= 10.0.0'}
dev: true
/unzipper/0.10.11:
resolution: {integrity: sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==}
dependencies:
big-integer: 1.6.51
binary: 0.3.0
bluebird: 3.4.7
buffer-indexof-polyfill: 1.0.2
duplexer2: 0.1.4
fstream: 1.0.12
graceful-fs: 4.2.10
listenercount: 1.0.1
readable-stream: 2.3.7
setimmediate: 1.0.5
dev: true
/upath/2.0.1:
resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
engines: {node: '>=4'}
@ -7735,11 +7676,14 @@ packages:
resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==}
dev: true
/vue-tsc/0.0.24:
resolution: {integrity: sha512-Qx0V7jkWMtvddtaWa1SA8YKkBCRmjq9zZUB2UIMZiso6JSH538oHD2VumSzkoDnAfFbY3t0/j1mB2abpA0bGWA==}
/vue-tsc/0.38.2_typescript@4.7.3:
resolution: {integrity: sha512-+OMmpw9BZC9khul3I1HGtWchv7BCiaM7NvfdilVAiOFkjnivIoaW6jJm6YPQJaEPouePtpkDUWovyzgNxWdDsw==}
hasBin: true
peerDependencies:
typescript: '*'
dependencies:
unzipper: 0.10.11
'@volar/vue-typescript': 0.38.2
typescript: 4.7.3
dev: true
/vue/2.6.14:

View File

@ -1,15 +1,15 @@
{
"name": "runtime-vue2",
"version": "1.0.1",
"version": "1.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "runtime-vue2",
"version": "1.0.1",
"version": "1.0.2",
"dependencies": {
"@tmagic/schema": "1.0.1",
"@tmagic/stage": "1.0.1",
"@tmagic/schema": "1.0.2",
"@tmagic/stage": "1.0.2",
"@vue/composition-api": "1.0.5",
"vue": "^2.6.14"
},
@ -846,11 +846,11 @@
}
},
"node_modules/@tmagic/core": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/core/-/core-1.0.1.tgz",
"integrity": "sha512-76hUQ3cfp73td63yWInUG09trZDD7fZJen1mkfFHvPY4LTpZYdnqGvHVcWGkh8dXSR8tZxkK7nm4HjmuZMO2eA==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/core/-/core-1.0.2.tgz",
"integrity": "sha512-gYvzkCwd8wbLmx7/J2aEXINnRapuRgGHUmtmyIE2gq8iLG3yFA/7RBcgQH1ZXiVMZAx+qL1XvJUVWPKQSJT4PQ==",
"dependencies": {
"@tmagic/schema": "1.0.1",
"@tmagic/schema": "1.0.2",
"events": "^3.3.0"
},
"engines": {
@ -858,22 +858,22 @@
}
},
"node_modules/@tmagic/schema": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/schema/-/schema-1.0.1.tgz",
"integrity": "sha512-st5FrTnZL21a/eHhbFgVA96FV784FzlBHrPza7Ozswko/O4Lg5Daf7lvqY3agIlrj0J/JjWBlE6x6Ka8UQEE5w==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/schema/-/schema-1.0.2.tgz",
"integrity": "sha512-PvN1ODMT3CwLpRSx98Y9dXpzpYoL6WkyWICI0EGk6pCFNLtc/8DniO4zwji7ndCWI7w+hOzsj+riyWqIzKvWVg==",
"engines": {
"node": ">=14"
}
},
"node_modules/@tmagic/stage": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/stage/-/stage-1.0.1.tgz",
"integrity": "sha512-TEkBTrTZnARmeRECGUZxBb2sRccuN5YrzL4NPKb3nX1Ezr9vF1XYJaO2F+7odDSuacHPjDZia1HigoJ+t5qPSg==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/stage/-/stage-1.0.2.tgz",
"integrity": "sha512-xG+qFxGP7zz5KhygKywI2F4HQqdbzT08UEx4wQU2ptgWaX5XmCujK1XEjdMmOapIJlKCymqF4AJhshG54xf3oA==",
"dependencies": {
"@scena/guides": "^0.17.0",
"@tmagic/core": "1.0.1",
"@tmagic/schema": "1.0.1",
"@tmagic/utils": "1.0.1",
"@tmagic/core": "1.0.2",
"@tmagic/schema": "1.0.2",
"@tmagic/utils": "1.0.2",
"events": "^3.3.0",
"lodash-es": "^4.17.21",
"moveable": "^0.30.0",
@ -884,11 +884,11 @@
}
},
"node_modules/@tmagic/utils": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/utils/-/utils-1.0.1.tgz",
"integrity": "sha512-r7XmJcMZ3DBIWteWrDUH+JnDoCMJGvJMb63EDqricdWhlKbb0JfnGlth6Xjugts9PXouiunMZO4A80HtNBgtoQ==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/utils/-/utils-1.0.2.tgz",
"integrity": "sha512-gyT/kJjxZjOLxwwShShdESsC5fPF1eqW0aDD0KsxOVjML9WOTeoLBfVPq4oFW/5p8/xQ18a/lCkD+5Spq2pyDA==",
"dependencies": {
"@tmagic/schema": "1.0.1",
"@tmagic/schema": "1.0.2",
"moment": "^2.29.2"
},
"engines": {
@ -3415,28 +3415,28 @@
}
},
"@tmagic/core": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/core/-/core-1.0.1.tgz",
"integrity": "sha512-76hUQ3cfp73td63yWInUG09trZDD7fZJen1mkfFHvPY4LTpZYdnqGvHVcWGkh8dXSR8tZxkK7nm4HjmuZMO2eA==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/core/-/core-1.0.2.tgz",
"integrity": "sha512-gYvzkCwd8wbLmx7/J2aEXINnRapuRgGHUmtmyIE2gq8iLG3yFA/7RBcgQH1ZXiVMZAx+qL1XvJUVWPKQSJT4PQ==",
"requires": {
"@tmagic/schema": "1.0.1",
"@tmagic/schema": "1.0.2",
"events": "^3.3.0"
}
},
"@tmagic/schema": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/schema/-/schema-1.0.1.tgz",
"integrity": "sha512-st5FrTnZL21a/eHhbFgVA96FV784FzlBHrPza7Ozswko/O4Lg5Daf7lvqY3agIlrj0J/JjWBlE6x6Ka8UQEE5w=="
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/schema/-/schema-1.0.2.tgz",
"integrity": "sha512-PvN1ODMT3CwLpRSx98Y9dXpzpYoL6WkyWICI0EGk6pCFNLtc/8DniO4zwji7ndCWI7w+hOzsj+riyWqIzKvWVg=="
},
"@tmagic/stage": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/stage/-/stage-1.0.1.tgz",
"integrity": "sha512-TEkBTrTZnARmeRECGUZxBb2sRccuN5YrzL4NPKb3nX1Ezr9vF1XYJaO2F+7odDSuacHPjDZia1HigoJ+t5qPSg==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/stage/-/stage-1.0.2.tgz",
"integrity": "sha512-xG+qFxGP7zz5KhygKywI2F4HQqdbzT08UEx4wQU2ptgWaX5XmCujK1XEjdMmOapIJlKCymqF4AJhshG54xf3oA==",
"requires": {
"@scena/guides": "^0.17.0",
"@tmagic/core": "1.0.1",
"@tmagic/schema": "1.0.1",
"@tmagic/utils": "1.0.1",
"@tmagic/core": "1.0.2",
"@tmagic/schema": "1.0.2",
"@tmagic/utils": "1.0.2",
"events": "^3.3.0",
"lodash-es": "^4.17.21",
"moveable": "^0.30.0",
@ -3444,11 +3444,11 @@
}
},
"@tmagic/utils": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@tmagic/utils/-/utils-1.0.1.tgz",
"integrity": "sha512-r7XmJcMZ3DBIWteWrDUH+JnDoCMJGvJMb63EDqricdWhlKbb0JfnGlth6Xjugts9PXouiunMZO4A80HtNBgtoQ==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@tmagic/utils/-/utils-1.0.2.tgz",
"integrity": "sha512-gyT/kJjxZjOLxwwShShdESsC5fPF1eqW0aDD0KsxOVjML9WOTeoLBfVPq4oFW/5p8/xQ18a/lCkD+5Spq2pyDA==",
"requires": {
"@tmagic/schema": "1.0.1",
"@tmagic/schema": "1.0.2",
"moment": "^2.29.2"
}
},

View File

@ -25,6 +25,6 @@
"sass": "^1.35.1",
"typescript": "^4.3.4",
"vite": "^2.3.7",
"vue-tsc": "^0.0.24"
"vue-tsc": "^0.38.2"
}
}

View File

@ -4,14 +4,14 @@
"module": "esnext",
"strict": true,
"jsx": "preserve",
"importHelpers": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"skipLibCheck": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"importHelpers": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"resolveJsonModule": true,
"sourceMap": true,
"baseUrl": ".",
"lib": [