diff --git a/.github/workflows/documenter.yml b/.github/workflows/documenter.yml index bd7b4d99..6c1cc79c 100644 --- a/.github/workflows/documenter.yml +++ b/.github/workflows/documenter.yml @@ -15,8 +15,11 @@ jobs: - uses: julia-actions/setup-julia@latest with: version: '1.6' + - uses: actions/setup-node@v2 + with: + node-version: '18' - name: Install dependencies - run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate(); Pkg.build("WebIO")' - name: Build and deploy env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index faac48f2..f2b29ed5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,15 +23,15 @@ jobs: arch: - x64 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v4 with: - node-version: '16' - - uses: actions/cache@v1 + node-version: '18' + - uses: actions/cache@v4 env: cache-name: cache-artifacts with: @@ -46,6 +46,6 @@ jobs: with: prefix: xvfb-run - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v5 with: file: lcov.info diff --git a/docs/make.jl b/docs/make.jl index ab0ad020..b57aa519 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -5,10 +5,13 @@ using WebIO # defined behind @require guards. using IJulia, Mux, Blink +DocMeta.setdocmeta!(WebIO, :DocTestSetup, :(using WebIO); recursive=true) + makedocs( sitename="WebIO", format=Documenter.HTML(), modules=[WebIO], + warnonly = [:missing_docs, :cross_references, :docs_block], pages=[ "index.md", "gettingstarted.md", diff --git a/docs/src/api/jsstring.md b/docs/src/api/jsstring.md index a6b451d5..16bd36b5 100644 --- a/docs/src/api/jsstring.md +++ b/docs/src/api/jsstring.md @@ -4,9 +4,3 @@ ```@docs @js_str ``` - -## Internal API -```@docs -WebIO.JSString -WebIO.tojs -``` diff --git a/docs/src/api/node.md b/docs/src/api/node.md index c8829916..a82fc61c 100644 --- a/docs/src/api/node.md +++ b/docs/src/api/node.md @@ -3,5 +3,4 @@ ## Public API ```@docs Node -node ``` diff --git a/docs/src/api/observable.md b/docs/src/api/observable.md index d3bd6441..97f1c3a7 100644 --- a/docs/src/api/observable.md +++ b/docs/src/api/observable.md @@ -1,6 +1 @@ # Observables - -## Internal API -```@docs -WebIO.ObservableNode -``` diff --git a/packages/package.json b/packages/package.json index 27b2ecca..08c4ab95 100644 --- a/packages/package.json +++ b/packages/package.json @@ -1,17 +1,21 @@ { "name": "root", "private": true, + "workspaces": [ + "webio", + "blink-provider", + "generic-http-provider", + "mux-provider" + ], "scripts": { - "build": "lerna run build", - "build-prod": "lerna run build-prod", - "lerna": "lerna" + "build": "npm run build --workspaces --if-present", + "build-prod": "npm run build-prod --workspaces --if-present" }, "devDependencies": { "@babel/core": "^7.4.0", "@babel/polyfill": "^7.4.0", "@babel/preset-env": "^7.4.2", "babel-loader": "^8.0.5", - "lerna": "^3.16.2", "ts-loader": "^9.4.1", "typescript": "^4.0.3", "terser-webpack-plugin": "^5.3.6", @@ -19,10 +23,8 @@ "webpack-cli": "^4.10.0", "webpack-merge": "^4.2.1" }, - "dependencies": { - "@webio/blink-provider": "file:blink-provider", - "@webio/generic-http-provider": "file:generic-http-provider", - "@webio/mux-provider": "file:mux-provider", - "@webio/webio": "file:webio" + "overrides": { + "@types/minimatch": "5.1.2", + "@types/node": "16.18.68" } } diff --git a/test/blink-tests.jl b/test/blink-tests.jl index c673f233..d8bf624e 100644 --- a/test/blink-tests.jl +++ b/test/blink-tests.jl @@ -83,22 +83,33 @@ w = open_window() return with_timeout(() -> take!(output), 5) end - @testset "scope imports" begin - for use_iframe in (false, true) + @testset "scope imports" begin + run_external_url_tests = parse(Bool, get(ENV, "WEBIO_TEST_EXTERNAL_URLS", "false")) + for use_iframe in (false, true) @testset "local package, AssetRegistry" begin @test scope_import(w, joinpath(@__DIR__, "assets", "trivial_import.js"), use_iframe) == "ok" end @testset "global URL, no http:" begin - # TODO: change this to a permanent URL because this CSAIL account - # will eventually expire. - @test scope_import(w, "//people.csail.mit.edu/rdeits/webio_tests/trivial_import.js", use_iframe) == "ok" + if !run_external_url_tests + @test_skip true + else + # TODO: change this to a permanent URL because this CSAIL account + # will eventually expire. + @info "Performing external URL test (set WEBIO_TEST_EXTERNAL_URLS=true to enable)." + @test scope_import(w, "//people.csail.mit.edu/rdeits/webio_tests/trivial_import.js", use_iframe) == "ok" + end end - + @testset "global URL, with http:" begin - # TODO: change this to a permanent URL because this CSAIL account - # will eventually expire. - @test scope_import(w, "http://people.csail.mit.edu/rdeits/webio_tests/trivial_import.js", use_iframe) == "ok" + if !run_external_url_tests + @test_skip true + else + # TODO: change this to a permanent URL because this CSAIL account + # will eventually expire. + @info "Performing external URL test (set WEBIO_TEST_EXTERNAL_URLS=true to enable)." + @test scope_import(w, "http://people.csail.mit.edu/rdeits/webio_tests/trivial_import.js", use_iframe) == "ok" + end end end end