Merge remote-tracking branch 'origin/master' into merge-6.2.1-release-in-master

This commit is contained in:
SvetoslavTsenov
2019-11-12 18:26:49 +02:00
15 changed files with 48 additions and 40 deletions

1
.gitignore vendored
View File

@@ -16,6 +16,7 @@ package-lock.json
.DS_Store
.nsbuildinfo
tsdoc-metadata.json
thumbs.db
# IDEs and editors
/.idea

View File

@@ -7,6 +7,9 @@ script:
- npm run setup
- npm run unit-test
# public API changes check
- npm run api-extractor-ci
# circular references check
- cd tests && npm i
- node_modules/.bin/webpack --env.android

View File

@@ -69,6 +69,7 @@ git checkout -b <my-fix-branch> master
- Rebase your changes to the latest master: `git pull --rebase upstream master`.
- Ensure all unit test are green for Android and iOS. Check [running unit tests](DevelopmentWorkflow.md#running-unit-tests).
- Ensure your changes pass tslint validation. (run `npm run tslint` in the root of the repo).
- If you've made changes to a public API, make sure you update and add the `api-reports/NativeScript.api.md` file to the PR. (run `npm run api-extractor` to update the api-report and definitions).
6. Push your fork. If you have rebased you might have to use force-push your branch:
```

View File

@@ -19,7 +19,7 @@ Check out the links below to get started:
## For CTOs
Making the right technology choices is key to success. Our [CTOs guide to NativeScript](https://www.nativescript.org/ctos-guide) helps you understand why NativeScript is the right choice for your next mobile project.
Making the right technology choices is the key to success. Our [CTOs guide to NativeScript](https://www.nativescript.org/ctos-guide) helps you understand why NativeScript is the right choice for your next mobile project.
## Getting Started and Installation

View File

@@ -27,7 +27,7 @@ extract_snippets() {
npm install markdown-snippet-injector
for SNIPPET_DIR in {tests/app,apps/app,tns-core-modules} ; do
for SNIPPET_DIR in {tests/app,apps/app,nativescript-core} ; do
echo "Extracting snippets from: $SNIPPET_DIR"
node "$BIN" --root="$SNIPPET_DIR" --target="$TARGET_DIR" \
--sourceext=".js|.ts|.xml|.html|.css"

View File

@@ -1,4 +1,7 @@
{
"rulesDirectory": [
"@nativescript/tslint-rules"
],
"rules": {
"arrow-return-shorthand": true,
"class-name": true,
@@ -9,6 +12,7 @@
"jsdoc-format": false,
"max-line-length": [false, 120],
"newline-before-return": true,
"no-android-resources": true,
"no-arg": true,
"no-bitwise": false,
"no-consecutive-blank-lines": true,

View File

@@ -247,14 +247,3 @@ export class NetworkDomainDebugger implements inspectorCommandTypes.NetworkDomai
return resourceData;
}
}
@inspectorCommands.DomainDispatcher("Runtime")
export class RuntimeDomainDebugger {
constructor() {
__inspectorSendEvent(`{"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"http://main.xml","name":"","auxData":{"isDefault":true,"frameId":"${frameId}"}}}}`);
}
compileScript(): { scriptId?: string, exceptionDetails?: Object } {
return {};
}
}

View File

@@ -3,7 +3,7 @@
"main": "index",
"types": "index.d.ts",
"description": "Telerik NativeScript Core Modules",
"version": "6.2.1",
"version": "6.3.0",
"homepage": "https://www.nativescript.org",
"repository": {
"type": "git",

View File

@@ -58,19 +58,16 @@ export function _getStyleProperties(): CssProperty<any, any>[] {
return getPropertiesFromMap(cssSymbolPropertyMap) as CssProperty<any, any>[];
}
const cssVariableExpressionRegexp = /\bvar\(\s*(--[^,\s]+?)(?:\s*,\s*(.+))?\s*\)/;
const cssVariableAllExpressionsRegexp = /\bvar\(\s*(--[^,\s]+?)(?:\s*,\s*(.+))?\s*\)/g;
export function isCssVariable(property: string) {
return /^--[^,\s]+?$/.test(property);
}
export function isCssCalcExpression(value: string) {
return /\bcalc\(/.test(value);
return value.includes("calc(");
}
export function isCssVariableExpression(value: string) {
return cssVariableExpressionRegexp.test(value);
return value.includes("var(--");
}
export function _evaluateCssVariableExpression(view: ViewBase, cssName: string, value: string): string {
@@ -90,26 +87,28 @@ export function _evaluateCssVariableExpression(view: ViewBase, cssName: string,
while (lastValue !== output) {
lastValue = output;
output = output.replace(cssVariableAllExpressionsRegexp, (matchStr, cssVariableName: string, fallbackStr: string) => {
const cssVariableValue = view.style.getCssVariable(cssVariableName);
if (cssVariableValue !== null) {
return cssVariableValue;
}
const idx = output.lastIndexOf("var(");
if (idx === -1) {
continue;
}
if (fallbackStr) {
// css-variable not found, using fallback-string.
const fallbackOutput = _evaluateCssVariableExpression(view, cssName, fallbackStr);
if (fallbackOutput) {
// If the fallback have multiple values, return the first of them.
return fallbackOutput.split(",")[0];
}
}
const endIdx = output.indexOf(")", idx);
if (endIdx === -1) {
continue;
}
// Couldn't find a value for the css-variable or the fallback, return "unset"
traceWrite(`Failed to get value for css-variable "${cssVariableName}" used in "${cssName}"=[${value}] to ${view}`, traceCategories.Style, traceMessageType.error);
const matched = output.substring(idx + 4, endIdx).split(",").map((v) => v.trim()).filter((v) => !!v);
const cssVariableName = matched.shift();
let cssVariableValue = view.style.getCssVariable(cssVariableName);
if (cssVariableValue === null && matched.length) {
cssVariableValue = _evaluateCssVariableExpression(view, cssName, matched.join(", ")).split(",")[0];
}
return "unset";
});
if (!cssVariableValue) {
cssVariableValue = "unset";
}
output = `${output.substring(0, idx)}${cssVariableValue}${output.substring(endIdx + 1)}`;
}
return output;

View File

@@ -9,6 +9,7 @@
"license": "Apache-2.0",
"devDependencies": {
"@microsoft/api-extractor": "^7.5.0",
"@nativescript/tslint-rules": "0.0.5",
"@types/chai": "^4.0.4",
"@types/mocha": "^2.2.42",
"@types/node": "~10.12.18",
@@ -47,6 +48,7 @@
"unit-test-watch": "mocha-typescript-watch -p unit-tests/tsconfig.json --opts unit-tests/mocha.opts",
"dev-link-tns-core-modules-widgets": "(cd tns-core-modules-widgets/dist/package && npm link) && (cd nativescript-core && npm i ../tns-core-modules-widgets/dist/package --save)",
"api-extractor": "api-extractor run --local --verbose && (cd nativescript-core && cat nativescript-core.header nativescript-core.d.ts > tmp_file && mv tmp_file nativescript-core.d.ts)",
"api-extractor-ci": "api-extractor run --verbose",
"typedoc": "npm run api-extractor && typedoc --tsconfig tsconfig.typedoc.json",
"typedoc-dev": "npm run typedoc && cd bin/dist/apiref && npx http-server",
"build-core": "sh ./build/build-core.sh",

View File

@@ -1789,6 +1789,7 @@ export function test_nested_css_calc_and_variables() {
const cssVarName = `--my-width-factor-base-${Date.now()}`;
const cssVarName2 = `--my-width-factor-${Date.now()}`;
const undefinedCssVarName = `--my-undefined-variable-${Date.now()}`;
const stack = new stackModule.StackLayout();
stack.css = `
@@ -1809,6 +1810,10 @@ export function test_nested_css_calc_and_variables() {
StackLayout.nested {
${cssVarName2}: calc(var(${cssVarName}) * 2);
}
StackLayout.nested-fallback {
width: calc(calc(var(${undefinedCssVarName}, 16) / 2) * 2));
}
`;
const label = new labelModule.Label();
@@ -1841,6 +1846,9 @@ export function test_nested_css_calc_and_variables() {
stack.className = "nested";
TKUnit.assertDeepEqual(stack.width, { unit: "%", value: 1 }, "Stack - width === 100%");
stack.className = "nested-fallback";
TKUnit.assertDeepEqual(stack.width, 16, "Stack - width === 16");
}
export function test_css_variable_is_applied_to_normal_properties() {

View File

@@ -3,7 +3,7 @@
"main": "index",
"types": "index.d.ts",
"description": "Telerik NativeScript Core Modules",
"version": "6.2.1",
"version": "6.3.0",
"homepage": "https://www.nativescript.org",
"repository": {
"type": "git",

View File

@@ -1 +1,2 @@
// Not needed. Only added for back-compatibility as some apps refer to this file. d
// Not needed. Only added for back-compatibility as some apps refer to this file.

View File

@@ -1,6 +1,6 @@
{
"name": "tns-core-modules-widgets",
"version": "6.2.1",
"version": "6.3.0",
"description": "Native widgets used in the NativeScript framework.",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"

View File

@@ -1,6 +1,6 @@
{
"name": "tns-platform-declarations",
"version": "6.2.1",
"version": "6.3.0",
"description": "Platform-specific TypeScript declarations for NativeScript for accessing native objects",
"main": "",
"scripts": {