@dcloudio/uni-cli-shared 3.0.0-alpha-3021220211102002 → 3.0.0-alpha-3021220211105003
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/constants.d.ts +1 -0
- package/dist/constants.js +2 -1
- package/dist/hbx/log.js +1 -1
- package/dist/json/mp/pages.js +7 -3
- package/dist/json/mp/types.d.ts +1 -1
- package/dist/mp/template.d.ts +6 -0
- package/dist/preprocess/context.js +1 -0
- package/dist/vue/transforms/index.d.ts +2 -0
- package/dist/vue/transforms/index.js +8 -1
- package/dist/vue/transforms/vModel.d.ts +12 -0
- package/dist/vue/transforms/vModel.js +33 -0
- package/dist/vue/transforms/vOn.d.ts +15 -0
- package/dist/vue/transforms/vOn.js +88 -0
- package/lib/nvue.css +34 -1
- package/package.json +3 -3
package/dist/constants.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare const EXTNAME_JS: string[];
|
|
|
3
3
|
export declare const EXTNAME_VUE: string[];
|
|
4
4
|
export declare const EXTNAME_VUE_RE: RegExp;
|
|
5
5
|
export declare const EXTNAME_JS_RE: RegExp;
|
|
6
|
+
export declare const ASSETS_INLINE_LIMIT: number;
|
|
6
7
|
export declare const BINDING_COMPONENTS = "__BINDING_COMPONENTS__";
|
|
7
8
|
export declare const PAGE_EXTNAME_APP: string[];
|
|
8
9
|
export declare const PAGE_EXTNAME: string[];
|
package/dist/constants.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.COMMON_EXCLUDE = exports.BASE_COMPONENTS_STYLE_PATH = exports.H5_COMPONENTS_STYLE_PATH = exports.H5_FRAMEWORK_STYLE_PATH = exports.H5_API_STYLE_PATH = exports.PAGE_EXTNAME = exports.PAGE_EXTNAME_APP = exports.BINDING_COMPONENTS = exports.EXTNAME_JS_RE = exports.EXTNAME_VUE_RE = exports.EXTNAME_VUE = exports.EXTNAME_JS = exports.PUBLIC_DIR = void 0;
|
|
3
|
+
exports.COMMON_EXCLUDE = exports.BASE_COMPONENTS_STYLE_PATH = exports.H5_COMPONENTS_STYLE_PATH = exports.H5_FRAMEWORK_STYLE_PATH = exports.H5_API_STYLE_PATH = exports.PAGE_EXTNAME = exports.PAGE_EXTNAME_APP = exports.BINDING_COMPONENTS = exports.ASSETS_INLINE_LIMIT = exports.EXTNAME_JS_RE = exports.EXTNAME_VUE_RE = exports.EXTNAME_VUE = exports.EXTNAME_JS = exports.PUBLIC_DIR = void 0;
|
|
4
4
|
exports.PUBLIC_DIR = 'static';
|
|
5
5
|
exports.EXTNAME_JS = ['.js', '.ts', '.jsx', '.tsx'];
|
|
6
6
|
exports.EXTNAME_VUE = ['.vue', '.nvue'];
|
|
7
7
|
exports.EXTNAME_VUE_RE = /\.(vue|nvue)$/;
|
|
8
8
|
exports.EXTNAME_JS_RE = /\.[jt]sx?$/;
|
|
9
|
+
exports.ASSETS_INLINE_LIMIT = 40 * 1024;
|
|
9
10
|
exports.BINDING_COMPONENTS = '__BINDING_COMPONENTS__';
|
|
10
11
|
// APP 平台解析页面后缀的优先级
|
|
11
12
|
exports.PAGE_EXTNAME_APP = ['.nvue', '.vue', '.tsx', '.jsx', '.js'];
|
package/dist/hbx/log.js
CHANGED
|
@@ -40,7 +40,7 @@ exports.removeInfoFormatter = {
|
|
|
40
40
|
return '';
|
|
41
41
|
},
|
|
42
42
|
};
|
|
43
|
-
const REMOVED_WARN_MSGS = [
|
|
43
|
+
const REMOVED_WARN_MSGS = [];
|
|
44
44
|
exports.removeWarnFormatter = {
|
|
45
45
|
test(msg) {
|
|
46
46
|
return !!REMOVED_WARN_MSGS.find((m) => msg.includes(m));
|
package/dist/json/mp/pages.js
CHANGED
|
@@ -34,9 +34,13 @@ function parsePagesJson(jsonStr, platform, { debug, darkmode, networkTimeout, su
|
|
|
34
34
|
!fs_1.default.existsSync(filename + '.vue')) {
|
|
35
35
|
nvuePages.push(pagePath);
|
|
36
36
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const windowOptions = {};
|
|
38
|
+
if (platform === 'mp-baidu') {
|
|
39
|
+
// 仅百度小程序需要页面配置 component:true
|
|
40
|
+
// 快手小程序反而不能配置 component:true,故不能统一添加,目前硬编码处理
|
|
41
|
+
windowOptions.component = true;
|
|
42
|
+
}
|
|
43
|
+
pageJsons[pagePath] = (0, shared_1.extend)(windowOptions, (0, utils_1.parseWindowOptions)(style, platform, windowOptionsMap));
|
|
40
44
|
}
|
|
41
45
|
// pages
|
|
42
46
|
(0, pages_1.validatePages)(pagesJson, jsonStr);
|
package/dist/json/mp/types.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ interface ShareWindowOptions {
|
|
|
18
18
|
declare type Style = 'v2' | string;
|
|
19
19
|
declare type RestartStrategy = 'homePage' | 'homePageAndLatestPage' | string;
|
|
20
20
|
export interface PageWindowOptions extends ShareWindowOptions {
|
|
21
|
-
component
|
|
21
|
+
component?: true;
|
|
22
22
|
disableScroll?: boolean;
|
|
23
23
|
usingComponents?: UsingComponents;
|
|
24
24
|
initialRenderingCache?: 'static' | string;
|
package/dist/mp/template.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { EmittedAsset } from 'rollup';
|
|
2
2
|
export interface MiniProgramCompilerOptions {
|
|
3
|
+
/**
|
|
4
|
+
* 需要延迟渲染的组件,通常是某个组件的某个事件会立刻触发,需要延迟到首次 render 之后,比如微信 editor 的 ready 事件,快手 switch 的 change
|
|
5
|
+
*/
|
|
6
|
+
lazyElement?: {
|
|
7
|
+
[name: string]: string[];
|
|
8
|
+
};
|
|
3
9
|
event?: {
|
|
4
10
|
format(name: string, opts: {
|
|
5
11
|
isCatch?: boolean;
|
|
@@ -3,6 +3,8 @@ export * from './transformPageHead';
|
|
|
3
3
|
export * from './transformComponent';
|
|
4
4
|
export * from './transformEvent';
|
|
5
5
|
export * from './transformTag';
|
|
6
|
+
export { ATTR_DATASET_EVENT_OPTS, createTransformOn, defaultMatch as matchTransformOn, } from './vOn';
|
|
7
|
+
export { createTransformModel, defaultMatch as matchTransformModel, } from './vModel';
|
|
6
8
|
export declare const transformMatchMedia: import("@vue/compiler-core").NodeTransform;
|
|
7
9
|
export declare const transformTapToClick: import("@vue/compiler-core").NodeTransform;
|
|
8
10
|
export declare const transformComponentLink: (node: import("@vue/compiler-core").RootNode | import("@vue/compiler-core").TemplateChildNode, context: import("@vue/compiler-core").TransformContext) => void;
|
|
@@ -10,7 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.transformComponentLink = exports.transformTapToClick = exports.transformMatchMedia = void 0;
|
|
13
|
+
exports.transformComponentLink = exports.transformTapToClick = exports.transformMatchMedia = exports.matchTransformModel = exports.createTransformModel = exports.matchTransformOn = exports.createTransformOn = exports.ATTR_DATASET_EVENT_OPTS = void 0;
|
|
14
14
|
const transformTag_1 = require("./transformTag");
|
|
15
15
|
const transformEvent_1 = require("./transformEvent");
|
|
16
16
|
const transformComponent_1 = require("./transformComponent");
|
|
@@ -20,6 +20,13 @@ __exportStar(require("./transformPageHead"), exports);
|
|
|
20
20
|
__exportStar(require("./transformComponent"), exports);
|
|
21
21
|
__exportStar(require("./transformEvent"), exports);
|
|
22
22
|
__exportStar(require("./transformTag"), exports);
|
|
23
|
+
var vOn_1 = require("./vOn");
|
|
24
|
+
Object.defineProperty(exports, "ATTR_DATASET_EVENT_OPTS", { enumerable: true, get: function () { return vOn_1.ATTR_DATASET_EVENT_OPTS; } });
|
|
25
|
+
Object.defineProperty(exports, "createTransformOn", { enumerable: true, get: function () { return vOn_1.createTransformOn; } });
|
|
26
|
+
Object.defineProperty(exports, "matchTransformOn", { enumerable: true, get: function () { return vOn_1.defaultMatch; } });
|
|
27
|
+
var vModel_1 = require("./vModel");
|
|
28
|
+
Object.defineProperty(exports, "createTransformModel", { enumerable: true, get: function () { return vModel_1.createTransformModel; } });
|
|
29
|
+
Object.defineProperty(exports, "matchTransformModel", { enumerable: true, get: function () { return vModel_1.defaultMatch; } });
|
|
23
30
|
exports.transformMatchMedia = (0, transformTag_1.createTransformTag)({
|
|
24
31
|
'match-media': 'uni-match-media',
|
|
25
32
|
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DirectiveTransform, ElementNode, TransformContext } from '@vue/compiler-core';
|
|
2
|
+
export declare function defaultMatch(node: ElementNode, context: TransformContext): boolean;
|
|
3
|
+
interface CreateTransformModelOptions {
|
|
4
|
+
match: typeof defaultMatch;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 百度、快手小程序的自定义组件,不支持动态事件绑定,故 v-model 也需要调整
|
|
8
|
+
* @param baseTransformModel
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare function createTransformModel(baseTransformModel: DirectiveTransform, { match }?: CreateTransformModelOptions): DirectiveTransform;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTransformModel = exports.defaultMatch = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const vOn_1 = require("./vOn");
|
|
6
|
+
function defaultMatch(node, context) {
|
|
7
|
+
return (0, utils_1.isUserComponent)(node, context);
|
|
8
|
+
}
|
|
9
|
+
exports.defaultMatch = defaultMatch;
|
|
10
|
+
/**
|
|
11
|
+
* 百度、快手小程序的自定义组件,不支持动态事件绑定,故 v-model 也需要调整
|
|
12
|
+
* @param baseTransformModel
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
function createTransformModel(baseTransformModel, { match } = {
|
|
16
|
+
match: defaultMatch,
|
|
17
|
+
}) {
|
|
18
|
+
return (dir, node, context, augmentor) => {
|
|
19
|
+
const res = baseTransformModel(dir, node, context, augmentor);
|
|
20
|
+
if (!match(node, context)) {
|
|
21
|
+
return res;
|
|
22
|
+
}
|
|
23
|
+
const props = res.props;
|
|
24
|
+
if (props[1]) {
|
|
25
|
+
// input,textarea 的 v-model 事件可能会被合并到已有的 input 中
|
|
26
|
+
const { arg, exp } = props[1];
|
|
27
|
+
(0, vOn_1.addEventOpts)(arg.content, exp, node);
|
|
28
|
+
props[1].exp = (0, vOn_1.createCustomEventExpr)();
|
|
29
|
+
}
|
|
30
|
+
return res;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.createTransformModel = createTransformModel;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ExpressionNode, DirectiveTransform, ElementNode, TransformContext } from '@vue/compiler-core';
|
|
2
|
+
export declare function defaultMatch(name: string, node: ElementNode, context: TransformContext): boolean;
|
|
3
|
+
interface CreateTransformOnOptions {
|
|
4
|
+
match: typeof defaultMatch;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 百度、快手小程序的自定义组件,不支持动态事件绑定,故转换为静态事件 + dataset
|
|
8
|
+
* @param baseTransformOn
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export declare function createTransformOn(baseTransformOn: DirectiveTransform, { match }?: CreateTransformOnOptions): DirectiveTransform;
|
|
12
|
+
export declare function createCustomEventExpr(): import("@vue/compiler-core").SimpleExpressionNode;
|
|
13
|
+
export declare function addEventOpts(event: string, value: ExpressionNode, node: ElementNode): void;
|
|
14
|
+
export declare const ATTR_DATASET_EVENT_OPTS = "data-e-o";
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ATTR_DATASET_EVENT_OPTS = exports.addEventOpts = exports.createCustomEventExpr = exports.createTransformOn = exports.defaultMatch = void 0;
|
|
4
|
+
const compiler_core_1 = require("@vue/compiler-core");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
function defaultMatch(name, node, context) {
|
|
7
|
+
return isCustomEvent(name) && (0, utils_1.isUserComponent)(node, context);
|
|
8
|
+
}
|
|
9
|
+
exports.defaultMatch = defaultMatch;
|
|
10
|
+
/**
|
|
11
|
+
* 百度、快手小程序的自定义组件,不支持动态事件绑定,故转换为静态事件 + dataset
|
|
12
|
+
* @param baseTransformOn
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
function createTransformOn(baseTransformOn, { match } = {
|
|
16
|
+
match: defaultMatch,
|
|
17
|
+
}) {
|
|
18
|
+
return (dir, node, context, augmentor) => {
|
|
19
|
+
const res = baseTransformOn(dir, node, context, augmentor);
|
|
20
|
+
const { name, arg, exp } = dir;
|
|
21
|
+
if (name !== 'on' || !arg || !exp || !(0, compiler_core_1.isStaticExp)(arg)) {
|
|
22
|
+
return res;
|
|
23
|
+
}
|
|
24
|
+
if (!match(arg.content, node, context)) {
|
|
25
|
+
return res;
|
|
26
|
+
}
|
|
27
|
+
const value = res.props[0].value;
|
|
28
|
+
res.props[0].value = createCustomEventExpr();
|
|
29
|
+
addEventOpts(arg.content, value, node);
|
|
30
|
+
return res;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.createTransformOn = createTransformOn;
|
|
34
|
+
function createCustomEventExpr() {
|
|
35
|
+
return (0, compiler_core_1.createSimpleExpression)('__e', true);
|
|
36
|
+
}
|
|
37
|
+
exports.createCustomEventExpr = createCustomEventExpr;
|
|
38
|
+
function addEventOpts(event, value, node) {
|
|
39
|
+
const attrName = node.tagType === 1 /* COMPONENT */
|
|
40
|
+
? ATTR_DATA_EVENT_OPTS
|
|
41
|
+
: exports.ATTR_DATASET_EVENT_OPTS;
|
|
42
|
+
const opts = (0, compiler_core_1.findProp)(node, attrName, true);
|
|
43
|
+
if (!opts) {
|
|
44
|
+
node.props.push(createDataEventOptsProp(attrName, event, value));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const children = opts.exp.children;
|
|
48
|
+
children.splice(children.length - 2, 0, createDataEventOptsProperty(event, value));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.addEventOpts = addEventOpts;
|
|
52
|
+
const ATTR_DATA_EVENT_OPTS = 'eO';
|
|
53
|
+
exports.ATTR_DATASET_EVENT_OPTS = 'data-e-o';
|
|
54
|
+
function createDataEventOptsProperty(event, exp) {
|
|
55
|
+
return (0, compiler_core_1.createCompoundExpression)([`'${event}'`, ': ', exp, ',']);
|
|
56
|
+
}
|
|
57
|
+
function createDataEventOptsProp(name, event, exp) {
|
|
58
|
+
return {
|
|
59
|
+
type: 7 /* DIRECTIVE */,
|
|
60
|
+
name: 'bind',
|
|
61
|
+
loc: compiler_core_1.locStub,
|
|
62
|
+
modifiers: [],
|
|
63
|
+
arg: (0, compiler_core_1.createSimpleExpression)(name, true),
|
|
64
|
+
exp: (0, compiler_core_1.createCompoundExpression)([
|
|
65
|
+
'{',
|
|
66
|
+
createDataEventOptsProperty(event, exp),
|
|
67
|
+
'}',
|
|
68
|
+
]),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const builtInEvents = [
|
|
72
|
+
'__l',
|
|
73
|
+
'tap',
|
|
74
|
+
'longtap',
|
|
75
|
+
'longpress',
|
|
76
|
+
'touchstart',
|
|
77
|
+
'touchmove',
|
|
78
|
+
'touchcancel',
|
|
79
|
+
'touchend',
|
|
80
|
+
'touchforcechange',
|
|
81
|
+
'transitionend',
|
|
82
|
+
'animationstart',
|
|
83
|
+
'animationiteration',
|
|
84
|
+
'animationend',
|
|
85
|
+
];
|
|
86
|
+
function isCustomEvent(name) {
|
|
87
|
+
return !builtInEvents.includes(name);
|
|
88
|
+
}
|
package/lib/nvue.css
CHANGED
|
@@ -1 +1,34 @@
|
|
|
1
|
-
label,
|
|
1
|
+
label,
|
|
2
|
+
scroll-view,
|
|
3
|
+
swiper-item,
|
|
4
|
+
view {
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
flex-shrink: 0;
|
|
8
|
+
flex-grow: 0;
|
|
9
|
+
flex-basis: auto;
|
|
10
|
+
align-items: stretch;
|
|
11
|
+
align-content: flex-start;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
image,
|
|
15
|
+
input,
|
|
16
|
+
scroll-view,
|
|
17
|
+
swiper,
|
|
18
|
+
swiper-item,
|
|
19
|
+
text,
|
|
20
|
+
textarea,
|
|
21
|
+
video,
|
|
22
|
+
view {
|
|
23
|
+
position: relative;
|
|
24
|
+
border: 0 solid #000;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
swiper-item {
|
|
29
|
+
position: absolute;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
button {
|
|
33
|
+
margin: 0;
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcloudio/uni-cli-shared",
|
|
3
|
-
"version": "3.0.0-alpha-
|
|
3
|
+
"version": "3.0.0-alpha-3021220211105003",
|
|
4
4
|
"description": "@dcloudio/uni-cli-shared",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@babel/parser": "^7.15.0",
|
|
22
22
|
"@babel/types": "^7.15.0",
|
|
23
23
|
"@rollup/pluginutils": "^4.1.1",
|
|
24
|
-
"@vue/compiler-core": "^3.2.
|
|
24
|
+
"@vue/compiler-core": "^3.2.21",
|
|
25
25
|
"chokidar": "^3.5.2",
|
|
26
26
|
"compare-versions": "^3.6.0",
|
|
27
27
|
"debug": "^4.3.1",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"tapable": "^2.2.0",
|
|
38
38
|
"xregexp": "3.1.0"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "e80ab2c07c1fe093fb69963be219d787251b8eac",
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/hash-sum": "^1.0.0"
|
|
43
43
|
}
|