* Changed sources folder to separate the CLI from the 'Kit' to allow for testability of each command
* Fixed Swift 5.2 Support
* Removed Path.swift (for now)
* Fixed OpenCombine and other version issues for 5.2 support
* Removed Path.swift from test target dependency
Co-authored-by: thecb4 <cavelle@tehcb4.io>
This is required to make the `Image` view work as described in https://github.com/TokamakUI/Tokamak/pull/155#issuecomment-723677472.
* Demangle and print Firefox stacktraces in terminal
* Update the entrypoints archive URL, rename file
* Add missing newline to `ProcessRunner.swift`
* Remove redundant `console.log` call from `dev.js`
* Detect destination env from `User-Agent` header
* Silence linter in tests where it can't be avoided
* Add support for basic testing in browsers
* Add a browser message on finish, shut down server
* Serve main bundle resources from root directory
* Fix archive hashes, bump JSKit in TestApp to 0.9.0
* Add comments to clarify behavior
* Fix typo in doc comment in `Package.swift`
`FileDownloadDelegate` was introduced in https://github.com/swift-server/async-http-client/pull/275, which almost directly mirrors the implementation in `carton`. Now that it's available in a released version of AHC, let's delete some code here and replace it with the version from that package.
Resolves https://github.com/swiftwasm/carton/issues/42.
Also updates JavaScriptKit dependency to 0.9.0.
* Demangle and print Firefox stacktraces in terminal
* Update the entrypoints archive URL, rename file
* Add missing newline to `ProcessRunner.swift`
* Remove redundant `console.log` call from `dev.js`
* Detect destination env from `User-Agent` header
* Silence linter in tests where it can't be avoided
* Add support for basic testing in browsers
* Add a browser message on finish, shut down server
* Update JavaScriptKit to 0.9.0
This currently supports only Firefox, parsing of stack traces for other browsers will be added in separate PRs.
Resolves a part of #26.
* Demangle and print Firefox stacktraces in terminal
* Update the entrypoints archive URL, rename file
* Add missing newline to `ProcessRunner.swift`
* Remove redundant `console.log` call from `dev.js`
* Detect destination env from `User-Agent` header
* Silence linter in tests where it can't be avoided
* Remove use of grey color in stacktrace output
* Support system installed toolchain
* Fix linux build
* Apply latest swiftformat
* Apply suggestions from code review
Co-authored-by: Max Desiatov <max@desiatov.com>
* Update Sources/SwiftToolchain/ToolchainResolver.swift
Co-authored-by: Max Desiatov <max@desiatov.com>
Co-authored-by: Max Desiatov <max@desiatov.com>
After https://github.com/apple/swift-package-manager/pull/3013 was merged and cherry-picked for our 5.3 snapshots (starting with `wasm-5.3-SNAPSHOT-2020-11-02-a`), `carton test` needs to handle the `.wasm` extension in test products.
Currently test report outputs time as something like `0.17200000000000013s, estimated 1s`. This is not very readable, so maybe something like `0.17s` would be better?
Every Swift package with test targets has an implicit test product with `"\(package.name)PackageTests"` name. `swift build --build-tests` builds all products in a given package including the implicit test product. This doesn't work in situations where some of the products can't be compiled for Wasm, even when they are excluded with `condition: .when(platforms: [.macOS, .linux])` from test dependencies. This prevents tests from being built at all in such packages. OpenCombine is the primary victim of this problem.
Fortunately, the implicit test product can be accessed through the `--product` option passed to `swift build`. When using that option, only the test product and its dependencies are built. Products (and therefore their underlying targets) that aren't needed for tests are excluded from such builds. We should explicitly pass `--product` option to `swift build` instead of `--build-tests` in the `carton test` implementation to resolve the issue.
I've also added a new task to `tasks.json` that I previously used for testing `carton dev -v`.
`Dockerfile` has been updated to use the same toolchain as it does in `DefaultToolchain.swift`.
* Build only test product and its deps for testing
* Reuse product name interpolation
* Update `Dockerfile`
* Remove unnecessary linker flags
* Remove destination json
* Import CoreFoundation explicitly to link it
* Remove Destination.swift model file
* Restore triple option
* Update default toolchain
* Workaround until https://github.com/swiftwasm/swift/pull/2097
* Revert "Workaround until https://github.com/swiftwasm/swift/pull/2097"
This reverts commit 285d2ae7aa.
* Update toolchain version
* Warn use of --destination
* Apply suggestions from code review
Co-authored-by: Max Desiatov <max@desiatov.com>
Co-authored-by: Max Desiatov <max@desiatov.com>