@domql/element 2.5.200 → 2.5.205
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/create.js +5 -5
- package/dist/cjs/create.js +88 -46
- package/dist/cjs/define.js +2 -1
- package/dist/cjs/extend.js +8 -4
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/iterate.js +18 -9
- package/dist/cjs/methods/index.js +69 -36
- package/dist/cjs/methods/set.js +2 -1
- package/dist/cjs/methods/v2.js +12 -6
- package/dist/cjs/mixins/attr.js +8 -4
- package/dist/cjs/mixins/classList.js +16 -8
- package/dist/cjs/mixins/content.js +16 -9
- package/dist/cjs/mixins/data.js +4 -2
- package/dist/cjs/mixins/html.js +4 -2
- package/dist/cjs/mixins/scope.js +2 -1
- package/dist/cjs/mixins/state.js +4 -2
- package/dist/cjs/mixins/style.js +4 -2
- package/dist/cjs/mixins/text.js +6 -3
- package/dist/cjs/node.js +13 -7
- package/dist/cjs/props/create.js +12 -6
- package/dist/cjs/props/inherit.js +4 -2
- package/dist/cjs/props/update.js +6 -3
- package/dist/cjs/set.js +16 -9
- package/dist/cjs/update.js +53 -29
- package/dist/cjs/utils/applyParam.js +4 -3
- package/dist/cjs/utils/component.js +6 -3
- package/dist/cjs/utils/extendUtils.js +19 -10
- package/dist/cjs/utils/object.js +16 -8
- package/dist/cjs/utils/onlyResolveExtends.js +26 -13
- package/dist/cjs/utils/propEvents.js +4 -2
- package/dist/esm/create.js +88 -46
- package/dist/esm/define.js +2 -1
- package/dist/esm/extend.js +8 -4
- package/dist/esm/iterate.js +18 -9
- package/dist/esm/methods/index.js +69 -36
- package/dist/esm/methods/set.js +2 -1
- package/dist/esm/methods/v2.js +12 -6
- package/dist/esm/mixins/attr.js +8 -4
- package/dist/esm/mixins/classList.js +16 -8
- package/dist/esm/mixins/content.js +16 -9
- package/dist/esm/mixins/data.js +4 -2
- package/dist/esm/mixins/html.js +4 -2
- package/dist/esm/mixins/scope.js +2 -1
- package/dist/esm/mixins/state.js +4 -2
- package/dist/esm/mixins/style.js +4 -2
- package/dist/esm/mixins/text.js +6 -3
- package/dist/esm/node.js +13 -7
- package/dist/esm/props/create.js +12 -6
- package/dist/esm/props/inherit.js +4 -2
- package/dist/esm/props/update.js +6 -3
- package/dist/esm/set.js +16 -9
- package/dist/esm/update.js +53 -29
- package/dist/esm/utils/applyParam.js +4 -3
- package/dist/esm/utils/component.js +6 -3
- package/dist/esm/utils/extendUtils.js +19 -10
- package/dist/esm/utils/object.js +16 -8
- package/dist/esm/utils/onlyResolveExtends.js +26 -13
- package/dist/esm/utils/propEvents.js +4 -2
- package/methods/index.js +3 -3
- package/mixins/content.js +2 -2
- package/node.js +1 -1
- package/package.json +8 -8
- package/set.js +3 -3
- package/update.js +6 -6
- package/utils/applyParam.js +2 -2
- package/utils/extendUtils.js +1 -1
|
@@ -32,16 +32,21 @@ const deepExtend = (extend, stack, context) => {
|
|
|
32
32
|
return stack;
|
|
33
33
|
};
|
|
34
34
|
const flattenExtend = (extend, stack, context) => {
|
|
35
|
-
if (!extend)
|
|
36
|
-
|
|
37
|
-
if (
|
|
35
|
+
if (!extend)
|
|
36
|
+
return stack;
|
|
37
|
+
if (isArray(extend))
|
|
38
|
+
return extractArrayExtend(extend, stack, context);
|
|
39
|
+
if (isString(extend))
|
|
40
|
+
extend = fallbackStringExtend(extend, context);
|
|
38
41
|
stack.push(extend);
|
|
39
|
-
if (extend.extend)
|
|
42
|
+
if (extend.extend)
|
|
43
|
+
deepExtend(extend, stack, context);
|
|
40
44
|
return stack;
|
|
41
45
|
};
|
|
42
46
|
const deepMergeExtend = (element, extend) => {
|
|
43
47
|
for (const e in extend) {
|
|
44
|
-
if (["parent", "node", "__element"].indexOf(e) > -1)
|
|
48
|
+
if (["parent", "node", "__element"].indexOf(e) > -1)
|
|
49
|
+
continue;
|
|
45
50
|
const elementProp = element[e];
|
|
46
51
|
const extendProp = extend[e];
|
|
47
52
|
if (elementProp === void 0) {
|
|
@@ -70,10 +75,12 @@ const fallbackStringExtend = (extend, context, options = {}, variant) => {
|
|
|
70
75
|
if (isString(extend)) {
|
|
71
76
|
const componentExists = COMPONENTS && (COMPONENTS[extend + "." + variant] || COMPONENTS[extend] || COMPONENTS["smbls." + extend]);
|
|
72
77
|
const pageExists = PAGES && extend.startsWith("/") && PAGES[extend];
|
|
73
|
-
if (componentExists)
|
|
74
|
-
|
|
78
|
+
if (componentExists)
|
|
79
|
+
return componentExists;
|
|
80
|
+
else if (pageExists)
|
|
81
|
+
return pageExists;
|
|
75
82
|
else {
|
|
76
|
-
if (options.verbose && (ENV === "
|
|
83
|
+
if (options.verbose && (ENV === "testing" || ENV === "development")) {
|
|
77
84
|
console.warn("Extend is string but component was not found:", extend);
|
|
78
85
|
}
|
|
79
86
|
return {};
|
|
@@ -85,8 +92,10 @@ const jointStacks = (extendStack, childExtendStack) => {
|
|
|
85
92
|
return [].concat(extendStack.slice(0, 1)).concat(childExtendStack.slice(0, 1)).concat(extendStack.slice(1)).concat(childExtendStack.slice(1));
|
|
86
93
|
};
|
|
87
94
|
const getExtendStack = (extend, context) => {
|
|
88
|
-
if (!extend)
|
|
89
|
-
|
|
95
|
+
if (!extend)
|
|
96
|
+
return [];
|
|
97
|
+
if (extend.__hash)
|
|
98
|
+
return getHashedExtend(extend) || [];
|
|
90
99
|
const stack = flattenExtend(extend, [], context);
|
|
91
100
|
return getExtendStackRegistry(extend, stack);
|
|
92
101
|
};
|
package/dist/esm/utils/object.js
CHANGED
|
@@ -63,7 +63,8 @@ const METHODS_EXL = joinArrays(
|
|
|
63
63
|
);
|
|
64
64
|
const deepMerge = (element, extend, exclude = METHODS_EXL) => {
|
|
65
65
|
for (const e in extend) {
|
|
66
|
-
if (exclude.includes(e))
|
|
66
|
+
if (exclude.includes(e))
|
|
67
|
+
continue;
|
|
67
68
|
const elementProp = element[e];
|
|
68
69
|
const extendProp = extend[e];
|
|
69
70
|
if (elementProp === void 0) {
|
|
@@ -77,7 +78,8 @@ const deepMerge = (element, extend, exclude = METHODS_EXL) => {
|
|
|
77
78
|
const clone = (obj, exclude = METHODS_EXL) => {
|
|
78
79
|
const o = {};
|
|
79
80
|
for (const e in obj) {
|
|
80
|
-
if (exclude.includes(e))
|
|
81
|
+
if (exclude.includes(e))
|
|
82
|
+
continue;
|
|
81
83
|
o[e] = obj[e];
|
|
82
84
|
}
|
|
83
85
|
return o;
|
|
@@ -87,27 +89,31 @@ const overwrite = (element, params, options) => {
|
|
|
87
89
|
const { __ref } = element;
|
|
88
90
|
const { __exec, __cached } = __ref;
|
|
89
91
|
for (const e in params) {
|
|
90
|
-
if (e === "props" || e === "state" || e === "__ref")
|
|
92
|
+
if (e === "props" || e === "state" || e === "__ref")
|
|
93
|
+
continue;
|
|
91
94
|
const elementProp = element[e];
|
|
92
95
|
const paramsProp = params[e];
|
|
93
96
|
if (paramsProp !== void 0) {
|
|
94
97
|
__cached[e] = changes[e] = elementProp;
|
|
95
98
|
element[e] = paramsProp;
|
|
96
99
|
}
|
|
97
|
-
if (options.cleanExec)
|
|
100
|
+
if (options.cleanExec)
|
|
101
|
+
delete __exec[e];
|
|
98
102
|
}
|
|
99
103
|
return changes;
|
|
100
104
|
};
|
|
101
105
|
const overwriteShallow = (obj, params, exclude = METHODS_EXL) => {
|
|
102
106
|
for (const e in params) {
|
|
103
|
-
if (exclude.includes(e))
|
|
107
|
+
if (exclude.includes(e))
|
|
108
|
+
continue;
|
|
104
109
|
obj[e] = params[e];
|
|
105
110
|
}
|
|
106
111
|
return obj;
|
|
107
112
|
};
|
|
108
113
|
const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
|
|
109
114
|
for (const e in params) {
|
|
110
|
-
if (exclude.includes(e))
|
|
115
|
+
if (exclude.includes(e))
|
|
116
|
+
continue;
|
|
111
117
|
const objProp = obj[e];
|
|
112
118
|
const paramsProp = params[e];
|
|
113
119
|
if (isObjectLike(objProp) && isObjectLike(paramsProp)) {
|
|
@@ -119,7 +125,8 @@ const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
|
|
|
119
125
|
return obj;
|
|
120
126
|
};
|
|
121
127
|
const mergeIfExisted = (a, b) => {
|
|
122
|
-
if (isObjectLike(a) && isObjectLike(b))
|
|
128
|
+
if (isObjectLike(a) && isObjectLike(b))
|
|
129
|
+
return deepMerge(a, b);
|
|
123
130
|
return a || b;
|
|
124
131
|
};
|
|
125
132
|
const mergeArray = (arr, exclude = ["parent", "node", "__element", "state", "context", "__ref"]) => {
|
|
@@ -132,7 +139,8 @@ const flattenRecursive = (param, prop, stack = []) => {
|
|
|
132
139
|
const objectized = mergeAndCloneIfArray(param);
|
|
133
140
|
stack.push(objectized);
|
|
134
141
|
const extendOfExtend = objectized[prop];
|
|
135
|
-
if (extendOfExtend)
|
|
142
|
+
if (extendOfExtend)
|
|
143
|
+
flattenRecursive(extendOfExtend, prop, stack);
|
|
136
144
|
delete objectized[prop];
|
|
137
145
|
return stack;
|
|
138
146
|
};
|
|
@@ -13,15 +13,24 @@ const onlyResolveExtends = (element, parent, key, options) => {
|
|
|
13
13
|
element.tag = detectTag(element);
|
|
14
14
|
{
|
|
15
15
|
const { __ref: ref2 } = element;
|
|
16
|
-
if (!ref2.__cached)
|
|
17
|
-
|
|
18
|
-
if (!ref2.
|
|
19
|
-
|
|
20
|
-
if (!ref2.
|
|
21
|
-
|
|
22
|
-
if (!ref2.
|
|
23
|
-
|
|
24
|
-
if (!ref2.
|
|
16
|
+
if (!ref2.__cached)
|
|
17
|
+
ref2.__cached = {};
|
|
18
|
+
if (!ref2.__defineCache)
|
|
19
|
+
ref2.__defineCache = {};
|
|
20
|
+
if (!ref2.__exec)
|
|
21
|
+
ref2.__exec = {};
|
|
22
|
+
if (!ref2.__execProps)
|
|
23
|
+
ref2.__execProps = {};
|
|
24
|
+
if (!ref2.__class)
|
|
25
|
+
ref2.__class = {};
|
|
26
|
+
if (!ref2.__classNames)
|
|
27
|
+
ref2.__classNames = {};
|
|
28
|
+
if (!ref2.__attr)
|
|
29
|
+
ref2.__attr = {};
|
|
30
|
+
if (!ref2.__changes)
|
|
31
|
+
ref2.__changes = [];
|
|
32
|
+
if (!ref2.__children)
|
|
33
|
+
ref2.__children = [];
|
|
25
34
|
}
|
|
26
35
|
addMethods(element, parent, options);
|
|
27
36
|
createState(element, parent);
|
|
@@ -30,8 +39,10 @@ const onlyResolveExtends = (element, parent, key, options) => {
|
|
|
30
39
|
const ifPassed = element.if(element, element.state, element.context);
|
|
31
40
|
if (!ifPassed) {
|
|
32
41
|
delete ref.__if;
|
|
33
|
-
} else
|
|
34
|
-
|
|
42
|
+
} else
|
|
43
|
+
ref.__if = true;
|
|
44
|
+
} else
|
|
45
|
+
ref.__if = true;
|
|
35
46
|
if (element.node && ref.__if) {
|
|
36
47
|
parent[key || element.key] = element;
|
|
37
48
|
}
|
|
@@ -42,7 +53,8 @@ const onlyResolveExtends = (element, parent, key, options) => {
|
|
|
42
53
|
throughInitialExec(element);
|
|
43
54
|
for (const param in element) {
|
|
44
55
|
const prop = element[param];
|
|
45
|
-
if (isUndefined(prop) || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param))
|
|
56
|
+
if (isUndefined(prop) || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param))
|
|
57
|
+
continue;
|
|
46
58
|
const hasDefine = element.define && element.define[param];
|
|
47
59
|
const contextHasDefine = element.context && element.context.define && element.context.define[param];
|
|
48
60
|
const optionsHasDefine = options.define && options.define[param];
|
|
@@ -60,7 +72,8 @@ const onlyResolveExtends = (element, parent, key, options) => {
|
|
|
60
72
|
delete element.props.update;
|
|
61
73
|
delete element.props.__element;
|
|
62
74
|
}
|
|
63
|
-
if (!options.keepRef)
|
|
75
|
+
if (!options.keepRef)
|
|
76
|
+
delete element.__ref;
|
|
64
77
|
return element;
|
|
65
78
|
};
|
|
66
79
|
export {
|
|
@@ -9,9 +9,11 @@ const propagateEventsFromProps = (element) => {
|
|
|
9
9
|
if (isFunction(origEvent)) {
|
|
10
10
|
on[eventName] = (...args) => {
|
|
11
11
|
const originalEventRetunrs = origEvent(...args);
|
|
12
|
-
if (originalEventRetunrs !== false)
|
|
12
|
+
if (originalEventRetunrs !== false)
|
|
13
|
+
funcFromProps(...args);
|
|
13
14
|
};
|
|
14
|
-
} else
|
|
15
|
+
} else
|
|
16
|
+
on[eventName] = funcFromProps;
|
|
15
17
|
});
|
|
16
18
|
};
|
|
17
19
|
export {
|
package/methods/index.js
CHANGED
|
@@ -205,19 +205,19 @@ export function verbose (...args) {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
export function log (...params) {
|
|
208
|
-
if (ENV === '
|
|
208
|
+
if (ENV === 'testing' || ENV === 'development') {
|
|
209
209
|
console.log(...params)
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
export function warn (...params) {
|
|
214
|
-
if (ENV === '
|
|
214
|
+
if (ENV === 'testing' || ENV === 'development') {
|
|
215
215
|
console.warn(...params)
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
export function error (...params) {
|
|
220
|
-
if (ENV === '
|
|
220
|
+
if (ENV === 'testing' || ENV === 'development') {
|
|
221
221
|
if (params[params.length - 1]?.debugger) debugger // eslint-disable-line
|
|
222
222
|
if (params[params.length - 1]?.verbose) verbose.call(this)
|
|
223
223
|
throw new Error(...params)
|
package/mixins/content.js
CHANGED
|
@@ -41,13 +41,13 @@ export const removeContent = function (el, opts = {}) {
|
|
|
41
41
|
* Appends anything as content
|
|
42
42
|
* an original one as a child
|
|
43
43
|
*/
|
|
44
|
-
export function setContent (param, element, node, opts) {
|
|
44
|
+
export async function setContent (param, element, node, opts) {
|
|
45
45
|
const contentElementKey = setContentKey(element, opts)
|
|
46
46
|
if (param && element) {
|
|
47
47
|
if (element[contentElementKey].update) {
|
|
48
48
|
element[contentElementKey].update({}, opts)
|
|
49
49
|
} else {
|
|
50
|
-
set.call(element, param, opts)
|
|
50
|
+
await set.call(element, param, opts)
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
package/node.js
CHANGED
|
@@ -38,7 +38,7 @@ export const createNode = async (element, options) => {
|
|
|
38
38
|
}
|
|
39
39
|
// node.dataset // .key = element.key
|
|
40
40
|
|
|
41
|
-
if (ENV === '
|
|
41
|
+
if (ENV === 'testing' || ENV === 'development' || options.alowRefReference) {
|
|
42
42
|
node.ref = element
|
|
43
43
|
if (isFunction(node.setAttribute)) node.setAttribute('key', element.key)
|
|
44
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domql/element",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.205",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "index.js",
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
"copy:package:cjs": "cp ../../build/package-cjs.json dist/cjs/package.json",
|
|
24
24
|
"build:esm": "npx esbuild *.js **/*.js --target=es2019 --format=esm --outdir=dist/esm",
|
|
25
25
|
"build:cjs": "npx esbuild *.js **/*.js --target=node16 --format=cjs --outdir=dist/cjs",
|
|
26
|
-
"build": "rimraf -I dist; npm run build:cjs; npm run build:esm",
|
|
27
|
-
"prepublish": "rimraf -I dist && npm run build && npm run copy:package:cjs"
|
|
26
|
+
"build": "npx rimraf -I dist; npm run build:cjs; npm run build:esm",
|
|
27
|
+
"prepublish": "npx rimraf -I dist && npm run build && npm run copy:package:cjs"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@domql/event": "^2.5.
|
|
31
|
-
"@domql/render": "^2.5.
|
|
32
|
-
"@domql/state": "^2.5.
|
|
33
|
-
"@domql/utils": "^2.5.
|
|
30
|
+
"@domql/event": "^2.5.203",
|
|
31
|
+
"@domql/render": "^2.5.203",
|
|
32
|
+
"@domql/state": "^2.5.203",
|
|
33
|
+
"@domql/utils": "^2.5.203"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "0e199902ea51b67aa7c0ca0446aae8e492d49789",
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@babel/core": "^7.12.0"
|
|
38
38
|
}
|
package/set.js
CHANGED
|
@@ -19,9 +19,9 @@ export const resetElement = async (params, element, options) => {
|
|
|
19
19
|
})
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export const reset = (options) => {
|
|
22
|
+
export const reset = async (options) => {
|
|
23
23
|
const element = this
|
|
24
|
-
create(element, element.parent, undefined, {
|
|
24
|
+
await create(element, element.parent, undefined, {
|
|
25
25
|
ignoreChildExtend: true,
|
|
26
26
|
...registry.defaultOptions,
|
|
27
27
|
...OPTIONS.create,
|
|
@@ -45,7 +45,7 @@ export const set = async function (params, options = {}, el) {
|
|
|
45
45
|
const beforeUpdateReturns = await triggerEventOnUpdate('beforeUpdate', params, element, options)
|
|
46
46
|
if (beforeUpdateReturns === false) return element
|
|
47
47
|
}
|
|
48
|
-
if (content?.update) content.update()
|
|
48
|
+
if (content?.update) await content.update()
|
|
49
49
|
if (!options.preventUpdateListener) await triggerEventOn('update', element, options)
|
|
50
50
|
return
|
|
51
51
|
}
|
package/update.js
CHANGED
|
@@ -133,7 +133,7 @@ export const update = async function (params = {}, opts) {
|
|
|
133
133
|
|
|
134
134
|
if (preventStateUpdate === 'once') options.preventStateUpdate = false
|
|
135
135
|
|
|
136
|
-
const isElement = applyParam(param, element, options)
|
|
136
|
+
const isElement = await applyParam(param, element, options)
|
|
137
137
|
if (isElement) {
|
|
138
138
|
const { hasDefine, hasContextDefine } = isElement
|
|
139
139
|
const canUpdate = isObject(prop) && !hasDefine && !hasContextDefine && !preventRecursive
|
|
@@ -145,23 +145,23 @@ export const update = async function (params = {}, opts) {
|
|
|
145
145
|
options.onEachUpdate(param, element, element.state, element.context)
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
const childUpdateCall = () => update.call(prop, params[prop], {
|
|
148
|
+
const childUpdateCall = async () => await update.call(prop, params[prop], {
|
|
149
149
|
...options,
|
|
150
150
|
currentSnapshot: snapshotOnCallee,
|
|
151
151
|
calleeElement
|
|
152
152
|
})
|
|
153
153
|
|
|
154
|
-
lazyLoad ? window.requestAnimationFrame(() => { // eslint-disable-line
|
|
155
|
-
childUpdateCall()
|
|
154
|
+
lazyLoad ? window.requestAnimationFrame(async () => { // eslint-disable-line
|
|
155
|
+
await childUpdateCall()
|
|
156
156
|
// handle lazy load
|
|
157
157
|
if (!options.preventUpdateListener) {
|
|
158
158
|
triggerEventOn('lazyLoad', element, options)
|
|
159
159
|
}
|
|
160
|
-
}) : childUpdateCall()
|
|
160
|
+
}) : await childUpdateCall()
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
if (!preventUpdateListener) triggerEventOn('update', element, options)
|
|
164
|
+
if (!preventUpdateListener) await triggerEventOn('update', element, options)
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
const captureSnapshot = (element, options) => {
|
package/utils/applyParam.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { isFunction } from '@domql/utils'
|
|
4
4
|
import { REGISTRY } from '../mixins/index.js'
|
|
5
5
|
|
|
6
|
-
export const applyParam = (param, element, options) => {
|
|
6
|
+
export const applyParam = async (param, element, options) => {
|
|
7
7
|
const { node, context, __ref: ref } = element
|
|
8
8
|
const prop = element[param]
|
|
9
9
|
|
|
@@ -22,7 +22,7 @@ export const applyParam = (param, element, options) => {
|
|
|
22
22
|
|
|
23
23
|
if (isGlobalTransformer && !hasContextDefine && hasOnlyUpdate) {
|
|
24
24
|
if (isFunction(isGlobalTransformer)) {
|
|
25
|
-
isGlobalTransformer(prop, element, node, options)
|
|
25
|
+
await isGlobalTransformer(prop, element, node, options)
|
|
26
26
|
return
|
|
27
27
|
}
|
|
28
28
|
}
|
package/utils/extendUtils.js
CHANGED
|
@@ -88,7 +88,7 @@ export const fallbackStringExtend = (extend, context, options = {}, variant) =>
|
|
|
88
88
|
if (componentExists) return componentExists
|
|
89
89
|
else if (pageExists) return pageExists
|
|
90
90
|
else {
|
|
91
|
-
if (options.verbose && (ENV === '
|
|
91
|
+
if (options.verbose && (ENV === 'testing' || ENV === 'development')) {
|
|
92
92
|
console.warn('Extend is string but component was not found:', extend)
|
|
93
93
|
}
|
|
94
94
|
return {}
|