From 65beb09c17104a091579a114095da85d7cc4f018 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 19:04:56 +0200 Subject: [PATCH 01/31] feat(ssl): add certs - add certicifactes - adjust code to use ssl - adjust workflow - update dependencies #55 --- .github/workflows/feature.yml | 22 ++++--- Dockerfile | 4 +- docker/development.fritz.box.crt | 95 ------------------------------ docker/development.fritz.box.key | 28 --------- docker/development.fritz.box.pem | 29 --------- docker/fritz.box.crt | 28 --------- docker/fritz.box.pem | 17 ------ e2e/setup.ts | 2 +- package.json | 20 +++---- scripts/server.ts | 20 ++++--- ssl/development.fritz.box.crt | 98 +++++++++++++++++++++++++++++++ ssl/development.fritz.box.key | 28 +++++++++ ssl/development.fritz.box.p12 | Bin 0 -> 4405 bytes ssl/dh.pem | 8 +++ ssl/fritz.box.crt | 30 ++++++++++ ssl/fritz.box.key | 30 ++++++++++ ssl/fritz.box.pem | 18 ++++++ webpack.config.js | 10 ++-- 18 files changed, 255 insertions(+), 232 deletions(-) delete mode 100644 docker/development.fritz.box.crt delete mode 100644 docker/development.fritz.box.key delete mode 100644 docker/development.fritz.box.pem delete mode 100644 docker/fritz.box.crt delete mode 100644 docker/fritz.box.pem create mode 100644 ssl/development.fritz.box.crt create mode 100644 ssl/development.fritz.box.key create mode 100644 ssl/development.fritz.box.p12 create mode 100644 ssl/dh.pem create mode 100644 ssl/fritz.box.crt create mode 100644 ssl/fritz.box.key create mode 100644 ssl/fritz.box.pem diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index eabfc9e..39611fa 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -5,6 +5,11 @@ on: branches: - feature/* +env: + CI: true + GITHUB_BRANCH: ${{ github.ref }} + GITHUB_COMMIT: ${{ github.sha }} + jobs: build: runs-on: ${{ matrix.os }} @@ -29,27 +34,26 @@ jobs: - name: npm install run: | npm install - env: - CI: true - name: npm run build run: | npm run build - env: - CI: true - name: npm test run: | npm test - env: - CI: true - name: npm run e2e run: | sudo apt-get update - sudo apt-get install xvfb + sudo apt-get install ca-certificates libnss3-tools xvfb + sudo mkdir -pv /usr/local/share/ca-certificates + sudo cp -v ssl/fritz.box.crt /usr/local/share/ca-certificates/ + sudo chmod 644 /usr/local/share/ca-certificates/* + sudo update-ca-certificates + sudo mkdir -pv /etc/pki/nssdb + sudo certutil -d sql:/etc/pki/nssdb --emtpy-password -N + sudo certutil -d sql:/etc/pki/nssdb --emtpy-password -A -t "C,," -n "fritz.box" -i ssl/fritz.box.crt xvfb-run --auto-servernum -- bash -c "npm run e2e" env: HEADLESS: true - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: archive e2e screenshots uses: actions/upload-artifact@v1 diff --git a/Dockerfile b/Dockerfile index 3c78da8..850d74f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,8 @@ FROM alpine:latest COPY ./docker/docker-entrypoint.sh ./docker/docker-cmd.sh \ ./docker/docker-healthcheck.sh \ - ./docker/fritz.box.crt ./docker/fritz.box.pem \ - ./docker/development.fritz.box.crt ./docker/development.fritz.box.key / + ./ssl/fritz.box.crt ./ssl/fritz.box.pem \ + ./ssl/development.fritz.box.crt ./ssl/development.fritz.box.key / COPY ./docker/nginx.conf /etc/nginx/nginx.conf diff --git a/docker/development.fritz.box.crt b/docker/development.fritz.box.crt deleted file mode 100644 index 32d661a..0000000 --- a/docker/development.fritz.box.crt +++ /dev/null @@ -1,95 +0,0 @@ -Certificate: - Data: - Version: 3 (0x2) - Serial Number: - 60:7d:58:ff:8b:29:2c:10:8f:7a:8c:95:59:fe:1a:58 - Signature Algorithm: sha256WithRSAEncryption - Issuer: C=DE, ST=NRW, L=Euskirchen, O=Fritz BOX, OU=Fritz Box CA, CN=Easy-RSA CA/emailAddress=ca@fritz.box - Validity - Not Before: May 10 13:19:28 2020 GMT - Not After : May 10 13:19:28 2021 GMT - Subject: C=DE, ST=NRW, L=Euskirchen, O=Fritz BOX, OU=Fritz Box CA, CN=development.fritz.box/emailAddress=ca@fritz.box - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - RSA Public-Key: (2048 bit) - Modulus: - 00:eb:1f:e1:92:e1:72:d1:b8:c9:37:a0:b9:71:6b: - 73:d2:81:01:a7:f4:2b:84:00:db:0f:02:61:3f:77: - f8:6c:ff:4a:49:90:ff:18:16:52:4f:89:83:e8:39: - 47:64:a2:b8:56:68:ce:a2:56:e8:ed:a9:48:3b:9f: - 7a:3f:94:ba:af:3e:b5:25:60:97:45:0a:3b:dc:b3: - 87:64:c6:2a:2a:eb:fe:9c:49:63:ca:18:53:bc:ad: - cf:7b:b3:81:0d:1c:51:5d:81:14:3a:44:2c:71:6e: - a5:1b:46:a8:0b:ae:aa:ba:cb:c7:65:2f:e1:a1:7b: - f5:38:50:92:d2:b3:31:e2:d2:ff:81:22:66:ae:30: - be:0a:37:fa:e7:fd:aa:94:ad:8b:11:5e:44:e0:a9: - b5:33:99:03:30:f6:89:0a:4c:6b:58:64:22:b2:ad: - de:35:1b:b3:c3:da:0e:3b:3d:aa:8e:53:b7:cf:53: - af:41:e2:ae:ca:80:a9:e3:dc:a0:80:42:56:26:ef: - 66:95:f0:83:79:9c:89:19:41:84:0d:00:92:75:5d: - c7:bf:c0:b4:e9:f5:7f:25:8e:3f:92:48:fe:96:cf: - 60:f6:e8:d8:b6:41:9f:72:15:66:24:db:09:30:e7: - 2b:c8:da:55:ae:6b:b7:8e:c9:d8:1a:3d:0d:c7:9b: - 16:89 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - X509v3 Subject Key Identifier: - 5B:AC:B0:50:25:F5:68:C1:F5:72:56:18:E5:02:0E:D4:DB:38:A3:69 - X509v3 Authority Key Identifier: - keyid:55:89:7F:BA:3C:DE:8D:1B:7E:8D:10:C9:DB:40:E1:B1:42:70:13:6D - DirName:/C=DE/ST=NRW/L=Euskirchen/O=Fritz BOX/OU=Fritz Box CA/CN=Easy-RSA CA/emailAddress=ca@fritz.box - serial:66:85:9C:03:D3:26:01:B5:07:AA:D5:0F:CE:3F:8F:CE:5C:4D:89:15 - - X509v3 Extended Key Usage: - TLS Web Server Authentication - X509v3 Key Usage: - Digital Signature, Key Encipherment - X509v3 Subject Alternative Name: - DNS:development.fritz.box - Signature Algorithm: sha256WithRSAEncryption - a2:ac:e0:b9:22:65:32:4d:7a:e2:fa:aa:70:ef:24:e2:62:b8: - 2a:6b:57:f9:4c:10:ad:b6:03:ee:44:08:52:f4:1a:2c:fc:45: - 78:b0:29:a0:ce:41:af:0b:26:4d:c6:21:fb:6a:1d:47:63:05: - 8c:a0:14:e2:c1:f8:96:25:ff:3b:89:a5:bd:44:a3:00:a6:a1: - f4:d8:40:55:2f:a3:82:08:14:a1:d6:26:70:ee:26:2e:0c:38: - 6d:c5:f8:33:3a:b6:74:d2:44:37:97:ad:41:0c:e0:10:4e:68: - 27:f3:c2:8d:cf:4f:89:6f:d4:d1:3e:03:2c:6a:ba:fd:af:59: - 75:60:db:97:19:4f:3c:04:e2:95:23:59:4d:85:48:89:20:a1: - 86:12:73:8b:b7:a4:bd:c6:55:ab:79:68:00:f2:38:04:4d:4b: - 5e:02:a3:43:5f:b8:ff:b6:8f:c7:c0:47:dd:16:99:2a:c0:5b: - fe:04:7e:82:d1:04:8e:05:28:a6:ac:62:08:b7:ee:46:37:5c: - c7:b9:ea:e3:90:2e:e4:a9:24:5b:a4:0c:d5:f9:9a:bc:ab:bb: - 43:6a:e4:92:a6:1b:80:d4:17:fa:c7:b1:5f:fe:0d:98:8d:04: - ac:a2:cb:fb:1e:e4:3b:d2:45:06:0f:15:de:1f:b1:23:1a:18: - 47:cf:2d:fd ------BEGIN CERTIFICATE----- -MIIE9zCCA9+gAwIBAgIQYH1Y/4spLBCPeoyVWf4aWDANBgkqhkiG9w0BAQsFADCB -jjELMAkGA1UEBhMCREUxDDAKBgNVBAgMA05SVzETMBEGA1UEBwwKRXVza2lyY2hl -bjESMBAGA1UECgwJRnJpdHogQk9YMRUwEwYDVQQLDAxGcml0eiBCb3ggQ0ExFDAS -BgNVBAMMC0Vhc3ktUlNBIENBMRswGQYJKoZIhvcNAQkBFgxjYUBmcml0ei5ib3gw -HhcNMjAwNTEwMTMxOTI4WhcNMjEwNTEwMTMxOTI4WjCBmDELMAkGA1UEBhMCREUx -DDAKBgNVBAgMA05SVzETMBEGA1UEBwwKRXVza2lyY2hlbjESMBAGA1UECgwJRnJp -dHogQk9YMRUwEwYDVQQLDAxGcml0eiBCb3ggQ0ExHjAcBgNVBAMMFWRldmVsb3Bt -ZW50LmZyaXR6LmJveDEbMBkGCSqGSIb3DQEJARYMY2FAZnJpdHouYm94MIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6x/hkuFy0bjJN6C5cWtz0oEBp/Qr -hADbDwJhP3f4bP9KSZD/GBZST4mD6DlHZKK4VmjOolbo7alIO596P5S6rz61JWCX -RQo73LOHZMYqKuv+nEljyhhTvK3Pe7OBDRxRXYEUOkQscW6lG0aoC66qusvHZS/h -oXv1OFCS0rMx4tL/gSJmrjC+Cjf65/2qlK2LEV5E4Km1M5kDMPaJCkxrWGQisq3e -NRuzw9oOOz2qjlO3z1OvQeKuyoCp49yggEJWJu9mlfCDeZyJGUGEDQCSdV3Hv8C0 -6fV/JY4/kkj+ls9g9ujYtkGfchVmJNsJMOcryNpVrmu3jsnYGj0Nx5sWiQIDAQAB -o4IBQzCCAT8wCQYDVR0TBAIwADAdBgNVHQ4EFgQUW6ywUCX1aMH1clYY5QIO1Ns4 -o2kwgc4GA1UdIwSBxjCBw4AUVYl/ujzejRt+jRDJ20DhsUJwE22hgZSkgZEwgY4x -CzAJBgNVBAYTAkRFMQwwCgYDVQQIDANOUlcxEzARBgNVBAcMCkV1c2tpcmNoZW4x -EjAQBgNVBAoMCUZyaXR6IEJPWDEVMBMGA1UECwwMRnJpdHogQm94IENBMRQwEgYD -VQQDDAtFYXN5LVJTQSBDQTEbMBkGCSqGSIb3DQEJARYMY2FAZnJpdHouYm94ghRm -hZwD0yYBtQeq1Q/OP4/OXE2JFTATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8E -BAMCBaAwIAYDVR0RBBkwF4IVZGV2ZWxvcG1lbnQuZnJpdHouYm94MA0GCSqGSIb3 -DQEBCwUAA4IBAQCirOC5ImUyTXri+qpw7yTiYrgqa1f5TBCttgPuRAhS9Bos/EV4 -sCmgzkGvCyZNxiH7ah1HYwWMoBTiwfiWJf87iaW9RKMApqH02EBVL6OCCBSh1iZw -7iYuDDhtxfgzOrZ00kQ3l61BDOAQTmgn88KNz0+Jb9TRPgMsarr9r1l1YNuXGU88 -BOKVI1lNhUiJIKGGEnOLt6S9xlWreWgA8jgETUteAqNDX7j/to/HwEfdFpkqwFv+ -BH6C0QSOBSimrGIIt+5GN1zHuerjkC7kqSRbpAzV+Zq8q7tDauSSphuA1Bf6x7Ff -/g2YjQSsosv7HuQ70kUGDxXeH7EjGhhHzy39 ------END CERTIFICATE----- diff --git a/docker/development.fritz.box.key b/docker/development.fritz.box.key deleted file mode 100644 index c443cd8..0000000 --- a/docker/development.fritz.box.key +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDrH+GS4XLRuMk3 -oLlxa3PSgQGn9CuEANsPAmE/d/hs/0pJkP8YFlJPiYPoOUdkorhWaM6iVujtqUg7 -n3o/lLqvPrUlYJdFCjvcs4dkxioq6/6cSWPKGFO8rc97s4ENHFFdgRQ6RCxxbqUb -RqgLrqq6y8dlL+Ghe/U4UJLSszHi0v+BImauML4KN/rn/aqUrYsRXkTgqbUzmQMw -9okKTGtYZCKyrd41G7PD2g47PaqOU7fPU69B4q7KgKnj3KCAQlYm72aV8IN5nIkZ -QYQNAJJ1Xce/wLTp9X8ljj+SSP6Wz2D26Ni2QZ9yFWYk2wkw5yvI2lWua7eOydga -PQ3HmxaJAgMBAAECggEBALdPwNd6C8G0lrRXC52Az+kjiT3/oNmmrSMzkMwh5b5c -/vcCI9AMvxmhtgSce6vbLWq5BbkNl0aLf3R0rqPZef7dHe/JMcay5t733SxVT1Tt -bzE8Cp/qfYaR4DyqQ4gMNud2lmWi9x9syy7L1IJfKF7AN3INdZUoBpRkRUQeT1tt -9Pnem8ItSULWQkjVU72p0nhttGi5HbZ7q0vN6Xn1FcyGeSnxTfP9nyvo3pOF3xNA -kmrrJohCiOrkAiNXFTex0aA7UOS1bCsMbiXUigNt+Iio8dx+/7+pupERqqIKWM+d -t5ksNnvrouo8hQuyx87fBUtMhL8a5r5ONYcJchc68HECgYEA+zYMzxaAoazlNOmb -8pdrdyKtuQporRjHBZj0mYdS2/1GrT7pbMvQwe8XHvkzia0QrmCs2Hb09cl7PfWg -hriias2VcspIB/Rd49ATeTkEE15auMxhvkCR4FLK3+eBgXeELe0EmAHNgRXN9Zbe -5oQYbb59ZTVCwDEVtU4cr+HQbw0CgYEA75tTc2ynioE6t+3rfk5Yuohk21kMtQlS -jixD/BFqBZcgdN0qibRjjedMnVFmGVvgBTstpfNSM+3P6WazYe3JqxjVmGNRTKCA -q4mRhvAQYJ0+rZVy9AsBx1KGJk5R2m8MtxR5aQ1OIar6cLqY5j9y/QSeAKdBnhoY -YeFpA9/nhm0CgYBMVS4rNwE7H1g+bcXPPyeOeeEj2v/XqTHAh6u7gx0wb5OsTPOM -9ZmndEkoRjzc1tO8yO98jxj8Ho7uUtbGWRAxN+rziHe+wwhMkwt3yFVutTsH8EK7 -Fs+8xCuVQbleZ7yoX98HeXTChqeguolcrkLmBf4AZOC1mbSo9OVOpGU7eQKBgFDu -Lem2sYBe1e56NiibXezjVO2hzmD3nSLYYL4rQ5xPx26xpUSN4XJ0xbP9Ynb+SVR7 -AJgk74cKtEcpoT1ai9t2r+6g3Tz8mXlXJghl3aJEen83E3TKovcoMJePrKYTDEBq -cffBvrowfhbFcA+VLsm3XYbq94bnWYT2FfpxDkqhAoGADJrQ2bUpxfuRVx1woYd4 -3gHxCBxQ7CS+8t7SItLxQ3BIM0FQPmuoCu9n5lVLla0qGG7pQaudYG7FKNdFJCT/ -X/pWPMQ01OUaLLzsA9Uk2q9dqUzL309j+txKR2tVj12eJ75EXdr0vu3IbEZ7Xsgu -du/9XvZhM6HNsiPCt8449C8= ------END PRIVATE KEY----- diff --git a/docker/development.fritz.box.pem b/docker/development.fritz.box.pem deleted file mode 100644 index f586f92..0000000 --- a/docker/development.fritz.box.pem +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE9zCCA9+gAwIBAgIQYH1Y/4spLBCPeoyVWf4aWDANBgkqhkiG9w0BAQsFADCB -jjELMAkGA1UEBhMCREUxDDAKBgNVBAgMA05SVzETMBEGA1UEBwwKRXVza2lyY2hl -bjESMBAGA1UECgwJRnJpdHogQk9YMRUwEwYDVQQLDAxGcml0eiBCb3ggQ0ExFDAS -BgNVBAMMC0Vhc3ktUlNBIENBMRswGQYJKoZIhvcNAQkBFgxjYUBmcml0ei5ib3gw -HhcNMjAwNTEwMTMxOTI4WhcNMjEwNTEwMTMxOTI4WjCBmDELMAkGA1UEBhMCREUx -DDAKBgNVBAgMA05SVzETMBEGA1UEBwwKRXVza2lyY2hlbjESMBAGA1UECgwJRnJp -dHogQk9YMRUwEwYDVQQLDAxGcml0eiBCb3ggQ0ExHjAcBgNVBAMMFWRldmVsb3Bt -ZW50LmZyaXR6LmJveDEbMBkGCSqGSIb3DQEJARYMY2FAZnJpdHouYm94MIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6x/hkuFy0bjJN6C5cWtz0oEBp/Qr -hADbDwJhP3f4bP9KSZD/GBZST4mD6DlHZKK4VmjOolbo7alIO596P5S6rz61JWCX -RQo73LOHZMYqKuv+nEljyhhTvK3Pe7OBDRxRXYEUOkQscW6lG0aoC66qusvHZS/h -oXv1OFCS0rMx4tL/gSJmrjC+Cjf65/2qlK2LEV5E4Km1M5kDMPaJCkxrWGQisq3e -NRuzw9oOOz2qjlO3z1OvQeKuyoCp49yggEJWJu9mlfCDeZyJGUGEDQCSdV3Hv8C0 -6fV/JY4/kkj+ls9g9ujYtkGfchVmJNsJMOcryNpVrmu3jsnYGj0Nx5sWiQIDAQAB -o4IBQzCCAT8wCQYDVR0TBAIwADAdBgNVHQ4EFgQUW6ywUCX1aMH1clYY5QIO1Ns4 -o2kwgc4GA1UdIwSBxjCBw4AUVYl/ujzejRt+jRDJ20DhsUJwE22hgZSkgZEwgY4x -CzAJBgNVBAYTAkRFMQwwCgYDVQQIDANOUlcxEzARBgNVBAcMCkV1c2tpcmNoZW4x -EjAQBgNVBAoMCUZyaXR6IEJPWDEVMBMGA1UECwwMRnJpdHogQm94IENBMRQwEgYD -VQQDDAtFYXN5LVJTQSBDQTEbMBkGCSqGSIb3DQEJARYMY2FAZnJpdHouYm94ghRm -hZwD0yYBtQeq1Q/OP4/OXE2JFTATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8E -BAMCBaAwIAYDVR0RBBkwF4IVZGV2ZWxvcG1lbnQuZnJpdHouYm94MA0GCSqGSIb3 -DQEBCwUAA4IBAQCirOC5ImUyTXri+qpw7yTiYrgqa1f5TBCttgPuRAhS9Bos/EV4 -sCmgzkGvCyZNxiH7ah1HYwWMoBTiwfiWJf87iaW9RKMApqH02EBVL6OCCBSh1iZw -7iYuDDhtxfgzOrZ00kQ3l61BDOAQTmgn88KNz0+Jb9TRPgMsarr9r1l1YNuXGU88 -BOKVI1lNhUiJIKGGEnOLt6S9xlWreWgA8jgETUteAqNDX7j/to/HwEfdFpkqwFv+ -BH6C0QSOBSimrGIIt+5GN1zHuerjkC7kqSRbpAzV+Zq8q7tDauSSphuA1Bf6x7Ff -/g2YjQSsosv7HuQ70kUGDxXeH7EjGhhHzy39 ------END CERTIFICATE----- diff --git a/docker/fritz.box.crt b/docker/fritz.box.crt deleted file mode 100644 index 8bf1430..0000000 --- a/docker/fritz.box.crt +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIUZoWcA9MmAbUHqtUPzj+PzlxNiRUwDQYJKoZIhvcNAQEL -BQAwgY4xCzAJBgNVBAYTAkRFMQwwCgYDVQQIDANOUlcxEzARBgNVBAcMCkV1c2tp -cmNoZW4xEjAQBgNVBAoMCUZyaXR6IEJPWDEVMBMGA1UECwwMRnJpdHogQm94IENB -MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTEbMBkGCSqGSIb3DQEJARYMY2FAZnJpdHou -Ym94MB4XDTIwMDUxMDEzMTkyM1oXDTIyMDYxNzEzMTkyM1owgY4xCzAJBgNVBAYT -AkRFMQwwCgYDVQQIDANOUlcxEzARBgNVBAcMCkV1c2tpcmNoZW4xEjAQBgNVBAoM -CUZyaXR6IEJPWDEVMBMGA1UECwwMRnJpdHogQm94IENBMRQwEgYDVQQDDAtFYXN5 -LVJTQSBDQTEbMBkGCSqGSIb3DQEJARYMY2FAZnJpdHouYm94MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzRr/RjhT+C7JZPztsJsxFDjEPGT4vsMo6Mee -XCep8a695J2I1L7l2zUthDZyyQg+ntKxulYxlT8opYucxkD7GoQgsQ6wjk7vfUi9 -OT76pZbOc0UInZsvR0JjDTCoNW1nIIaNKVdMQLvyzZkx5P4pdXRDW6ekYnv8owh2 -vy3FQddiLARTf9R3LHrykM7I12nEVSGHzcnKTxXRIP838gYALmsJo3DqMND79wJC -mkhFnWemxIFea425k0bOWqal9GMQK/atbXy/MNuIvz12VxDsyid5btnRX//nYExQ -4GiNjM887MERI8NUddaHlevS+r2hrzzDJarZup/jQ/xd1sjWJwIDAQABo4IBDzCC -AQswHQYDVR0OBBYEFFWJf7o83o0bfo0QydtA4bFCcBNtMIHOBgNVHSMEgcYwgcOA -FFWJf7o83o0bfo0QydtA4bFCcBNtoYGUpIGRMIGOMQswCQYDVQQGEwJERTEMMAoG -A1UECAwDTlJXMRMwEQYDVQQHDApFdXNraXJjaGVuMRIwEAYDVQQKDAlGcml0eiBC -T1gxFTATBgNVBAsMDEZyaXR6IEJveCBDQTEUMBIGA1UEAwwLRWFzeS1SU0EgQ0Ex -GzAZBgkqhkiG9w0BCQEWDGNhQGZyaXR6LmJveIIUZoWcA9MmAbUHqtUPzj+PzlxN -iRUwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEB -AATn7PfnomQ0Q9uWMABSGJoQqQaMnZNELp6qz7cbAxBFwm11sjK2RqJQ15xghrc/ -QULrLZD6GvAb0hQV7BGYBQsCpuUu3Rv89W0s3ZB0C/U4fuYoETRYxhDtZMtGD3qf -gBYbTsEdVYmwH33M+jAALXvc/NvX4TGMrfK4fJb0KAsE2wDQPa1IgG92DBllR4IV -4eGH7z1gTIS1bfw4bKNsM/HTNfcZ49/f6WgSUbNU8UKirWaL5ZYlvGDd42GkQznF -uVI8sW5iE7WqMKqTO5fTmjeqUiKxo07G9rymmIL91AzoO8lajS2Iv+BT4h975xQs -a05ZTxwqq0H4zguDA6Nr1Os= ------END CERTIFICATE----- diff --git a/docker/fritz.box.pem b/docker/fritz.box.pem deleted file mode 100644 index 8021bdb..0000000 --- a/docker/fritz.box.pem +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN X509 CRL----- -MIICsDCCAZgCAQEwDQYJKoZIhvcNAQELBQAwgY4xCzAJBgNVBAYTAkRFMQwwCgYD -VQQIDANOUlcxEzARBgNVBAcMCkV1c2tpcmNoZW4xEjAQBgNVBAoMCUZyaXR6IEJP -WDEVMBMGA1UECwwMRnJpdHogQm94IENBMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTEb -MBkGCSqGSIb3DQEJARYMY2FAZnJpdHouYm94Fw0yMDA1MTAxMzE5MjRaFw0yMDEx -MDYxMzE5MjRaoIHUMIHRMIHOBgNVHSMEgcYwgcOAFFWJf7o83o0bfo0QydtA4bFC -cBNtoYGUpIGRMIGOMQswCQYDVQQGEwJERTEMMAoGA1UECAwDTlJXMRMwEQYDVQQH -DApFdXNraXJjaGVuMRIwEAYDVQQKDAlGcml0eiBCT1gxFTATBgNVBAsMDEZyaXR6 -IEJveCBDQTEUMBIGA1UEAwwLRWFzeS1SU0EgQ0ExGzAZBgkqhkiG9w0BCQEWDGNh -QGZyaXR6LmJveIIUZoWcA9MmAbUHqtUPzj+PzlxNiRUwDQYJKoZIhvcNAQELBQAD -ggEBAGno1Q1iAQhZ4c03ZZoXcdZZjoa5ZC7KXLzKjNmV2jcxGkpF8Q1Z1Wfd7QMg -Zw/B5iqXroQCPX+bGR2OwdDyDapMax5yZrEwP5CNTfJR3o/qaOC4hRsnI65vrfth -cY6F7OBrDaNbajWHjIuppDkcxToAqbLQZcqhejxCVkoCeNpT0Se4dGFvK125kNcy -vAK9XpnrSnaSwyYTkFxWYRvDBS0pMpX60+eWPo+PnhydnV7iJL6Lwv/Q3tk21aF8 -s7X9WEmPCoU/JgIJgLumigE7mZzEfD2UqsSCy+wrediak0L0TcHmpIqSJmBU3zy4 -4WjjjhrBlzxKLq16eWQinHvGje4= ------END X509 CRL----- diff --git a/e2e/setup.ts b/e2e/setup.ts index e60f313..48aff94 100644 --- a/e2e/setup.ts +++ b/e2e/setup.ts @@ -9,7 +9,7 @@ import 'expect-puppeteer'; const jestPuppeteerConfig = require('../jest-puppeteer.config.js'); export const timeout = 10000; -export const url = `http://127.0.0.1:${jestPuppeteerConfig.server.port}`; +export const url = `https://localhost:${jestPuppeteerConfig.server.port}`; export const customSnapshotsDir = join('e2e', 'screenshots', version); export const customDiffDir = join(customSnapshotsDir, 'diff'); diff --git a/package.json b/package.json index ed8afc9..35a79b3 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "watch-test": "npm run test -- --watch", "e2e:serve": "webpack-dev-server --config ./e2e/webpack.config.js --quiet true --liveReload false --inline false", "e2e": "cross-env-shell NODE_PORT=$(ts-node --project ./scripts/tsconfig.json ./scripts/findport.ts) NODE_E2E=webpack jest --testTimeout=60000 --runInBand --reporters=jest-spec-reporter --preset=jest-puppeteer --rootDir ./e2e", - "serve": "ts-node ./scripts/server.ts", + "serve": "ts-node --project ./scripts/tsconfig.json ./scripts/server.ts", "e2e:esm": "cross-env-shell NODE_PORT=$(ts-node --project ./scripts/tsconfig.json ./scripts/findport.ts) NODE_E2E=esm jest --testTimeout=60000 --runInBand --reporters=jest-spec-reporter --preset=jest-puppeteer --rootDir ./e2e", "livereload": "livereloadx -a ./public", "prescript": "rimraf ./public/script", @@ -213,13 +213,13 @@ "homepage": "https://gregoranders.github.io/ts-react-playground/", "devDependencies": { "@babel/core": "7.10.2", - "@devexpress/dx-react-chart": "2.6.3", - "@devexpress/dx-react-chart-material-ui": "2.6.3", - "@devexpress/dx-react-core": "2.6.3", - "@fortawesome/fontawesome-svg-core": "1.2.28", + "@devexpress/dx-react-chart": "2.6.4", + "@devexpress/dx-react-chart-material-ui": "2.6.4", + "@devexpress/dx-react-core": "2.6.4", + "@fortawesome/fontawesome-svg-core": "1.2.29", "@fortawesome/free-brands-svg-icons": "5.13.1", - "@fortawesome/free-regular-svg-icons": "5.13.0", - "@fortawesome/free-solid-svg-icons": "5.13.0", + "@fortawesome/free-regular-svg-icons": "5.13.1", + "@fortawesome/free-solid-svg-icons": "5.13.1", "@fortawesome/react-fontawesome": "0.1.11", "@material-ui/core": "4.10.2", "@material-ui/icons": "4.9.1", @@ -296,8 +296,8 @@ "d3-time-format": "2.2.3", "enzyme": "3.11.0", "enzyme-adapter-react-16": "1.15.2", - "es-module-shims": "0.4.6", - "eslint": "7.2.0", + "es-module-shims": "0.4.7", + "eslint": "7.3.0", "eslint-config-prettier": "6.11.0", "eslint-plugin-prettier": "3.1.4", "eslint-plugin-react": "7.20.0", @@ -343,7 +343,7 @@ "recharts": "1.8.5", "recoil": "0.0.10", "rimraf": "3.0.2", - "rollup": "2.17.0", + "rollup": "2.17.1", "sass-loader": "8.0.2", "source-map": "0.7.3", "ts-jest": "26.1.0", diff --git a/scripts/server.ts b/scripts/server.ts index 082baaf..998cef1 100644 --- a/scripts/server.ts +++ b/scripts/server.ts @@ -1,18 +1,18 @@ -// import * as fs from 'fs'; +import * as fs from 'fs'; import * as compression from 'compression'; import * as express from 'express'; -import * as https from 'http'; +import * as https from 'https'; import * as path from 'path'; +import * as portfinder from 'portfinder-sync'; import { baseport } from '../package.json'; // import { api } from './controller'; -const hostname = 'localhost'; const staticPath: string = path.join(__dirname, '..', 'public'); const application = express(); -application.set('port', process.env.NODE_PORT || baseport); +application.set('port', process.env.NODE_PORT || portfinder.getPort(baseport)); application.use(compression()); application.use('/ts-react-playground', express.static(staticPath)); @@ -23,14 +23,18 @@ application.use((req: express.Request, res: express.Response) => { res.sendFile(path.join(staticPath, 'index.html')); }); +const sslPath = path.resolve(__dirname, '..', 'ssl'); + const httpOptions = { - // key: fs.readFileSync(path.resolve(__dirname, 'certs', 'key.pem')), - // cert: fs.readFileSync(path.resolve(__dirname, 'certs', 'cert.pem')), + key: fs.readFileSync(path.resolve(sslPath, 'development.fritz.box.key')), + cert: fs.readFileSync(path.resolve(sslPath, 'development.fritz.box.crt')), }; -https.createServer(httpOptions, application).listen(application.get('port'), () => { +const server = https.createServer(httpOptions, application); + +server.listen(application.get('port'), () => { console.log( - ` App is running at http://${hostname}:%d in %s mode (%s) (%s)`, + ` Server is running at https://localhost:%d in %s mode\n %s`, application.get('port'), application.get('env'), staticPath, diff --git a/ssl/development.fritz.box.crt b/ssl/development.fritz.box.crt new file mode 100644 index 0000000..b46f148 --- /dev/null +++ b/ssl/development.fritz.box.crt @@ -0,0 +1,98 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + be:e5:bb:c3:29:f0:fa:d4:ac:1f:87:91:4d:d7:34:c2 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=DE, ST=NRW, L=Euskirchen, O=ts-react-playground, OU=ts-react-playground ca, CN=ts-react-playground/emailAddress=ca@ts-react-playground + Validity + Not Before: Jun 19 15:40:06 2020 GMT + Not After : Jun 17 15:40:06 2030 GMT + Subject: C=DE, ST=NRW, L=Euskirchen, O=ts-react-playground, OU=ts-react-playground ca, CN=development.fritz.box/emailAddress=ca@ts-react-playground + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (2048 bit) + Modulus: + 00:f1:12:9a:ba:e6:02:a2:ef:f1:20:52:fa:bd:9f: + f7:5a:f4:ab:77:b4:b0:28:7f:00:32:e2:0d:fd:43: + 88:a0:d5:28:ed:a1:e8:a4:21:0c:c1:9c:98:b8:7c: + d6:21:f9:c9:6f:a4:f2:c8:e9:95:aa:fe:fa:ee:b9: + 06:a3:fa:2b:1d:2e:cc:df:61:1e:ae:24:7d:49:70: + 30:01:bd:21:01:ff:d4:ab:be:08:2d:47:91:36:4a: + 43:be:37:07:38:4c:79:ae:17:b1:e4:af:0f:b4:db: + 6c:62:3e:45:20:b1:d4:ee:53:b0:47:0d:68:dc:c3: + b9:29:60:d4:8e:ee:32:38:79:48:e8:53:2c:4c:3b: + c7:2a:dd:e9:f6:5f:aa:48:6a:3c:ed:71:10:a2:d6: + c7:f1:20:4a:74:c4:04:67:0b:b2:5d:f2:94:6b:62: + e7:41:c3:e9:d5:66:6d:19:c2:d0:ef:7e:a4:20:e8: + 48:c1:ee:9e:57:07:2c:1a:75:80:4a:e6:d1:94:4e: + 7c:b6:b1:28:81:e8:b4:3c:87:a2:2a:0b:25:0f:a3: + 8a:66:0a:eb:5f:dd:ba:31:99:54:74:67:ce:21:08: + ee:37:17:bc:29:e3:b6:e7:57:16:15:a7:ae:da:84: + da:2f:af:30:f9:d5:42:01:a3:37:0f:b2:06:41:62: + 08:ef + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: + 15:91:D8:C1:40:66:DB:F0:A6:81:B0:D5:33:91:48:CC:1F:41:1E:ED + X509v3 Authority Key Identifier: + keyid:D2:38:28:48:52:2D:0F:E7:B9:B1:C9:14:63:08:95:B9:EB:E0:81:06 + DirName:/C=DE/ST=NRW/L=Euskirchen/O=ts-react-playground/OU=ts-react-playground ca/CN=ts-react-playground/emailAddress=ca@ts-react-playground + serial:4F:87:B8:BB:A5:3D:BE:CC:43:2F:6D:95:AE:DD:4D:04:42:7B:E6:E4 + + X509v3 Extended Key Usage: + TLS Web Server Authentication + X509v3 Key Usage: + Digital Signature, Key Encipherment + X509v3 Subject Alternative Name: + DNS:*.fritz.box, DNS:*.development.fritz.box, DNS:localhost, DNS:127.0.0.1, DNS:::1 + Signature Algorithm: sha256WithRSAEncryption + 30:60:42:55:1b:b3:28:84:9f:d9:66:07:8d:e2:ca:17:e6:e6: + 21:53:24:ff:b4:db:be:9b:9c:d7:3f:55:8b:0b:27:54:e8:b7: + b3:5b:04:59:96:2d:29:63:45:33:45:b6:8b:67:b2:5d:80:a4: + df:17:9f:fd:3b:2c:1a:1f:4a:b8:e8:b3:53:fa:c2:2e:26:16: + f3:19:5c:5e:f5:cd:40:97:d7:31:02:5f:a7:30:35:57:bd:f9: + 2b:0e:8a:4b:3e:b4:46:6e:99:eb:41:ab:3a:13:71:0b:18:73: + ad:dc:f1:43:e0:cb:98:64:05:e3:5b:24:93:17:bd:09:14:36: + dd:c2:1b:56:d9:7c:a4:27:75:9b:d1:bf:aa:e0:85:b1:97:90: + 14:d5:e1:62:14:e1:d7:d9:27:e7:d3:5a:53:d2:e6:61:62:8f: + 9b:d2:06:39:98:12:92:df:56:ee:3d:1a:42:1c:56:92:7d:53: + 58:e0:81:9e:8f:2a:e6:d7:cf:c2:a8:b0:e7:48:3c:61:69:e9: + 99:6c:af:63:eb:3e:2e:e7:b8:b1:a4:12:56:ca:61:29:df:ef: + 41:ad:7e:04:37:7c:af:23:d5:30:d1:1a:26:8d:76:62:00:b8: + ca:91:21:23:f4:4f:8f:99:17:b9:56:b7:21:47:d7:f9:86:3b: + ca:3d:8b:1d +-----BEGIN CERTIFICATE----- +MIIFjDCCBHSgAwIBAgIRAL7lu8Mp8PrUrB+HkU3XNMIwDQYJKoZIhvcNAQELBQAw +gbQxCzAJBgNVBAYTAkRFMQwwCgYDVQQIDANOUlcxEzARBgNVBAcMCkV1c2tpcmNo +ZW4xHDAaBgNVBAoME3RzLXJlYWN0LXBsYXlncm91bmQxHzAdBgNVBAsMFnRzLXJl +YWN0LXBsYXlncm91bmQgY2ExHDAaBgNVBAMME3RzLXJlYWN0LXBsYXlncm91bmQx +JTAjBgkqhkiG9w0BCQEWFmNhQHRzLXJlYWN0LXBsYXlncm91bmQwHhcNMjAwNjE5 +MTU0MDA2WhcNMzAwNjE3MTU0MDA2WjCBtjELMAkGA1UEBhMCREUxDDAKBgNVBAgM +A05SVzETMBEGA1UEBwwKRXVza2lyY2hlbjEcMBoGA1UECgwTdHMtcmVhY3QtcGxh +eWdyb3VuZDEfMB0GA1UECwwWdHMtcmVhY3QtcGxheWdyb3VuZCBjYTEeMBwGA1UE +AwwVZGV2ZWxvcG1lbnQuZnJpdHouYm94MSUwIwYJKoZIhvcNAQkBFhZjYUB0cy1y +ZWFjdC1wbGF5Z3JvdW5kMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +8RKauuYCou/xIFL6vZ/3WvSrd7SwKH8AMuIN/UOIoNUo7aHopCEMwZyYuHzWIfnJ +b6TyyOmVqv767rkGo/orHS7M32EeriR9SXAwAb0hAf/Uq74ILUeRNkpDvjcHOEx5 +rhex5K8PtNtsYj5FILHU7lOwRw1o3MO5KWDUju4yOHlI6FMsTDvHKt3p9l+qSGo8 +7XEQotbH8SBKdMQEZwuyXfKUa2LnQcPp1WZtGcLQ736kIOhIwe6eVwcsGnWASubR +lE58trEogei0PIeiKgslD6OKZgrrX926MZlUdGfOIQjuNxe8KeO251cWFaeu2oTa +L68w+dVCAaM3D7IGQWII7wIDAQABo4IBkzCCAY8wCQYDVR0TBAIwADAdBgNVHQ4E +FgQUFZHYwUBm2/CmgbDVM5FIzB9BHu0wgfQGA1UdIwSB7DCB6YAU0jgoSFItD+e5 +sckUYwiVuevggQahgbqkgbcwgbQxCzAJBgNVBAYTAkRFMQwwCgYDVQQIDANOUlcx +EzARBgNVBAcMCkV1c2tpcmNoZW4xHDAaBgNVBAoME3RzLXJlYWN0LXBsYXlncm91 +bmQxHzAdBgNVBAsMFnRzLXJlYWN0LXBsYXlncm91bmQgY2ExHDAaBgNVBAMME3Rz +LXJlYWN0LXBsYXlncm91bmQxJTAjBgkqhkiG9w0BCQEWFmNhQHRzLXJlYWN0LXBs +YXlncm91bmSCFE+HuLulPb7MQy9tla7dTQRCe+bkMBMGA1UdJQQMMAoGCCsGAQUF +BwMBMAsGA1UdDwQEAwIFoDBKBgNVHREEQzBBggsqLmZyaXR6LmJveIIXKi5kZXZl +bG9wbWVudC5mcml0ei5ib3iCCWxvY2FsaG9zdIIJMTI3LjAuMC4xggM6OjEwDQYJ +KoZIhvcNAQELBQADggEBADBgQlUbsyiEn9lmB43iyhfm5iFTJP+0276bnNc/VYsL +J1Tot7NbBFmWLSljRTNFtotnsl2ApN8Xn/07LBofSrjos1P6wi4mFvMZXF71zUCX +1zECX6cwNVe9+SsOiks+tEZumetBqzoTcQsYc63c8UPgy5hkBeNbJJMXvQkUNt3C +G1bZfKQndZvRv6rghbGXkBTV4WIU4dfZJ+fTWlPS5mFij5vSBjmYEpLfVu49GkIc +VpJ9U1jggZ6PKubXz8KosOdIPGFp6Zlsr2PrPi7nuLGkElbKYSnf70GtfgQ3fK8j +1TDRGiaNdmIAuMqRISP0T4+ZF7lWtyFH1/mGO8o9ix0= +-----END CERTIFICATE----- diff --git a/ssl/development.fritz.box.key b/ssl/development.fritz.box.key new file mode 100644 index 0000000..0fba00b --- /dev/null +++ b/ssl/development.fritz.box.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDxEpq65gKi7/Eg +Uvq9n/da9Kt3tLAofwAy4g39Q4ig1SjtoeikIQzBnJi4fNYh+clvpPLI6ZWq/vru +uQaj+isdLszfYR6uJH1JcDABvSEB/9SrvggtR5E2SkO+Nwc4THmuF7Hkrw+022xi +PkUgsdTuU7BHDWjcw7kpYNSO7jI4eUjoUyxMO8cq3en2X6pIajztcRCi1sfxIEp0 +xARnC7Jd8pRrYudBw+nVZm0ZwtDvfqQg6EjB7p5XBywadYBK5tGUTny2sSiB6LQ8 +h6IqCyUPo4pmCutf3boxmVR0Z84hCO43F7wp47bnVxYVp67ahNovrzD51UIBozcP +sgZBYgjvAgMBAAECggEAIEVSSzShI7ik+aPCBwJT9WwNTA/3COS/XRBfuQiCUK1Y +Nj9XSilWcNCKrR+g9pleesCE85o5O9O4OZ6xIeBKRzTNnhV9KuidkOggtQrhUUgy +6u6cX5tV+AOG//6Ty9iI7WIkoS1CF/7Linc1f8Puchzn2wsTf4H/1mcs7Rk7xc1M +DeuuNuembLhqtkulabSG/VTF2MO+B5z5onhuTwE/phl1daEZL4vqex0LTQVqTAd0 +B1yDktSwfkfJBikp32SHZpBm2ZNp3SHveG3xXCVvOGcsz1Ph+X7Btjf9Fy6RmRN5 +lMFYHBXfrD9yj7nZIRcu0ON8p9Z7iAunyWrlMr6KyQKBgQD7xTxSbErCaPjk+BtS +dAX1LXt/+Nv22v4lnu17hRqyf7d7nGay9d2/0Feu+X6ceulpjQAhTTy3Fdoih3SF +FoSTpr+WPlrMzXM2yV3TTMDz23r3xESrnKCO+8983W+EJ7oR/KDNZd+hWoRVm9t4 +OvB3Y6YoGr6pRD37sq2JwIiV0wKBgQD1H1ylkPuwYszYcW6Eb7EXk7qHIq6aer9U +6WMS+xuc7613yc3QEnCYaJOlwir0XLh6I18JgbOlC4i+HX0dJ4hbixvySe7ItQTs +aZR/djsB9yFyUIQPG5rrZKk1mqgUDwub/tnjMpw88KzaHs0Xz4OUqg93t+yQ53Bi +OsTa4iUC9QKBgCM6W9BkmqlNKtZO6PPGjDbcIFWtqomF5t24uR35Z9zmBfRj0/Li +eB6otjwjaNXYVOSR+Byww/gSNK10KpecqPxH7rLFEstpS9+0mU5BhRYZ9cDJU5p3 +lferwEKGcV4aeOyfXpie0oWvNqkL38+Y36C07sDZzSe+BrY7MBEAQZxFAoGBAKJ+ +YNds7jx2sp8FSyNGO5qKlwuAZUkI+A9dDA2IIzz88fzH7cTyhGu0X7RxrDIDyVNG +YXkW3zUZGVQWjlsmWtF8vVD3y/CHd7UVJJj+ko1x+10hnPm67g7/0uAzHxr1Algu +MNjZMxN+5MdPxdvz96E0vz440f0ZP7oOhXMomSqFAoGBAJFf8BiyVTNPwmykGvMB +9wnU28Xh3oeq+iwuLk+Hp4eFU5d1Q95F50+06or+AcshkvDjOI2L5JNHIf2Jzzf1 +GbhAROE85/A2quj9y84qgnyOFJ7lMQpma214jNym2aVM3OuuudlUf3zarSqY7dbt +kRM3igDMJYaHJ872y4J5y3P7 +-----END PRIVATE KEY----- diff --git a/ssl/development.fritz.box.p12 b/ssl/development.fritz.box.p12 new file mode 100644 index 0000000000000000000000000000000000000000..7695357efcdef7a1c7e7c709b8fede94902f3130 GIT binary patch literal 4405 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 literal 0 HcmV?d00001 diff --git a/ssl/dh.pem b/ssl/dh.pem new file mode 100644 index 0000000..21de52b --- /dev/null +++ b/ssl/dh.pem @@ -0,0 +1,8 @@ +-----BEGIN DH PARAMETERS----- +MIIBCAKCAQEA+r1P+d5gaa1SekFGX/W1wOuG14a46NmKeausCfb1ScQmsvXajwe2 +SMEUD+GtrDjgzXtOTmXCsqWRKAvfv1pZo5Ac2fRZbXyWRf71bpgUClaQkZiE+Q/o +LC3nyOEGQb4kVbtWJYJWSY4Blh/o4v9v1dPK2uojxcErkGtVHOGagl50wxcSBw98 +hIqHlxY4ImOvt8qI5HQl6pltEAhoKbevdO4f74FHLlaBPw5tbZm3LPCBoRzQ/nli +ed4PNsFSCXwchgf41ZoffkVeRP6Z71wtKB156dPRo+uXANo5ZWOktediMoTf27BX +dIFazmH5CiLBEU131GvqWmH0DKkvJ7zoowIBAg== +-----END DH PARAMETERS----- diff --git a/ssl/fritz.box.crt b/ssl/fritz.box.crt new file mode 100644 index 0000000..9a9430a --- /dev/null +++ b/ssl/fritz.box.crt @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFLzCCBBegAwIBAgIUT4e4u6U9vsxDL22Vrt1NBEJ75uQwDQYJKoZIhvcNAQEL +BQAwgbQxCzAJBgNVBAYTAkRFMQwwCgYDVQQIDANOUlcxEzARBgNVBAcMCkV1c2tp +cmNoZW4xHDAaBgNVBAoME3RzLXJlYWN0LXBsYXlncm91bmQxHzAdBgNVBAsMFnRz +LXJlYWN0LXBsYXlncm91bmQgY2ExHDAaBgNVBAMME3RzLXJlYWN0LXBsYXlncm91 +bmQxJTAjBgkqhkiG9w0BCQEWFmNhQHRzLXJlYWN0LXBsYXlncm91bmQwHhcNMjAw +NjE5MTU0MDA0WhcNMzAwNjE3MTU0MDA0WjCBtDELMAkGA1UEBhMCREUxDDAKBgNV +BAgMA05SVzETMBEGA1UEBwwKRXVza2lyY2hlbjEcMBoGA1UECgwTdHMtcmVhY3Qt +cGxheWdyb3VuZDEfMB0GA1UECwwWdHMtcmVhY3QtcGxheWdyb3VuZCBjYTEcMBoG +A1UEAwwTdHMtcmVhY3QtcGxheWdyb3VuZDElMCMGCSqGSIb3DQEJARYWY2FAdHMt +cmVhY3QtcGxheWdyb3VuZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AJT4Rfd1kHg4wSaepOx80wFGHPlfHJxjmchL/Ptkz7Gv6h9MO7DvM8cq9xaVI6gF +ZlZobK0FgDNxcGxEYnqX8VJPzu8N80UwCB/UJTwYo5s9743k1xbL817WHFRlcSSY +/KKT56uHmOdRAcHh8Ro5VkRPeuxu+08HFth+R+89UJ8Em9M408c4vGk8bg0RjRPu +tLfHKTpbrXJ9zrj7YJ59wItfgTLqn1n3NQguFjXxE7kRIF/23YibBS9uaBsNQRFk +si9Vv6nziMKlPbZtwJK73Pm2e3wv8ElOg07mFGxPBcyV2GFPxgJ0z9B9NBNgd5NU +80bk9FWMY5nvQTbZu9nXPGkCAwEAAaOCATUwggExMB0GA1UdDgQWBBTSOChIUi0P +57mxyRRjCJW56+CBBjCB9AYDVR0jBIHsMIHpgBTSOChIUi0P57mxyRRjCJW56+CB +BqGBuqSBtzCBtDELMAkGA1UEBhMCREUxDDAKBgNVBAgMA05SVzETMBEGA1UEBwwK +RXVza2lyY2hlbjEcMBoGA1UECgwTdHMtcmVhY3QtcGxheWdyb3VuZDEfMB0GA1UE +CwwWdHMtcmVhY3QtcGxheWdyb3VuZCBjYTEcMBoGA1UEAwwTdHMtcmVhY3QtcGxh +eWdyb3VuZDElMCMGCSqGSIb3DQEJARYWY2FAdHMtcmVhY3QtcGxheWdyb3VuZIIU +T4e4u6U9vsxDL22Vrt1NBEJ75uQwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYw +DQYJKoZIhvcNAQELBQADggEBAFba4dV8osjrXuq2lpswMF9Sw21RF3EZMEF+3x+9 +mRtiUxpzmaH0WNBJmnpjPRzHN1jPEmYWJEu953pPzuXuToPyoZvKAPHyjC2RTucn +BrW47hsRJEeTzNy1BjnR/dWvgGN4Q2TKoFOZ5E/PeYzoaZnrbwOvYX4clAzXEUn/ +/F16qKBTSMVjHBFj81BVv4I82GjC511c1XPk0xsP8KQ6xsMUb3LwyfXfI6KBBaZR +1sJ+HBwOLbk84Cd0+R0LQb6FReozVntVp3HdtAMMvBa3ZyJNCvkjhNJtL41bpEkn +xagDkEtC/UyGkLy4+HNOjp/XY9r4A8MhM3GzVbrlxFMgMp0= +-----END CERTIFICATE----- diff --git a/ssl/fritz.box.key b/ssl/fritz.box.key new file mode 100644 index 0000000..c8fdc73 --- /dev/null +++ b/ssl/fritz.box.key @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-256-CBC,44DD7A72047359E208DBC61556A18386 + +cGJC3HFhgILAO8On4QqS4MQTpVsoVVRXAKyCyipxG8bFtQn8H/HJtlWgwrxebI+4 +hZ7q01/9yDzixAaLk7xEve+IUvZz2Ummwa1+kUJDJvXexW8XDim5+8XE+FiAcYf1 +yIu2hJwod4dN43TaXKmhS/sWAHjzO687ECP2f1B+gAq+Y7LGO/qmDSr0wKusyGNG +KvCN3AS7XHo2z9CfZpijVq+9nQ67g3n+czRoQrkS4IYsHNAeQ29jXeD7KfmA6BkG +BcdEePrqK3xzMccY3R2sQwYmWfA3q+MgmMa7xRnG5gGmDvcSu/CRQBlI5YNyxC3w +P6W7dgEsWi1XmxnfIHKbIYiQzsFvYDvb8DhNAp0R9Zx5Kw9tqMNuqottEiDcMImT +0Ziy68BPdIOPRAisTVobZPLaHks1yaziaBz3tLYI8dTF2buKWWFHlEACT4nO0GPj +hnt+GFYyYCMV2755o47sYTdyqQkgyklLUDF4lKD4QJuuCecI/9Wd6yZyaVg1rktH +srJfy2LcTwcEtG3leflu9GT5oqnLttqQOs0YGRG8dVeOihPaiBkGfcbKaKy8g9h4 +qJSJXjiVkzkt0dftb6TfUQVGxGXJLEV/XCGWulmjOkKkZX5rKUKuZYT2c3F88wGa +1lrJAHbK247gqrjxqrltbudAsSL8wu34jpgxvSZS9Hxx2N4ZmjQ7ps3/io9KioJb +DDt9hcoKTsMoaQ0L0ZCooXnKMYP86lGqfOSSHeZBDlQ2sFprKClgqHNxNxBOLLnA +yZs6ZYCtkS5VcbqSx+PPWBPx/COvvXKxxu6Nx4lzZlzzj9oY/31c57Y5iZ6+zMkn +ybUm54ztGcEdqq4ASsJtO7crMjevsVRPXX9HNsIj+kPgMjbVfIHlvSIWQmcbvwWp +GVKW/blB6IV5TFsOsJcX2+XsIRUXdgoTptCU+Ymor8JMO6MwMaPOyIdILuoCZaRF +A1towjUqSL8gVcMOIXGD2SUWCsVdmjZw+hm7x/bZRUI46cGgce+TCOGZPN59ncFi +avl86x1k+tDi2dvikvkMZARonmw8avshoMQFrFJ5rvktfsXFRS88JGjpGqRYulnX +1qn6zTUby2kiiSY9rN2ZogPhE2CSs1yZO0ZQHss6xV6Bi5FpHOGity9gSUGpe59r +qWKTlfuMoDQZOOUzOm3hdQR0DuPgKLZkwtaa3YPbWbeLTyZvuTo4zkcfbpTnwxS4 +b3zA6CO4C07g4EmMwgc7C/gTTUFRlDmZy46ryF30F+W5rQPPt+gBVtHZasFu1R87 +gz9FYlZf4CrxYI2upWlcebtxvUEhCvLCFEn6+5tg10XX0JeYTqPvw838UpJm+lpX +S0tum1HriEblBlRK6rXMuCoTjyDS4BgsIZ2znHTp85UMcobHaqb3Mp4/c2B6pdJY +sch00qK+ZVtHoAUte7x9drA6njim9a3G6r0TBvByBb7pzicv5i0ts8uNYWkc3Mbh +ZFVuJmv7dExM+ZlXBfcQbDUSh8xn9o2wSiUbHKtdnss1+f0Miyfp89DnKMrfwVpZ +/TSRoyYA2dzj+JloB0i5JJd33ZA985lWIdMlWqOHHJZznf4SJytvqx/Lv8nPYQam +-----END RSA PRIVATE KEY----- diff --git a/ssl/fritz.box.pem b/ssl/fritz.box.pem new file mode 100644 index 0000000..7ee67b5 --- /dev/null +++ b/ssl/fritz.box.pem @@ -0,0 +1,18 @@ +-----BEGIN X509 CRL----- +MIIC/DCCAeQCAQEwDQYJKoZIhvcNAQELBQAwgbQxCzAJBgNVBAYTAkRFMQwwCgYD +VQQIDANOUlcxEzARBgNVBAcMCkV1c2tpcmNoZW4xHDAaBgNVBAoME3RzLXJlYWN0 +LXBsYXlncm91bmQxHzAdBgNVBAsMFnRzLXJlYWN0LXBsYXlncm91bmQgY2ExHDAa +BgNVBAMME3RzLXJlYWN0LXBsYXlncm91bmQxJTAjBgkqhkiG9w0BCQEWFmNhQHRz +LXJlYWN0LXBsYXlncm91bmQXDTIwMDYxOTE1NDAwNVoXDTIwMTIxNjE1NDAwNVqg +gfowgfcwgfQGA1UdIwSB7DCB6YAU0jgoSFItD+e5sckUYwiVuevggQahgbqkgbcw +gbQxCzAJBgNVBAYTAkRFMQwwCgYDVQQIDANOUlcxEzARBgNVBAcMCkV1c2tpcmNo +ZW4xHDAaBgNVBAoME3RzLXJlYWN0LXBsYXlncm91bmQxHzAdBgNVBAsMFnRzLXJl +YWN0LXBsYXlncm91bmQgY2ExHDAaBgNVBAMME3RzLXJlYWN0LXBsYXlncm91bmQx +JTAjBgkqhkiG9w0BCQEWFmNhQHRzLXJlYWN0LXBsYXlncm91bmSCFE+HuLulPb7M +Qy9tla7dTQRCe+bkMA0GCSqGSIb3DQEBCwUAA4IBAQBgY2fL3RCEuhvoRYpkbUA1 +zm5TYBs1jxGQw+D/+VM0W7cS5mui9DwobJcrW/8oMDTmMauSFp2OBAjcqvC0X0Yt +COq3yQeXBXtUkUwQf5iCBsmJcPxH7WlSIQu/UHwfqVOr6m5t5nwEbgyDX4CQZcCh +HApPmVgTiQYGQxz9qokjtz9f7St1VxH6t689uZa7kBwzGP4kwPKp8cGNSB6UUNGM +oPMmW4DUphyBI0iH33MUOIUsTv+9MpYRoMTtMrXYOPjDTHX0GbbA8+v4jC57VfqS +0vgCvvgCds5ZXSnXfskX8fBRPYJ0/6GsUaV5Ui7NpgSda3HGrhaEMxV9yaR7pQed +-----END X509 CRL----- diff --git a/webpack.config.js b/webpack.config.js index 32b5051..91bb9cf 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -144,12 +144,12 @@ module.exports = { }, devServer: { historyApiFallback: true, - host: '0.0.0.0', + host: process.env.NODE_HOST || 'localhost', port: process.env.NODE_PORT || pkgJson.baseport, - // https: { - // key: fs.readFileSync(path.resolve(__dirname, 'certs', 'key.pem')), - // cert: fs.readFileSync(path.resolve(__dirname, 'certs', 'cert.pem')), - // }, + https: { + key: fs.readFileSync(path.resolve(__dirname, 'ssl', 'development.fritz.box.key')), + cert: fs.readFileSync(path.resolve(__dirname, 'ssl', 'development.fritz.box.crt')), + }, }, plugins: plugins, }; From e09483a2395bcc45330217f27ceca819953a034a Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 19:16:11 +0200 Subject: [PATCH 02/31] feat(ssl): fix build - fix wrong command syntax #55 --- .github/workflows/feature.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 39611fa..0d5568f 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -49,8 +49,8 @@ jobs: sudo chmod 644 /usr/local/share/ca-certificates/* sudo update-ca-certificates sudo mkdir -pv /etc/pki/nssdb - sudo certutil -d sql:/etc/pki/nssdb --emtpy-password -N - sudo certutil -d sql:/etc/pki/nssdb --emtpy-password -A -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + sudo certutil -N -d sql:/etc/pki/nssdb --emtpy-password + sudo certutil -A -d sql:/etc/pki/nssdb --emtpy-password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt xvfb-run --auto-servernum -- bash -c "npm run e2e" env: HEADLESS: true From b30f2b41c88dcff5090f63ec8976ee338abebddc Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 20:06:05 +0200 Subject: [PATCH 03/31] feat(ssl): fix build - fix certutil execution #55 --- .github/workflows/feature.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 0d5568f..0f4f16c 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -49,8 +49,8 @@ jobs: sudo chmod 644 /usr/local/share/ca-certificates/* sudo update-ca-certificates sudo mkdir -pv /etc/pki/nssdb - sudo certutil -N -d sql:/etc/pki/nssdb --emtpy-password - sudo certutil -A -d sql:/etc/pki/nssdb --emtpy-password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + sudo certutil -N -d sql:/etc/pki/nssdb -f .password + sudo certutil -A -d sql:/etc/pki/nssdb -t "C,," -n "fritz.box" -i ssl/fritz.box.crt xvfb-run --auto-servernum -- bash -c "npm run e2e" env: HEADLESS: true From 3159bb86644e27a660f3f2d22b9dfb5e095688cf Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 20:13:00 +0200 Subject: [PATCH 04/31] feat(ssl): fix build - use HOME for store #55 --- .github/workflows/feature.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 0f4f16c..f9540f7 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -48,9 +48,9 @@ jobs: sudo cp -v ssl/fritz.box.crt /usr/local/share/ca-certificates/ sudo chmod 644 /usr/local/share/ca-certificates/* sudo update-ca-certificates - sudo mkdir -pv /etc/pki/nssdb - sudo certutil -N -d sql:/etc/pki/nssdb -f .password - sudo certutil -A -d sql:/etc/pki/nssdb -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + sudo mkdir -pv ${HOME}/.pki/nssdb + sudo certutil -N -d sql:${HOME}/.pki/nssdb -f .password + sudo certutil -A -d sql:${HOME}/.pki/nssdb -t "C,," -n "fritz.box" -i ssl/fritz.box.crt xvfb-run --auto-servernum -- bash -c "npm run e2e" env: HEADLESS: true From 72215311bf208f948695b208a0f734d4b973b524 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 20:29:40 +0200 Subject: [PATCH 05/31] feat(ssl): fix build - fix build by not running user related commands as root #55 --- .github/workflows/feature.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index f9540f7..2469982 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -48,9 +48,11 @@ jobs: sudo cp -v ssl/fritz.box.crt /usr/local/share/ca-certificates/ sudo chmod 644 /usr/local/share/ca-certificates/* sudo update-ca-certificates - sudo mkdir -pv ${HOME}/.pki/nssdb - sudo certutil -N -d sql:${HOME}/.pki/nssdb -f .password - sudo certutil -A -d sql:${HOME}/.pki/nssdb -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + mkdir -pv ${HOME}/.pki/nssdb + echo > .password + certutil -N -d sql:${HOME}/.pki/nssdb -f .password + certutil -A -d sql:${HOME}/.pki/nssdb -f .password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + rm -rf .password xvfb-run --auto-servernum -- bash -c "npm run e2e" env: HEADLESS: true From cd83ca81f626aa6fe64385cca70cf63b32a7afa1 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 20:54:57 +0200 Subject: [PATCH 06/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 2469982..a9ee44d 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, macos-latest] node-version: [14.x] steps: @@ -41,6 +41,7 @@ jobs: run: | npm test - name: npm run e2e + if: matrix.os == 'linux-latest' && matrix.node-version == '14.x' run: | sudo apt-get update sudo apt-get install ca-certificates libnss3-tools xvfb @@ -57,6 +58,22 @@ jobs: env: HEADLESS: true PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} + - name: npm run e2e + if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' + run: | + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt + brew install nss + mkdir -pv ${HOME}/.pki/nssdb + echo > .password + certutil -N -d sql:${HOME}/.pki/nssdb -f .password + certutil -A -d sql:${HOME}/.pki/nssdb -f .password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + rm -rf .password + npm run e2e + env: + HEADLESS: true + GITHUB_BRANCH: ${{ github.ref }} + GITHUB_COMMIT: ${{ github.sha }} + PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: archive e2e screenshots uses: actions/upload-artifact@v1 with: From 8e2eae871bf476896e1a31f67f0ede375e3a717a Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 21:23:00 +0200 Subject: [PATCH 07/31] build(ssl): fix build on macos and windows fix build on macos and windows #55 --- .github/workflows/feature.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index a9ee44d..2d07417 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, macos-latest, windows-latest] node-version: [14.x] steps: @@ -62,12 +62,16 @@ jobs: if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt - brew install nss - mkdir -pv ${HOME}/.pki/nssdb - echo > .password - certutil -N -d sql:${HOME}/.pki/nssdb -f .password - certutil -A -d sql:${HOME}/.pki/nssdb -f .password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt - rm -rf .password + npm run e2e + env: + HEADLESS: true + GITHUB_BRANCH: ${{ github.ref }} + GITHUB_COMMIT: ${{ github.sha }} + PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} + - name: npm run e2e + if: matrix.os == 'windows-latest' && matrix.node-version == '14.x' + run: | + certutil -addstore -f "ROOT" ssl\fritz.box.crt npm run e2e env: HEADLESS: true From 76d2ccb01b5faa9515c526d65d2ab827d62e6a9b Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 22:13:09 +0200 Subject: [PATCH 08/31] build(ssl): fix build on macos and windows fix build on macos and windows #55 --- .github/workflows/feature.yml | 2 +- e2e/index.spec.ts | 2 +- e2e/setup.ts | 11 ++++++++--- jest-puppeteer.config.js | 9 ++++++--- package.json | 4 ++-- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 2d07417..462d59b 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -61,7 +61,7 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/SystemRootCertificates.keychain ssl/fritz.box.crt npm run e2e env: HEADLESS: true diff --git a/e2e/index.spec.ts b/e2e/index.spec.ts index 065c1b8..0ff4447 100644 --- a/e2e/index.spec.ts +++ b/e2e/index.spec.ts @@ -1,5 +1,5 @@ import { Browser, devices } from 'puppeteer'; -import { mkdir, timeout, url, customSnapshotsDir, customDiffDir } from './setup'; +import { customDiffDir, customSnapshotsDir, mkdir, timeout, url } from './setup'; declare const browser: Browser; diff --git a/e2e/setup.ts b/e2e/setup.ts index 48aff94..d5b90ca 100644 --- a/e2e/setup.ts +++ b/e2e/setup.ts @@ -5,15 +5,20 @@ import { version } from '../package.json'; import 'expect-puppeteer'; // import 'jest-puppeteer'; -// eslint-disable-next-line @typescript-eslint/no-var-requires -const jestPuppeteerConfig = require('../jest-puppeteer.config.js'); +declare const puppeteerConfig: { + server: { + port: number; + }; +}; export const timeout = 10000; -export const url = `https://localhost:${jestPuppeteerConfig.server.port}`; +export const url = `https://localhost:${puppeteerConfig.server.port}`; export const customSnapshotsDir = join('e2e', 'screenshots', version); export const customDiffDir = join(customSnapshotsDir, 'diff'); +console.error('E2E URL:', url, jest); + const customConfig = { threshold: 0 }; const toMatchImageSnapshot = configureToMatchImageSnapshot({ // blur: 1, diff --git a/jest-puppeteer.config.js b/jest-puppeteer.config.js index b5e0b25..5d84d80 100644 --- a/jest-puppeteer.config.js +++ b/jest-puppeteer.config.js @@ -1,6 +1,9 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -const cmd = `cross-env-shell NODE_PORT=${process.env.NODE_PORT}`; -const command = `${cmd} && npm run ${process.env.NODE_E2E === 'esm' ? 'serve' : 'e2e:serve'}`; +const portfinder = require('portfinder-sync'); +const packageJson = require('./package.json'); + +const port = portfinder.getPort(packageJson.baseport); +const command = `cross-env NODE_PORT=${port} NODE_ENV=production npm run ${process.env.NODE_E2E === 'esm' ? 'serve' : 'e2e:serve'}`; module.exports = { browser: 'chromium', @@ -12,7 +15,7 @@ module.exports = { }, server: { command, - port: process.env.NODE_PORT, + port, launchTimeout: 10000, debug: true, }, diff --git a/package.json b/package.json index 35a79b3..8a7b375 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,9 @@ "test:update": "npm run test -- -u", "watch-test": "npm run test -- --watch", "e2e:serve": "webpack-dev-server --config ./e2e/webpack.config.js --quiet true --liveReload false --inline false", - "e2e": "cross-env-shell NODE_PORT=$(ts-node --project ./scripts/tsconfig.json ./scripts/findport.ts) NODE_E2E=webpack jest --testTimeout=60000 --runInBand --reporters=jest-spec-reporter --preset=jest-puppeteer --rootDir ./e2e", + "e2e": "cross-env NODE_E2E=webpack jest --runInBand --testTimeout=60000 --runInBand --reporters=jest-spec-reporter --preset=jest-puppeteer --rootDir ./e2e", "serve": "ts-node --project ./scripts/tsconfig.json ./scripts/server.ts", - "e2e:esm": "cross-env-shell NODE_PORT=$(ts-node --project ./scripts/tsconfig.json ./scripts/findport.ts) NODE_E2E=esm jest --testTimeout=60000 --runInBand --reporters=jest-spec-reporter --preset=jest-puppeteer --rootDir ./e2e", + "e2e:esm": "cross-env NODE_E2E=esm jest --runInBand --testTimeout=60000 --runInBand --reporters=jest-spec-reporter --preset=jest-puppeteer --rootDir ./e2e", "livereload": "livereloadx -a ./public", "prescript": "rimraf ./public/script", "script": "tsc --project ./src/script/tsconfig.build.json --outDir ./public/script", From 8e51c66a01240a3793c28673b6002f34cf6a2f21 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 22:14:06 +0200 Subject: [PATCH 09/31] build(ssl): fix build on macos and windows fix build on macos and windows #55 --- e2e/setup.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/e2e/setup.ts b/e2e/setup.ts index d5b90ca..cca8735 100644 --- a/e2e/setup.ts +++ b/e2e/setup.ts @@ -17,8 +17,6 @@ export const url = `https://localhost:${puppeteerConfig.server.port}`; export const customSnapshotsDir = join('e2e', 'screenshots', version); export const customDiffDir = join(customSnapshotsDir, 'diff'); -console.error('E2E URL:', url, jest); - const customConfig = { threshold: 0 }; const toMatchImageSnapshot = configureToMatchImageSnapshot({ // blur: 1, From 9e052e7f276bb5c8cf21ab2e7e6eccfeaaba85d2 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 22:41:15 +0200 Subject: [PATCH 10/31] build(ssl): fix build on macos and windows fix build on macos and windows #55 --- .github/workflows/feature.yml | 2 +- jest-puppeteer.config.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 462d59b..c8ba256 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -61,7 +61,7 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/SystemRootCertificates.keychain ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt npm run e2e env: HEADLESS: true diff --git a/jest-puppeteer.config.js b/jest-puppeteer.config.js index 5d84d80..c93d0a6 100644 --- a/jest-puppeteer.config.js +++ b/jest-puppeteer.config.js @@ -16,6 +16,8 @@ module.exports = { server: { command, port, + ssl: true, + host: process.env.NODE_HOST || 'localhost', launchTimeout: 10000, debug: true, }, From 10bc98fce5f3c63a534a19c35a3246c02eccf66d Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 22:41:55 +0200 Subject: [PATCH 11/31] build(ssl): fix build on macos and windows fix build on macos and windows #55 --- e2e/setup.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/e2e/setup.ts b/e2e/setup.ts index cca8735..214cc0e 100644 --- a/e2e/setup.ts +++ b/e2e/setup.ts @@ -7,12 +7,15 @@ import 'expect-puppeteer'; declare const puppeteerConfig: { server: { + host: string; port: number; + ssl: boolean; }; }; export const timeout = 10000; -export const url = `https://localhost:${puppeteerConfig.server.port}`; +export const proto = `http${puppeteerConfig.server.ssl ? 's' : ''}`; +export const url = `${proto}://${puppeteerConfig.server.host}:${puppeteerConfig.server.port}`; export const customSnapshotsDir = join('e2e', 'screenshots', version); export const customDiffDir = join(customSnapshotsDir, 'diff'); From 99d3bbe4b97be44a8bbb3250805701842a0225ed Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 22:59:02 +0200 Subject: [PATCH 12/31] build(ssl): fix build on macos and windows fix build on macos and windows #55 --- .github/workflows/feature.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index c8ba256..d1f2851 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -41,7 +41,7 @@ jobs: run: | npm test - name: npm run e2e - if: matrix.os == 'linux-latest' && matrix.node-version == '14.x' + if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' run: | sudo apt-get update sudo apt-get install ca-certificates libnss3-tools xvfb @@ -61,7 +61,7 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt npm run e2e env: HEADLESS: true From 70cbe9a47fc8c907387ef8e438a893c5cc8a5b8d Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 23:21:31 +0200 Subject: [PATCH 13/31] build(ssl): fix build on macos fix build on macos, assume a running chrome and kill it...list running processes #55 --- .github/workflows/feature.yml | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index d1f2851..acd5cb0 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [macos-latest] node-version: [14.x] steps: @@ -31,15 +31,15 @@ jobs: - name: nodejs project information id: projectinfo uses: gregoranders/nodejs-project-info@v0.0.6 - - name: npm install - run: | - npm install - - name: npm run build - run: | - npm run build - - name: npm test - run: | - npm test + # - name: npm install + # run: | + # npm install + # - name: npm run build + # run: | + # npm run build + # - name: npm test + # run: | + # npm test - name: npm run e2e if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' run: | @@ -61,6 +61,8 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | + ps aux + pkill -a -i "Google Chrome" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt npm run e2e env: @@ -72,14 +74,13 @@ jobs: if: matrix.os == 'windows-latest' && matrix.node-version == '14.x' run: | certutil -addstore -f "ROOT" ssl\fritz.box.crt - npm run e2e env: HEADLESS: true GITHUB_BRANCH: ${{ github.ref }} GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - - name: archive e2e screenshots - uses: actions/upload-artifact@v1 - with: - name: Screenshots Feature ${{ matrix.os }} ${{ matrix.node-version }} - path: e2e/screenshots + # - name: archive e2e screenshots + # uses: actions/upload-artifact@v1 + # with: + # name: Screenshots Feature ${{ matrix.os }} ${{ matrix.node-version }} + # path: e2e/screenshots From 94abb4e995d669ea9be119abf7722d4809de1c72 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 23:38:26 +0200 Subject: [PATCH 14/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 34 ++++++++++++++++------------------ ssl/fritz.box.cer | Bin 0 -> 1331 bytes 2 files changed, 16 insertions(+), 18 deletions(-) create mode 100644 ssl/fritz.box.cer diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index acd5cb0..d505274 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - os: [macos-latest] + os: [ubuntu-latest, macos-latest, windows-latest] node-version: [14.x] steps: @@ -31,15 +31,15 @@ jobs: - name: nodejs project information id: projectinfo uses: gregoranders/nodejs-project-info@v0.0.6 - # - name: npm install - # run: | - # npm install - # - name: npm run build - # run: | - # npm run build - # - name: npm test - # run: | - # npm test + - name: npm install + run: | + npm install + - name: npm run build + run: | + npm run build + - name: npm test + run: | + npm test - name: npm run e2e if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' run: | @@ -61,9 +61,7 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - ps aux - pkill -a -i "Google Chrome" - sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer npm run e2e env: HEADLESS: true @@ -79,8 +77,8 @@ jobs: GITHUB_BRANCH: ${{ github.ref }} GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - # - name: archive e2e screenshots - # uses: actions/upload-artifact@v1 - # with: - # name: Screenshots Feature ${{ matrix.os }} ${{ matrix.node-version }} - # path: e2e/screenshots + - name: archive e2e screenshots + uses: actions/upload-artifact@v1 + with: + name: Screenshots Feature ${{ matrix.os }} ${{ matrix.node-version }} + path: e2e/screenshots diff --git a/ssl/fritz.box.cer b/ssl/fritz.box.cer new file mode 100644 index 0000000000000000000000000000000000000000..5e1afb7070eb669f431713b9261df6972f206299 GIT binary patch literal 1331 zcmXqLV%0ZjVi8}!%*4pVB;wz`WA{?qeP^8YbEmGm>&xO){p^VWFB_*;n@8JsUPeZ4 zRtAH{Er#3%oNUaYENsF|F0O_=23#Nx2M@DfP`IJ6fgp&-&co$eTAZC(l$?>8XDDMJ z1rp@q5iTj#ElN#HF3~N>NvupS$}i1JF_bru1<7*rh+&acNKS-lXU48w)j%2UKu$(6 zvE)PtEan)Ga8k(9I7??zf^BRM==1}fX^;Q$35^@AFvNA9?G4eAQG%<29 zH8Cvo_#X+@sOWxF6W^|MJ880&@dFBc4KfhDXZ(RRM-p6{wd*kC;-^HdX zuV76J%g9;F+F)E*kmHh6HT`3d|GD?PpIr?&eE3nyGR(!l>P_Bne|E7Ob?)zN1Lm{LzHD*%xW%4Kn>=2@Ug39J zwjbBDie6h(dv3??gn6|Gy5k#-Ud@mEZpxu2X8KWhr=UXox4Rv)S@rWWq` z?qB)2~?Y{GKTXl{82T#9dzh@#j{;X%F-bnO6##D0tLam8#Liyy7&u&k? zg!UxQeD7#>bN9{bHknM!j0}v6n;1=jAz}zlXtI1PVk{z;EHpfVborm}+;~zXnPckC z*AE)m3>v=x6QZm#OXC}Z#+MCP)huk>wWM+T5KS#j*fTf}$k)OwtOm@CjQuyDnr21>d@tdcegO}>=E0ZuH?)0Q@Q0*u6}Ry5>NG`E0`yEJN@-(o3Llc ck7B>R`PY+g{a`+ Date: Fri, 19 Jun 2020 23:56:18 +0200 Subject: [PATCH 15/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index d505274..2dbe08c 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -61,7 +61,14 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | + ps aux + sudo echo "--------------------" + sudo security list-keychains + sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer + sudo echo "--------------------" + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/development.fritz.box.crt + sudo echo "--------------------" npm run e2e env: HEADLESS: true From 406200aebd883c22c73a622b7bd24c9b378389e5 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Fri, 19 Jun 2020 23:57:20 +0200 Subject: [PATCH 16/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 2dbe08c..1461cf0 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -63,12 +63,16 @@ jobs: run: | ps aux sudo echo "--------------------" + sudo ls -lha /Library/Keychains/ + sudo echo "--------------------" sudo security list-keychains sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/development.fritz.box.crt sudo echo "--------------------" + sudo security list-keychains + sudo echo "--------------------" npm run e2e env: HEADLESS: true From 36948f4d666ae4f45d960622ffb3c57cd5c7d44f Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:10:32 +0200 Subject: [PATCH 17/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 1461cf0..c1e1f09 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -68,11 +68,14 @@ jobs: sudo security list-keychains sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer + security add-trusted-cert -d -r trustRoot -k ssl/fritz.box.crt sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/development.fritz.box.crt + security add-trusted-cert -d -r trustRoot -k ssl/development.fritz.box.crt sudo echo "--------------------" sudo security list-keychains sudo echo "--------------------" + sudo security --help npm run e2e env: HEADLESS: true From 95b13253e94555769373bcaec0056f401eb354cc Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:17:59 +0200 Subject: [PATCH 18/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index c1e1f09..333e9e0 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -7,6 +7,7 @@ on: env: CI: true + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true GITHUB_BRANCH: ${{ github.ref }} GITHUB_COMMIT: ${{ github.sha }} @@ -68,10 +69,10 @@ jobs: sudo security list-keychains sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer - security add-trusted-cert -d -r trustRoot -k ssl/fritz.box.crt + security add-trusted-cert -d -r trustRoot -k /Users/runner/Library/Keychains/login.keychain-db ssl/fritz.box.crt sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/development.fritz.box.crt - security add-trusted-cert -d -r trustRoot -k ssl/development.fritz.box.crt + security add-trusted-cert -d -r trustRoot -k /Users/runner/Library/Keychains/login.keychain-db ssl/development.fritz.box.crt sudo echo "--------------------" sudo security list-keychains sudo echo "--------------------" From 51c654c8880f1f444a10b9d45247615cd481f8ed Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:21:09 +0200 Subject: [PATCH 19/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 333e9e0..b19dd34 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [macos-latest] node-version: [14.x] steps: @@ -32,15 +32,15 @@ jobs: - name: nodejs project information id: projectinfo uses: gregoranders/nodejs-project-info@v0.0.6 - - name: npm install - run: | - npm install - - name: npm run build - run: | - npm run build - - name: npm test - run: | - npm test + # - name: npm install + # run: | + # npm install + # - name: npm run build + # run: | + # npm run build + # - name: npm test + # run: | + # npm test - name: npm run e2e if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' run: | From 5b18bcd20510eba38747b894c4c951ff1fd7c4f1 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:23:47 +0200 Subject: [PATCH 20/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index b19dd34..e7157b3 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -68,11 +68,9 @@ jobs: sudo echo "--------------------" sudo security list-keychains sudo echo "--------------------" - sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer - security add-trusted-cert -d -r trustRoot -k /Users/runner/Library/Keychains/login.keychain-db ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer sudo echo "--------------------" - sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ssl/development.fritz.box.crt - security add-trusted-cert -d -r trustRoot -k /Users/runner/Library/Keychains/login.keychain-db ssl/development.fritz.box.crt + sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain ssl/development.fritz.box.crt sudo echo "--------------------" sudo security list-keychains sudo echo "--------------------" From 1c5e8f654140043cad26fe87d3b6426a3d1ed080 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:29:45 +0200 Subject: [PATCH 21/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index e7157b3..3725b52 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -68,9 +68,7 @@ jobs: sudo echo "--------------------" sudo security list-keychains sudo echo "--------------------" - sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain ssl/fritz.box.cer - sudo echo "--------------------" - sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain ssl/development.fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/fritz.box.cer sudo echo "--------------------" sudo security list-keychains sudo echo "--------------------" From 804681aa9138710dd33d31f36bd1abb562c88b42 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:36:43 +0200 Subject: [PATCH 22/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 3725b52..e4d262e 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -32,15 +32,15 @@ jobs: - name: nodejs project information id: projectinfo uses: gregoranders/nodejs-project-info@v0.0.6 - # - name: npm install - # run: | - # npm install - # - name: npm run build - # run: | - # npm run build - # - name: npm test - # run: | - # npm test + - name: npm install + run: | + npm install + - name: npm run build + run: | + npm run build + - name: npm test + run: | + npm test - name: npm run e2e if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' run: | @@ -62,17 +62,7 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - ps aux - sudo echo "--------------------" - sudo ls -lha /Library/Keychains/ - sudo echo "--------------------" - sudo security list-keychains - sudo echo "--------------------" sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/fritz.box.cer - sudo echo "--------------------" - sudo security list-keychains - sudo echo "--------------------" - sudo security --help npm run e2e env: HEADLESS: true From cae78a66cf1cdb75a9d30f8f17d9b6fdce59d71a Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:43:48 +0200 Subject: [PATCH 23/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index e4d262e..13ee001 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -7,7 +7,7 @@ on: env: CI: true - PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true + PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: false GITHUB_BRANCH: ${{ github.ref }} GITHUB_COMMIT: ${{ github.sha }} From 86aa6f92de15e09ea6bb8ebf5d16aeb839ec84bd Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:50:52 +0200 Subject: [PATCH 24/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 13ee001..69621fc 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -7,7 +7,6 @@ on: env: CI: true - PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: false GITHUB_BRANCH: ${{ github.ref }} GITHUB_COMMIT: ${{ github.sha }} From 7496476c5491bdd3f7b8575dd8b1b5d14de2a10f Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 00:57:48 +0200 Subject: [PATCH 25/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 69621fc..9424942 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -62,6 +62,7 @@ jobs: if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/fritz.box.cer + sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/development.fritz.box.cer npm run e2e env: HEADLESS: true From 7951ac97399ec7b069dd26c23172f098cda646b5 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 01:02:05 +0200 Subject: [PATCH 26/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 9424942..4f74f16 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -63,6 +63,8 @@ jobs: run: | sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/fritz.box.cer sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/development.fritz.box.cer + sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/fritz.box.cer + sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/development.fritz.box.cer npm run e2e env: HEADLESS: true From e8ce8bce2d65505f463af86f565ffeb1531c1b04 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 01:10:06 +0200 Subject: [PATCH 27/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 4f74f16..fb33356 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -61,10 +61,10 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/fritz.box.cer - sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/development.fritz.box.cer - sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/fritz.box.cer - sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/development.fritz.box.cer + sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/development.fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/development.fritz.box.crt npm run e2e env: HEADLESS: true From 0139912a7a9ebf2bb82d5cc6bae3efc6b18a5e0e Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 01:20:18 +0200 Subject: [PATCH 28/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index fb33356..da51a3e 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -61,9 +61,7 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/fritz.box.crt - sudo security add-trusted-cert -d -r trustRoot -p ssl -p basic -s localhost -k /Library/Keychains/System.Keychain ssl/development.fritz.box.crt - sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.Keychain ssl/development.fritz.box.crt sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/development.fritz.box.crt npm run e2e env: From 0fd5ce262da889571be84eebe3183c02745ab109 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 01:35:47 +0200 Subject: [PATCH 29/31] build(ssl): fix build on macos fix build on macos #55 --- jest-puppeteer.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jest-puppeteer.config.js b/jest-puppeteer.config.js index c93d0a6..87103c3 100644 --- a/jest-puppeteer.config.js +++ b/jest-puppeteer.config.js @@ -11,7 +11,7 @@ module.exports = { launch: { dumpio: true, headless: process.env.HEADLESS !== 'false', - args: ['--enable-experimental-web-platform-features'] + args: ['--enable-experimental-web-platform-features', '--allow-insecure-localhost'] }, server: { command, From d62a5575fca194f8149a74394b929733df079227 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 01:39:42 +0200 Subject: [PATCH 30/31] build(ssl): fix build on macos fix build on macos #55 --- .github/workflows/feature.yml | 5 ++--- jest-puppeteer.config.js | 9 ++++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index da51a3e..6ec6b14 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - os: [macos-latest] + os: [ubuntu-latest, windows-latest, macos-latest] node-version: [14.x] steps: @@ -61,8 +61,7 @@ jobs: - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | - sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.Keychain ssl/development.fritz.box.crt - sudo security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ssl/development.fritz.box.crt + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.Keychain ssl/fritz.box.crt npm run e2e env: HEADLESS: true diff --git a/jest-puppeteer.config.js b/jest-puppeteer.config.js index 87103c3..0738477 100644 --- a/jest-puppeteer.config.js +++ b/jest-puppeteer.config.js @@ -5,13 +5,20 @@ const packageJson = require('./package.json'); const port = portfinder.getPort(packageJson.baseport); const command = `cross-env NODE_PORT=${port} NODE_ENV=production npm run ${process.env.NODE_E2E === 'esm' ? 'serve' : 'e2e:serve'}`; +const args = ['--enable-experimental-web-platform-features']; + +// Did not manage to get self signed certs working on macos +if (process.platform === 'darwin') { + args.push('--allow-insecure-localhost'); +} + module.exports = { browser: 'chromium', browserContext: 'default', launch: { dumpio: true, headless: process.env.HEADLESS !== 'false', - args: ['--enable-experimental-web-platform-features', '--allow-insecure-localhost'] + args }, server: { command, From 3d0f21b775b251781df0df2f148ef2b5ecfc8219 Mon Sep 17 00:00:00 2001 From: Gregor Anders Date: Sat, 20 Jun 2020 01:50:05 +0200 Subject: [PATCH 31/31] build(ssl): update build configuration update build configuration for e2e #55 --- .github/workflows/development.yml | 40 ++++++++++++++++------------ .github/workflows/feature.yml | 10 +++---- .github/workflows/master.yml | 43 ++++++++++++++++++------------- .github/workflows/release.yml | 25 +++++++++++------- 4 files changed, 68 insertions(+), 50 deletions(-) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index ccbb461..52bbe41 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -5,6 +5,12 @@ on: branches: - development +env: + CI: true + HEADLESS: true + GITHUB_BRANCH: ${{ github.ref }} + GITHUB_COMMIT: ${{ github.sha }} + jobs: build: runs-on: ${{ matrix.os }} @@ -29,49 +35,51 @@ jobs: - name: npm install run: | npm install - env: - CI: true - name: npm run build run: | npm run build - env: - CI: true - name: npm test run: | npm test - env: - CI: true - name: code coverage if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: ./test/coverage/lcov.info - env: - CI: true - name: npm run e2e if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' run: | sudo apt-get update - sudo apt-get install xvfb + sudo apt-get install ca-certificates libnss3-tools xvfb + sudo mkdir -pv /usr/local/share/ca-certificates + sudo cp -v ssl/fritz.box.crt /usr/local/share/ca-certificates/ + sudo chmod 644 /usr/local/share/ca-certificates/* + sudo update-ca-certificates + mkdir -pv ${HOME}/.pki/nssdb + echo > .password + certutil -N -d sql:${HOME}/.pki/nssdb -f .password + certutil -A -d sql:${HOME}/.pki/nssdb -f .password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + rm -rf .password xvfb-run --auto-servernum -- bash -c "npm run e2e" env: - HEADLESS: true - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.Keychain ssl/fritz.box.crt npm run e2e env: - HEADLESS: true - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} + PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} + - name: npm run e2e + if: matrix.os == 'windows-latest' && matrix.node-version == '14.x' + run: | + certutil -addstore -f "ROOT" ssl\fritz.box.crt + env: PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: archive e2e screenshots uses: actions/upload-artifact@v1 - if: ( matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' ) && matrix.node-version == '14.x' + if: matrix.node-version == '14.x' with: name: Screenshots Development ${{ matrix.os }} ${{ matrix.node-version }} path: e2e/screenshots diff --git a/.github/workflows/feature.yml b/.github/workflows/feature.yml index 6ec6b14..168c7a2 100644 --- a/.github/workflows/feature.yml +++ b/.github/workflows/feature.yml @@ -7,6 +7,7 @@ on: env: CI: true + HEADLESS: true GITHUB_BRANCH: ${{ github.ref }} GITHUB_COMMIT: ${{ github.sha }} @@ -56,7 +57,6 @@ jobs: rm -rf .password xvfb-run --auto-servernum -- bash -c "npm run e2e" env: - HEADLESS: true PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' @@ -64,21 +64,17 @@ jobs: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.Keychain ssl/fritz.box.crt npm run e2e env: - HEADLESS: true - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: npm run e2e if: matrix.os == 'windows-latest' && matrix.node-version == '14.x' run: | certutil -addstore -f "ROOT" ssl\fritz.box.crt + npm run e2e env: - HEADLESS: true - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: archive e2e screenshots uses: actions/upload-artifact@v1 + if: matrix.node-version == '14.x' with: name: Screenshots Feature ${{ matrix.os }} ${{ matrix.node-version }} path: e2e/screenshots diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 4d348a8..733e29c 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -5,6 +5,12 @@ on: branches: - master +env: + CI: true + HEADLESS: true + GITHUB_BRANCH: ${{ github.ref }} + GITHUB_COMMIT: ${{ github.sha }} + jobs: build: runs-on: ${{ matrix.os }} @@ -29,31 +35,22 @@ jobs: - name: npm install run: | npm install - env: - CI: true - name: npm run build run: | npm run build - env: - CI: true - name: npm test run: | npm test - env: - CI: true - name: code coverage if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: ./test/coverage/lcov.info - env: - CI: true - name: publish code coverage to code climate if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' uses: paambaati/codeclimate-action@v2.6.0 env: - CI: true CC_TEST_REPORTER_ID: ${{ secrets.CODE_CLIMATE }} with: coverageCommand: npm run test @@ -64,25 +61,36 @@ jobs: if: matrix.os == 'ubuntu-latest' && matrix.node-version == '14.x' run: | sudo apt-get update - sudo apt-get install xvfb + sudo apt-get install ca-certificates libnss3-tools xvfb + sudo mkdir -pv /usr/local/share/ca-certificates + sudo cp -v ssl/fritz.box.crt /usr/local/share/ca-certificates/ + sudo chmod 644 /usr/local/share/ca-certificates/* + sudo update-ca-certificates + mkdir -pv ${HOME}/.pki/nssdb + echo > .password + certutil -N -d sql:${HOME}/.pki/nssdb -f .password + certutil -A -d sql:${HOME}/.pki/nssdb -f .password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + rm -rf .password xvfb-run --auto-servernum -- bash -c "npm run e2e" env: - HEADLESS: true - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: npm run e2e if: matrix.os == 'macos-latest' && matrix.node-version == '14.x' run: | + sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.Keychain ssl/fritz.box.crt + npm run e2e + env: + PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} + - name: npm run e2e + if: matrix.os == 'windows-latest' && matrix.node-version == '14.x' + run: | + certutil -addstore -f "ROOT" ssl\fritz.box.crt npm run e2e env: - HEADLESS: true - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: archive e2e screenshots uses: actions/upload-artifact@v1 - if: ( matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' ) && matrix.node-version == '14.x' + if: matrix.node-version == '14.x' with: name: Screenshots Master ${{ matrix.os }} ${{ matrix.node-version }} path: e2e/screenshots @@ -91,7 +99,6 @@ jobs: id: createrelease uses: gregoranders/nodejs-create-release@v0.0.6 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} with: tag: v${{ steps.projectinfo.outputs.version }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 93d92cf..1ba21c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,6 +5,12 @@ on: types: - edited +env: + CI: true + HEADLESS: true + GITHUB_BRANCH: ${{ github.ref }} + GITHUB_COMMIT: ${{ github.sha }} + jobs: build: runs-on: ${{ matrix.os }} @@ -29,26 +35,27 @@ jobs: - name: npm install run: | npm install - env: - CI: true - name: npm run build run: | npm run build - env: - CI: true - name: npm test run: | npm test - env: - CI: true - name: npm run e2e run: | sudo apt-get update - sudo apt-get install xvfb + sudo apt-get install ca-certificates libnss3-tools xvfb + sudo mkdir -pv /usr/local/share/ca-certificates + sudo cp -v ssl/fritz.box.crt /usr/local/share/ca-certificates/ + sudo chmod 644 /usr/local/share/ca-certificates/* + sudo update-ca-certificates + mkdir -pv ${HOME}/.pki/nssdb + echo > .password + certutil -N -d sql:${HOME}/.pki/nssdb -f .password + certutil -A -d sql:${HOME}/.pki/nssdb -f .password -t "C,," -n "fritz.box" -i ssl/fritz.box.crt + rm -rf .password xvfb-run --auto-servernum -- bash -c "npm run e2e" env: - GITHUB_BRANCH: ${{ github.ref }} - GITHUB_COMMIT: ${{ github.sha }} PACKAGE_JSON: ${{ steps.projectinfo.outputs.context }} - name: archive e2e screenshots uses: actions/upload-artifact@v1