Commit Graph

96 Commits

Author SHA1 Message Date
Alexander Vakrilov
cc97a16800 feat: Scoped Packages (#7911)
* chore: move tns-core-modules to nativescript-core

* chore: preparing compat generate script

* chore: add missing definitions

* chore: no need for http-request to be private

* chore: packages chore

* test: generate tests for tns-core-modules

* chore: add anroid module for consistency

* chore: add .npmignore

* chore: added privateModulesWhitelist

* chore(webpack): added bundle-entry-points

* chore: scripts

* chore: tests changed to use @ns/core

* test: add scoped-packages test project

* test: fix types

* test: update test project

* chore: build scripts

* chore: update build script

* chore: npm scripts cleanup

* chore: make the compat pgk work with old wp config

* test: generate diff friendly tests

* chore: create barrel exports

* chore: move files after rebase

* chore: typedoc config

* chore: compat mode

* chore: review of barrels

* chore: remove tns-core-modules import after rebase

* chore: dev workflow setup

* chore: update developer-workflow

* docs: experiment with API extractor

* chore: api-extractor and barrel exports

* chore: api-extractor configs

* chore: generate d.ts rollup with api-extractor

* refactor: move methods inside Frame

* chore: fic tests to use Frame static methods

* refactor: create Builder class

* refactor: use Builder class in tests

* refactor: include Style in ui barrel

* chore: separate compat build script

* chore: fix tslint errors

* chore: update NATIVESCRIPT_CORE_ARGS

* chore: fix compat pack

* chore: fix ui-test-app build with linked modules

* chore: Application, ApplicationSettings, Connectivity and Http

* chore: export Trace, Profiling and Utils

* refactor: Static create methods for ImageSource

* chore: fix deprecated usages of ImageSource

* chore: move Span and FormattedString to ui

* chore: add events-args and ImageSource to index files

* chore: check for CLI >= 6.2 when building for IOS

* chore: update travis build

* chore: copy Pod file to compat package

* chore: update error msg ui-tests-app

* refactor: Apply suggestions from code review

Co-Authored-By: Martin Yankov <m.i.yankov@gmail.com>

* chore: typings and refs

* chore: add missing d.ts files for public API

* chore: adress code review FB

* chore: update api-report

* chore: dev-workflow for other apps

* chore: api update

* chore: update api-report
2019-10-17 00:45:33 +03:00
Alexander Vakrilov
82f2ccbdfb chore: remove grunt and clean-up (#7845)
* chore: remove grunt files and deps

* chore: npm scripts cleanup

* chore: more deps clean-up

* chore: tsconfig clean-up

* chore: remove unneed file

* chore: move tsinfig.unit-tests

* chore: add dist/ exclude
2019-10-03 14:50:59 +03:00
Vasil Chimev
3e8d6350b9 feat(platform-declarations): generate typings from iOS 13.0 SDK (#7817)
* feat(platform-declarations): generate typings from iOS 13.0 SDK

* fix(platform-declarations): typings generation script

Delete Material Components typings from `tns-platform-declarations`,
they are part of `tns-core-modules` package.

* refactor(platform-declarations): workaround a TypeScript error

Error:
```
tns-platform-declarations/ios/objc-x86_64/objc!OSLog.d.ts(178,15): error TS2417: Class static side 'typeof OSLogEnumerator' incorrectly extends base class static side 'typeof NSEnumerator'.
  Types of property 'alloc' are incompatible.
    Type '() => OSLogEnumerator' is not assignable to type '<ObjectType>() => NSEnumerator<ObjectType>'.
      Type 'OSLogEnumerator' is not assignable to type 'NSEnumerator<ObjectType>'.
        Types of property 'allObjects' are incompatible.
          Type 'NSArray<NSObject>' is not assignable to type 'NSArray<ObjectType>'.
            Type 'NSObject' is not assignable to type 'ObjectType'.
              'NSObject' is assignable to the constraint of type 'ObjectType', but 'ObjectType' could be instantiated with a different subtype of constraint '{}'.
```

References:
https://github.com/Microsoft/TypeScript/issues/17575
https://stackoverflow.com/questions/52518125/workaround-for-accessing-class-type-arguments-in-static-method-in-typescript

* docs(platform-declarations): note a manual step on generating typings

* chore(platform-declarations): exclude ios-typings-prj from transpilation

* refactor(platform-declarations): delete references to MDC types

```
ios/objc-x86_64/objc!QuartzCore.d.ts:676:36 - error TS2304: Cannot find name 'MDCAnimationTimingFunction'.

676  static mdc_functionWithType(type: MDCAnimationTimingFunction): CAMediaTimingFunction;

ios/objc-x86_64/objc!UIKit.d.ts:7717:54 - error TS2304: Cannot find name 'MDCFontTextStyle'.

7717  static mdc_preferredFontForMaterialTextStyle(style: MDCFontTextStyle): UIFont;

ios/objc-x86_64/objc!UIKit.d.ts:7719:53 - error TS2304: Cannot find name 'MDCFontTextStyle'.

7719  static mdc_standardFontForMaterialTextStyle(style: MDCFontTextStyle): UIFont;

ios/objc-x86_64/objc!UIKit.d.ts:7771:63 - error TS2304: Cannot find name 'MDCFontTextStyle'.

7771  mdc_fontSizedForMaterialTextStyleScaledForDynamicType(style: MDCFontTextStyle, scaled: boolean): UIFont;

ios/objc-x86_64/objc!UIKit.d.ts:7794:64 - error TS2304: Cannot find name 'MDCFontTextStyle'.

7794  static mdc_preferredFontDescriptorForMaterialTextStyle(style: MDCFontTextStyle): UIFontDescriptor;

ios/objc-x86_64/objc!UIKit.d.ts:7796:63 - error TS2304: Cannot find name 'MDCFontTextStyle'.

7796  static mdc_standardFontDescriptorForMaterialTextStyle(style: MDCFontTextStyle): UIFontDescriptor;
```
2019-09-19 22:18:08 +03:00
Manol Donev
ecd9fc3e9d feat: bundle workflow support (#7337) 2019-06-20 15:58:36 +03:00
Alexander Djenkov
c5db112b8d feat(android): androidX support (#7039)
* feat: migrate support library namespaces to androidX

* feat(tns-platform-declarations): update to androidX typings

* chore(tests): migrate test apps to AndroidX

* chore(tns-platform-declarations): update tsconfig to include androidx dts files

* update package.json to androidx

* chore(androidx): migrate forgotten support library namspaces

* feat(tns-core-modules-widgets): migrate to AndroidX namespaces

* chore(utils): update androidx namspace for getPaletteColor method

* chore(apps): update tns-platform-declarations package

* Update package.json
2019-06-10 09:21:41 +03:00
Vasil Trifonov
398c9b3f33 feat(typings): Adding Android typings for API levels from 17 to 27 (#5890)
Adding android typings for API levels from 17 to 27

BREAKING CHANGES:
There is no longer added `I` prefix in the names of the interfaces. For example `android.view.IMenuItem` is now `android.view.MenuItem`. This matches the original name of the interface in the android framework.
2018-07-05 18:36:23 +03:00
Manol Donev
2fc1d8a8d4 chore(tsc): enable noUnusedLocals compiler option for tns-core-modules (#5755) 2018-05-10 16:12:59 +03:00
Vasil Chimev
e1a1d643c8 test(e2e): add modal-navigation app tests (#5445)
* test(e2e): modal-navigation app webpack support

* test(e2e): add modal-navigation app smoke test

* chore(e2e): tslint disable next line

* chore(e2e): modal-navigation app compilation

* refactor(e2e): modal-nabivation app pages

* test(e2e): add app root modal frame tests

* test(e2e): add app root modal frame background tests

* refactor(e2e): app root modal frame tests

* test(e2e): add tab root modal frame tests

* refactor(e2e): modal frame tests

* test(e2e): add modal page tests

* docs(e2e): add scenarios

* refactor(e2e): modal-navigation app tests

* test(e2e): turn on/off "Don't keep activities"

* test(e2e): delete no background tests

* test(e2e): add modal tab tests

* refactor(e2e): quit driver after all tests

* refactor(e2e): config files

* fix(e2e): tab root tests

* refactor(e2e): skip tab root tests until fix app

* chore(e2e): config files
2018-03-13 09:06:12 +02:00
Manol Donev
e1eea8efe7 test(e2e): add modal-navigation app (#5393)
* chore(apps): add modal-navigation-app for ui testing

* test(e2e): add modal-navigation app

* test(apps): remove modal-navigation-app

The app has been moved to `e2e/modal-navigation`.

* chore: include e2e folder to npm scripts

* docs: include e2e folder to DevelopmentWorkflow.md

* chore(e2e): update .gitignore

* fix(e2e): relative paths

* chore(e2e): update package.json

* test(e2e): add change root view to modal-navigation

* test(e2e): set androidTabsPosition to botton

* chore(e2e): add VSCode launch.json config

* docs(e2e): delete LICENSE and README.md files

* refactor(e2e): rename modal-tab-page to modal-tab-root

* test(e2e): update iOS launch screen
2018-02-14 16:51:51 +02:00
Panayot Cankov
f7a3a36b9c Housekeeping node tests, renamed to unit-tests (#4936)
Add parsers for the background css shorthand property, make ViewBase unit testable in node environment

Add background parser and linear-gradient parser

Use sticky regexes

Simplify some types, introduce generic Parsed<T> instead of & TokenRange

Apply each parser to return a { start, end, value } object

Move the css selector parser to the css/parser and unify types

Add the first steps toward building homegrown css parser

Add somewhat standards compliant tokenizer, add baseline, rework and shady css parsers

Enable all tests again, skip flaky perf test

Improve css parser tokenizer by converting some char token types to simple string

Implement 'parse a stylesheet'

Add gonzales css-parser

Add parseLib and css-tree perf

Add a thin parser layer that will convert CSS3 tokens to values, for now output is compatible with rework

Make root tsc green

Return the requires of tns-core-modules to use relative paths for webpack to work

Implement support for '@import 'url-string';

Fix function parser, function-token is no-longer neglected

Make the style-scope be able to load from "css" and "css-ast" modules

Add a loadAppCss event so theme can be added to snapshot separately from loaded
2017-10-20 10:42:07 +03:00
Panayot Cankov
d978424f35 Add npm script to automate the tsc build for PRs on CI (#4599)
* Add npm run ci to automate some ci stuff

* Inlude node types for node_tests
2017-07-26 18:15:06 +03:00
Hristo Hristov
f2898f84d5 NativeView recycled for android 2017-03-28 18:08:59 +03:00
Hristo Deshev
9113fa9ed8 Use TypeScript 2.1 for the docs build
Until TypeDoc supports TS 2.2
2017-02-24 17:28:18 +02:00
Hristo Deshev
7d7e48f759 Use a shared tsconfig.
Don't duplicate compiler options across projects.
2017-02-15 13:24:44 +02:00
Hristo Deshev
3056ce51c2 Upgrade to TypeScript 2.1, and latest grunt-ts.
Conflicts:
	package.json
	tests/app/ui/animation/animation-tests.ts
	tns-core-modules/lib.core.d.ts
	tns-core-modules/ui/animation/animation-common.ts
2017-02-13 14:13:33 +02:00
Hristo Deshev
cdf08378b0 Remove grunt-ts dependency.
Compile code using tsconfig.json files and plain tsc invocations.
Call those using grunt-shell.
2017-02-13 14:13:33 +02:00
Hristo Hristov
3770f7e636 formatted text fix (#3531)
* Fix formattedText implementation for iOS
Fix typeof undefined checks
Add slow tests message
Improve tests speed

* fix tslint
reduce transitions duration in test

* waitUntilReady will throw if timeout
fix tests that needs to wait without throwing
improve test speed
2017-01-26 18:21:30 +02:00
Rossen Hristov
75dba8fab2 Include apps and tests in tsconfig.json 2016-12-20 09:36:23 +02:00
Rossen Hristov
53be1ecc07 FontStyle and FontWeight enums everywhere 2016-12-16 16:31:20 +02:00
Hristo Hristov
e97fd105e3 Fix missing exports 2016-12-14 13:59:50 +02:00
Panayot Cankov
791aab04e5 Flexbox ios initial commit
Items now appear, but they should initially shrink and they don't

Add 15-ish tests for flexbox layout

Port reasonable flexbox test set

Fixing issues, adding unit tests

Moved from .tsx to .ts and used our ui/builder.parse
2016-10-19 17:02:26 +03:00
Panayot Cankov
0e23f47a04 Update the .travis.yml to npm pack the tns-platform-declarations, add lib: [] config in the tsconfig.json 2016-09-26 11:53:40 +03:00
Panayot Cankov
299203901e Move platform .d.ts-es to separate plugin folder
Add dev-setup to figure out links

Update development workflow

Update package.json and dts-ios

Update the iOS declarations

grunt is now fine
2016-09-26 11:53:39 +03:00
Panayot Cankov
1236f66f44 Add npm script that generates ios .d.ts-es from the tests app
Less than 30 erros left, let's hope it still works

Added lib.*.d.ts from typescript, removed lib and dom stuff, added by hand XHR, alert etc. .d.ts-es for polyfills

Roll back some changes involved in separating UIEvent for dom and ios

Test combined dts-es will now use lib, while internally we will not to avoid UIEvent conflict with dom stuff
2016-08-29 09:58:17 +03:00
Rossen Hristov
fa48f4e425 Merge pull request #2475 from NativeScript/ios-known-folders
Add iOS-specific known folders to fs.knownFolders
2016-07-20 11:37:09 +03:00
Rossen Hristov
116bc26dc1 Add iOS-specific known folders to fs.knownFolders 2016-07-19 16:33:51 +03:00
Panayot Cankov
c1aeeb51a7 Inital by-type split
Split type.class from CssTypeSelector to CssCompositeSelector, probably support type#id.class selectors

Apply review comments, refactor css-selectors internally

Applied refactoring, all tests pass, button does not notify changes

Add tests for the css selectors parser.

Added tests for css-selectors

Added basic implementation of mayMatch and changeMap for css match state

Implemented TKUnit.assertDeepEqual to check key and key/values in Map and Set

Watch for property and pseudoClass changes

Add one child group test

Add typings for animations

Added mechanism to enable/disable listeners for pseudo classes

Count listeners instead of checking handlers, reverse subscription and unsubscription
2016-07-18 17:24:09 +03:00
Rossen Hristov
a18d5e7622 Create a single NS app for cuteness.io, gallery-app and ui-tests-app in apps/
Move all other apps to https://github.com/NativeScript/tns-apps-graveyard
2016-07-11 15:34:28 +03:00
Hristo Hristov
3962ac11a2 AffectsLayout done only for iOS. Android will invalidate itself when needed. (#2307) 2016-06-14 16:44:09 +03:00
Panayot Cankov
940174b208 Remove the files entry from the tsconfig.json 2016-06-13 14:04:42 +03:00
atanasovg
ef0577ed56 Decouple Fragment implementation logic from the Extend call. 2016-06-10 18:01:47 +03:00
atanasovg
48f14badca Update the tsconfig and package.json files to reflect the new changes. 2016-06-09 15:19:39 +03:00
Tsvetan Raikov
bdbaa8968c Added a missing file in tsconfig.json. Fixed build scripts. 2016-06-03 15:25:10 +03:00
Panayot Cankov
58b4a6eec6 Add 'npm test' for mac 2016-05-30 16:10:57 +03:00
SvetoslavTsenov
69f34e86e7 Merge pull request #2172 from NativeScript/tsenov/panEventTestPage
Include pan-event.ts test page in tsconfig.json
2016-05-30 09:55:42 +03:00
Panayot Cankov
3e48e665b7 Add DevelopmentWorkflow.md 2016-05-27 11:27:54 +03:00
Panayot Cankov
e135c20b14 Rename the files 2016-05-26 14:30:25 +03:00
SvetoslavTsenov
2b817374ef Include pan-event.ts test page in tsconfig.json 2016-05-25 11:06:21 +03:00
Panayot Cankov
674f4e7704 Merge pull request #2111 from NativeScript/widgets-ios-async-image
Optional async mode for loading images from local files
2016-05-20 09:11:36 +03:00
Nedyalko Nikolov
1b395aac7f async image loading from data, files and resources for ios
Use the tns_safeDecodeImageNamedCompletion from the widgets framework

Add loadMode on Image with sync and async options for local images
2016-05-19 16:58:58 +03:00
Vasil Chimev
e7fd472ea3 Add a file to tsconfig.json 2016-05-16 13:41:57 +03:00
Erjan Gavalji
f15f283c74 Reorder test file structure to match the modules
Needed to have a nice structured cookbook dir in the docs

Includes:
Move the data-module tests under the data dir
Move the frame tests under the ui dir
Rename the dialog.md file to dialogs.md
Fix the web-view title
Add previous_url attributes to each article for SEO
Rename the style dir to styling to match the reference
Fix the frame-tests path
2016-05-05 10:43:35 +03:00
Rossen Hristov
54c65e94d7 Split layout-base to iOS and Android files
clipToBounds for a single view can't be implemented in Android in a straightforward manner

Resolves #1829
2016-04-28 17:35:06 +03:00
Erjan Gavalji
a4801c6948 Fix the layouts tests in the tsconfig.json 2016-05-02 17:53:15 +03:00
Jason Zhekov
02df926051 Evaluate lazily android specific global values 2016-04-21 17:20:48 +03:00
Rossen Hristov
2347ccbd9a Add apps/sample-fonts/*.ts to tsconfig.json 2016-04-13 11:08:13 +03:00
Tsvetan Raikov
2601a49099 Merge branch 'master' into feature/css-animations-new 2016-03-25 15:39:30 +02:00
Tsvetan Raikov
073cc94926 implemented CSS animations
fixing animation tests
2016-03-25 15:26:48 +02:00
Hristo Hristov
429646f392 Fix swipe-back in iOS 2016-03-25 13:45:05 +02:00
Panayot Cankov
9b2f72267c The 'grunt inplace' build will generate source maps now 2016-03-24 17:12:31 +02:00