@elliemae/pui-cli 9.0.0-next.52 → 9.0.0-next.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.tsconfig.json +6 -3
- package/dist/cjs/babel.config.cjs +1 -1
- package/dist/cjs/build/vite.config.js +45 -0
- package/dist/cjs/cli.js +3 -1
- package/dist/cjs/commands/buildcdn.js +74 -0
- package/dist/cjs/commands/lint.js +1 -1
- package/dist/cjs/commands/test.js +0 -1
- package/dist/cjs/commands/tscheck.js +8 -1
- package/dist/cjs/commands/utils.js +8 -8
- package/dist/cjs/commands/vitest.js +0 -1
- package/dist/cjs/index.js +5 -7
- package/dist/cjs/lint-config/eslint.config.js +259 -0
- package/dist/cjs/lint-config/stylelint.config.js +1 -1
- package/dist/cjs/monorepo/utils.cjs +2 -2
- package/dist/cjs/monorepo/utils.js +1 -1
- package/dist/cjs/server/cert.js +45 -0
- package/dist/cjs/server/certs/cert.crt +25 -0
- package/dist/cjs/server/certs/cert.csr +18 -0
- package/dist/cjs/server/certs/cert.ext +7 -0
- package/dist/cjs/server/certs/cert.key +30 -0
- package/dist/cjs/server/certs/cert.pfx +0 -0
- package/dist/cjs/server/certs/rootCA.crt +24 -0
- package/dist/cjs/server/certs/rootCA.key +30 -0
- package/dist/cjs/server/certs/rootCA.srl +1 -0
- package/dist/cjs/server/csp.js +40 -29
- package/dist/cjs/server/index.js +8 -3
- package/dist/cjs/server/logger.js +5 -2
- package/dist/cjs/server/middlewares.js +2 -2
- package/dist/cjs/server/wsServer.js +7 -4
- package/dist/cjs/testing/jest.config.cjs +1 -2
- package/dist/cjs/testing/jest.polyfills.cjs +1 -1
- package/dist/cjs/testing/mocks/iframe.js +24 -0
- package/dist/cjs/testing/mocks/svg.js +0 -11
- package/dist/cjs/testing/resolver.cjs +0 -1
- package/dist/cjs/testing/vitest.config.js +1 -5
- package/dist/cjs/transpile/.swcrc +1 -0
- package/dist/cjs/utils.cjs +1 -1
- package/dist/cjs/utils.js +3 -1
- package/dist/cjs/webpack/csp-plugin.js +79 -0
- package/dist/cjs/webpack/csp.js +158 -0
- package/dist/cjs/webpack/helpers.js +14 -14
- package/dist/cjs/webpack/interceptor-middleware.js +125 -0
- package/dist/cjs/webpack/webpack.dev.babel.js +16 -4
- package/dist/cjs/webpack/webpack.lib.base.babel.js +0 -2
- package/dist/cjs/webpack/webpack.lib.prod.babel.js +3 -1
- package/dist/cjs/webpack/webpack.prod.babel.js +12 -5
- package/dist/cjs/webpack/webpack.storybook.js +1 -1
- package/dist/esm/babel.config.cjs +1 -1
- package/dist/esm/build/vite.config.js +25 -0
- package/dist/esm/cli.js +3 -1
- package/dist/esm/commands/buildcdn.js +43 -0
- package/dist/esm/commands/lint.js +1 -1
- package/dist/esm/commands/test.js +0 -1
- package/dist/esm/commands/tscheck.js +8 -1
- package/dist/esm/commands/utils.js +8 -8
- package/dist/esm/commands/vitest.js +0 -1
- package/dist/esm/index.js +2 -4
- package/dist/esm/lint-config/eslint.config.js +228 -0
- package/dist/esm/lint-config/stylelint.config.js +1 -1
- package/dist/esm/monorepo/utils.cjs +2 -2
- package/dist/esm/monorepo/utils.js +1 -1
- package/dist/esm/server/cert.js +14 -0
- package/dist/esm/server/certs/cert.crt +25 -0
- package/dist/esm/server/certs/cert.csr +18 -0
- package/dist/esm/server/certs/cert.ext +7 -0
- package/dist/esm/server/certs/cert.key +30 -0
- package/dist/esm/server/certs/cert.pfx +0 -0
- package/dist/esm/server/certs/rootCA.crt +24 -0
- package/dist/esm/server/certs/rootCA.key +30 -0
- package/dist/esm/server/certs/rootCA.srl +1 -0
- package/dist/esm/server/csp.js +40 -29
- package/dist/esm/server/index.js +8 -3
- package/dist/esm/server/logger.js +5 -2
- package/dist/esm/server/middlewares.js +2 -2
- package/dist/esm/server/wsServer.js +7 -4
- package/dist/esm/testing/jest.config.cjs +1 -2
- package/dist/esm/testing/jest.polyfills.cjs +1 -1
- package/dist/esm/testing/mocks/iframe.js +4 -0
- package/dist/esm/testing/mocks/svg.js +0 -1
- package/dist/esm/testing/resolver.cjs +0 -1
- package/dist/esm/testing/vitest.config.js +1 -4
- package/dist/esm/transpile/.swcrc +1 -0
- package/dist/esm/utils.cjs +1 -1
- package/dist/esm/utils.js +3 -1
- package/dist/esm/webpack/csp-plugin.js +49 -0
- package/dist/esm/webpack/csp.js +128 -0
- package/dist/esm/webpack/helpers.js +14 -14
- package/dist/esm/webpack/interceptor-middleware.js +105 -0
- package/dist/esm/webpack/webpack.dev.babel.js +16 -4
- package/dist/esm/webpack/webpack.lib.base.babel.js +0 -2
- package/dist/esm/webpack/webpack.lib.prod.babel.js +3 -1
- package/dist/esm/webpack/webpack.prod.babel.js +12 -5
- package/dist/esm/webpack/webpack.storybook.js +1 -1
- package/dist/types/eslint.config.d.ts +3 -0
- package/dist/types/eslint.config.d.ts.map +1 -0
- package/dist/types/lib/build/vite.config.d.ts +3 -0
- package/dist/types/lib/build/vite.config.d.ts.map +1 -0
- package/dist/types/lib/commands/build.d.ts.map +1 -1
- package/dist/types/lib/commands/buildcdn.d.ts +3 -0
- package/dist/types/lib/commands/buildcdn.d.ts.map +1 -0
- package/dist/types/lib/commands/gendoc.d.ts.map +1 -1
- package/dist/types/lib/commands/pack.d.ts.map +1 -1
- package/dist/types/lib/commands/start.d.ts.map +1 -1
- package/dist/types/lib/commands/test.d.ts.map +1 -1
- package/dist/types/lib/commands/tscheck.d.ts.map +1 -1
- package/dist/types/lib/commands/utils.d.ts +2 -1
- package/dist/types/lib/commands/utils.d.ts.map +1 -1
- package/dist/types/lib/commands/vitest.d.ts.map +1 -1
- package/dist/types/lib/index.d.ts +1 -2
- package/dist/types/lib/index.d.ts.map +1 -1
- package/dist/types/lib/lint-config/eslint.config.d.ts +3 -0
- package/dist/types/lib/lint-config/eslint.config.d.ts.map +1 -0
- package/dist/types/lib/server/cert.d.ts +5 -0
- package/dist/types/lib/server/cert.d.ts.map +1 -0
- package/dist/types/lib/server/csp.d.ts +0 -1
- package/dist/types/lib/server/csp.d.ts.map +1 -1
- package/dist/types/lib/server/logger.d.ts.map +1 -1
- package/dist/types/lib/server/wsServer.d.ts +2 -2
- package/dist/types/lib/server/wsServer.d.ts.map +1 -1
- package/dist/types/lib/testing/jest.config.d.cts +2 -1
- package/dist/types/lib/testing/jest.node.config.d.cts +2 -1
- package/dist/types/lib/testing/mocks/cssModule.d.ts.map +1 -1
- package/dist/types/lib/testing/mocks/html.d.ts.map +1 -1
- package/dist/types/lib/testing/mocks/iframe.d.ts +3 -0
- package/dist/types/lib/testing/mocks/iframe.d.ts.map +1 -0
- package/dist/types/lib/testing/mocks/image.d.ts.map +1 -1
- package/dist/types/lib/testing/mocks/svg.d.ts.map +1 -1
- package/dist/types/lib/testing/resolver.d.cts.map +1 -1
- package/dist/types/lib/testing/vitest.config.d.ts +1 -1
- package/dist/types/lib/testing/vitest.config.d.ts.map +1 -1
- package/dist/types/lib/transpile/esbuild.d.ts.map +1 -1
- package/dist/types/lib/utils.d.cts +1 -1
- package/dist/types/lib/utils.d.cts.map +1 -1
- package/dist/types/lib/utils.d.ts +2 -2
- package/dist/types/lib/utils.d.ts.map +1 -1
- package/dist/types/lib/webpack/csp-plugin.d.ts +33 -0
- package/dist/types/lib/webpack/csp-plugin.d.ts.map +1 -0
- package/dist/types/lib/webpack/csp.d.ts +66 -0
- package/dist/types/lib/webpack/csp.d.ts.map +1 -0
- package/dist/types/lib/webpack/helpers.d.ts +0 -1
- package/dist/types/lib/webpack/helpers.d.ts.map +1 -1
- package/dist/types/lib/webpack/interceptor-middleware.d.ts +11 -0
- package/dist/types/lib/webpack/interceptor-middleware.d.ts.map +1 -0
- package/dist/types/lib/webpack/webpack.base.babel.d.ts.map +1 -1
- package/dist/types/lib/webpack/webpack.dev.babel.d.ts.map +1 -1
- package/dist/types/lib/webpack/webpack.lib.base.babel.d.ts.map +1 -1
- package/dist/types/lib/webpack/webpack.lib.prod.babel.d.ts.map +1 -1
- package/dist/types/lib/webpack/webpack.prod.babel.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/library.tsconfig.json +8 -5
- package/package.json +146 -142
- package/dist/cjs/lint-config/eslint/config.js +0 -186
- package/dist/cjs/lint-config/eslint/react.js +0 -107
- package/dist/cjs/lint-config/eslint/typescript/config.js +0 -97
- package/dist/cjs/testing/setup-test-env.js +0 -6
- package/dist/esm/lint-config/eslint/config.js +0 -155
- package/dist/esm/lint-config/eslint/react.js +0 -76
- package/dist/esm/lint-config/eslint/typescript/config.js +0 -67
- package/dist/esm/testing/setup-test-env.js +0 -5
- package/dist/types/lib/lint-config/eslint/config.d.ts +0 -2
- package/dist/types/lib/lint-config/eslint/config.d.ts.map +0 -1
- package/dist/types/lib/lint-config/eslint/react.d.ts +0 -2
- package/dist/types/lib/lint-config/eslint/react.d.ts.map +0 -1
- package/dist/types/lib/lint-config/eslint/typescript/config.d.ts +0 -2
- package/dist/types/lib/lint-config/eslint/typescript/config.d.ts.map +0 -1
- package/dist/types/lib/testing/setup-test-env.d.ts +0 -2
- package/dist/types/lib/testing/setup-test-env.d.ts.map +0 -1
- package/dist/types/lib/tests/basic.test.d.ts +0 -1
- package/dist/types/lib/tests/basic.test.d.ts.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIERjCCAy6gAwIBAgIURZDLMeITZ77a7OqWfmuim11w3/0wDQYJKoZIhvcNAQEL
|
|
3
|
+
BQAwgZYxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UEBwwKUGxlYXNh
|
|
4
|
+
bnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9ybTESMBAGA1UE
|
|
5
|
+
AwwJbG9jYWxob3N0MS0wKwYJKoZIhvcNAQkBFh52aW5vdGgua2FseWFuYXN1bmRh
|
|
6
|
+
cmFtQGljZS5jb20wHhcNMjQxMDMxMTg1ODI1WhcNMjUxMDMxMTg1ODI1WjCBmzEL
|
|
7
|
+
MAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQHDApQbGVhc2FudG9uMQww
|
|
8
|
+
CgYDVQQKDANJQ0UxFDASBgNVBAsMC1VJIFBsYXRmb3JtMRcwFQYDVQQDDA5sb2Nh
|
|
9
|
+
bGhvc3Q6ODA4MDEtMCsGCSqGSIb3DQEJARYedmlub3RoLmthbHlhbmFzdW5kYXJh
|
|
10
|
+
bUBpY2UuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwfAgF1AN
|
|
11
|
+
m/RnbzKzoXS7SU3JkQWTeQ1ndaZRwiD4Xkg5bvdhzWUJORVYQTWIJJrL3KxqZzGM
|
|
12
|
+
gVj4UJt3AaQD73A+bQagS5EgYxLqg1v34HZvhwMfdoZfw9epQt5KCF3JQXyH+lJk
|
|
13
|
+
RyklnjHVZbYE1/eF1pb0KosIWPXY+kCYTi2b0oPifyO90bVOw3QvxLDF4fgk+QqL
|
|
14
|
+
7HU1EOAak4wj07dNi83xqCOqjtWzmlYokvYELFgCUMzWFEjxuWZMuGu8+28JAMX9
|
|
15
|
+
oXni9K8f4SJX5eZrRrtAHt+LwsxcLQPTmHHeTxvEc/L8//jAVUTohUr+/IfC59z0
|
|
16
|
+
dko7ulPQKjgsFwIDAQABo4GEMIGBMB8GA1UdIwQYMBaAFB/8xooBufI/rf2vXZBh
|
|
17
|
+
sLmQARwoMAkGA1UdEwQCMAAwNAYDVR0RBC0wK4IJbG9jYWxob3N0gg5sb2NhbGhv
|
|
18
|
+
c3Q6ODA4MIIObG9jYWxob3N0OjMwMDAwHQYDVR0OBBYEFLQKGRQF7uuWmv1mYPGF
|
|
19
|
+
lWd8FxjbMA0GCSqGSIb3DQEBCwUAA4IBAQAVqVVBtbkQo1JI7+3oPSgL+CPQC37x
|
|
20
|
+
szF+vXLeswBS6OYrqA4AgW0R3vnhB64t/+oRmUu59vi+PuC1ff4w23g2HMZ+MlY2
|
|
21
|
+
smgJ8XMoxyEn4aVAPLECzBuR67uGzCxJbqtg/avb6EIWTXzBwHI95PWVcWaLav1q
|
|
22
|
+
sf3Mc60LVlAFQb1Ec5MlQHgMHaGJSDE3UwPL+JOOTG1XLnqMt+WFfqG6gN6G3FkY
|
|
23
|
+
dSg3HOR2m2VHaQWvA8Zb34uTUan40K+/hlpbzfgDXF8nvg1Fwivje8+7L3FOcCw0
|
|
24
|
+
k3yHwccxFqhPkXXaByZzaBKIlFXtLA4LiUwVQ7JEwPsJS5U108tuAQ8V
|
|
25
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
|
2
|
+
MIIC4TCCAckCAQAwgZsxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UE
|
|
3
|
+
BwwKUGxlYXNhbnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9y
|
|
4
|
+
bTEXMBUGA1UEAwwObG9jYWxob3N0OjgwODAxLTArBgkqhkiG9w0BCQEWHnZpbm90
|
|
5
|
+
aC5rYWx5YW5hc3VuZGFyYW1AaWNlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
|
6
|
+
ADCCAQoCggEBAMHwIBdQDZv0Z28ys6F0u0lNyZEFk3kNZ3WmUcIg+F5IOW73Yc1l
|
|
7
|
+
CTkVWEE1iCSay9ysamcxjIFY+FCbdwGkA+9wPm0GoEuRIGMS6oNb9+B2b4cDH3aG
|
|
8
|
+
X8PXqULeSghdyUF8h/pSZEcpJZ4x1WW2BNf3hdaW9CqLCFj12PpAmE4tm9KD4n8j
|
|
9
|
+
vdG1TsN0L8SwxeH4JPkKi+x1NRDgGpOMI9O3TYvN8agjqo7Vs5pWKJL2BCxYAlDM
|
|
10
|
+
1hRI8blmTLhrvPtvCQDF/aF54vSvH+EiV+Xma0a7QB7fi8LMXC0D05hx3k8bxHPy
|
|
11
|
+
/P/4wFVE6IVK/vyHwufc9HZKO7pT0Co4LBcCAwEAAaAAMA0GCSqGSIb3DQEBCwUA
|
|
12
|
+
A4IBAQA/ud/JTN+FBGDyQFoGes/CAhKdj8hfZq1F/sivJXiXoC03FYd4NhAan/aY
|
|
13
|
+
1BFqiYESW1aYrDN4MyXEFhxeB5aOPHaraQ7Ny5eSAiQd6GJMNs5/lpc9W6gddXA/
|
|
14
|
+
rtl0BJ85YUh9NrRNKYdplJDrCUaZh5lFQcHb7eDsQyZJVBgJzjJ1YgpTh3Sz+hcS
|
|
15
|
+
eK6HiPqKIvRBaCgeKzEStEaLlrrsKhCezX7MOJ56JDGO7UgAxe5nRBD6Rg1Eoq+H
|
|
16
|
+
En6Q4im/SwFIFdYt0G2BW60OEmzP+sW16XfPeMTyNZrVYQ5a3r0oMYEPrPnL6FXo
|
|
17
|
+
u4ogdp1aQ2AhdGnsZxbht1uTAmCO
|
|
18
|
+
-----END CERTIFICATE REQUEST-----
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
2
|
+
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
|
|
29
|
+
r4eCFaUCCZOC2RMb8/iTn8x1VXqTkOQB
|
|
30
|
+
-----END ENCRYPTED PRIVATE KEY-----
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEDzCCAvegAwIBAgIUX5nLM97FoZtWQKe+Ez6zVIpf88QwDQYJKoZIhvcNAQEL
|
|
3
|
+
BQAwgZYxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UEBwwKUGxlYXNh
|
|
4
|
+
bnRvbjEMMAoGA1UECgwDSUNFMRQwEgYDVQQLDAtVSSBQbGF0Zm9ybTESMBAGA1UE
|
|
5
|
+
AwwJbG9jYWxob3N0MS0wKwYJKoZIhvcNAQkBFh52aW5vdGgua2FseWFuYXN1bmRh
|
|
6
|
+
cmFtQGljZS5jb20wHhcNMjQxMDMxMTg1NjExWhcNMjkxMDMwMTg1NjExWjCBljEL
|
|
7
|
+
MAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQHDApQbGVhc2FudG9uMQww
|
|
8
|
+
CgYDVQQKDANJQ0UxFDASBgNVBAsMC1VJIFBsYXRmb3JtMRIwEAYDVQQDDAlsb2Nh
|
|
9
|
+
bGhvc3QxLTArBgkqhkiG9w0BCQEWHnZpbm90aC5rYWx5YW5hc3VuZGFyYW1AaWNl
|
|
10
|
+
LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAP1YQm5nQotkgTAW
|
|
11
|
+
vuxRAlqLeO8peX0WHcgReIaoNXlMkoYBsiQkkX2pW1WdB1PPmQntE9bhJ2lR8Onq
|
|
12
|
+
//g5tjjfIB05pptbIDd7WCnLCseVHfeCbvOhvFza0qjsKUdoS4xBCWlY9WLR7rfo
|
|
13
|
+
ahv8yi9De+HuSgAmPCf3/IQm1/BvBfG5IDLU2maAruolTQUW+sDj+clQDpucKvS0
|
|
14
|
+
YaJMyfOAFjUj/0FvA2XwzQ9FTQX3Mv4NLXgJzhfNKTpJjgfM5lNEkV4EJmmQPS+5
|
|
15
|
+
BBZbaV1A9yabYEUsAfyYtOJc1tdCjnSCXB3cdnPOx1FBIZCM3CdJXyHnDnvZlzfY
|
|
16
|
+
SSNAR/sCAwEAAaNTMFEwHQYDVR0OBBYEFB/8xooBufI/rf2vXZBhsLmQARwoMB8G
|
|
17
|
+
A1UdIwQYMBaAFB/8xooBufI/rf2vXZBhsLmQARwoMA8GA1UdEwEB/wQFMAMBAf8w
|
|
18
|
+
DQYJKoZIhvcNAQELBQADggEBAEJHfJTGWjrQ3toRb+dbQbWdOeqtHW5uvIZ4Mg3E
|
|
19
|
+
Fb6DIz4xe0AOnWJSTk567nCQjHBYnSvjuCtNIbrREeNkkk2oCWVw5RQKwJjkOKzI
|
|
20
|
+
MiHYsckf5JJKGT2ELRZdHlRWWMZxPKy6pDIQU37R7k+E9Jr8VM62W9A5gZo9WWrG
|
|
21
|
+
Qje98PXE0qXmKKbYP9ZJx3Rsj12+GGJyiNc/pkeY17MX8bfRladueCNkiXbof3Xc
|
|
22
|
+
GwjRWw/OS/Dj4VVgDRsh3T24xh3yHY323t4T/3StzR61ix0/ITh3JUqPGoRiKjHC
|
|
23
|
+
8YDasQh3yuJfsfZTif0MeGT20bdZPgPgqmUTB2tVYe67aZM=
|
|
24
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
2
|
+
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
|
|
29
|
+
eG1+pj5536megxAPm8DIZVe208oiwc+e
|
|
30
|
+
-----END ENCRYPTED PRIVATE KEY-----
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4590CB31E21367BEDAECEA967E6BA29B5D70DFFD
|
package/dist/cjs/server/csp.js
CHANGED
|
@@ -36,20 +36,17 @@ var import_node_fs = __toESM(require("node:fs"));
|
|
|
36
36
|
var import_node_path = __toESM(require("node:path"));
|
|
37
37
|
var import_crypto = __toESM(require("crypto"));
|
|
38
38
|
var import_express = __toESM(require("express"));
|
|
39
|
-
var
|
|
39
|
+
var import_helmet = __toESM(require("helmet"));
|
|
40
40
|
const CSP_REPORT_URI = "/diagnostics/v1/csp";
|
|
41
41
|
const sources = [
|
|
42
|
-
"'self'",
|
|
43
42
|
"http://localhost:*",
|
|
43
|
+
"https://localhost:*",
|
|
44
44
|
"ws://localhost:*",
|
|
45
|
+
"*.ice.com",
|
|
45
46
|
"*.elliemae.io",
|
|
46
47
|
"*.elliemae.com",
|
|
47
|
-
"*.
|
|
48
|
-
"*.ellielabs.com"
|
|
49
|
-
"http://pdx-col.eum-appdynamics.com",
|
|
50
|
-
"https://pdx-col.eum-appdynamics.com/",
|
|
51
|
-
"https://www.google-analytics.com",
|
|
52
|
-
"https://www.googletagmanager.com"
|
|
48
|
+
"*.ellieservices.com",
|
|
49
|
+
"*.ellielabs.com"
|
|
53
50
|
];
|
|
54
51
|
const sendFileWithCSPNonce = ({
|
|
55
52
|
buildPath,
|
|
@@ -63,41 +60,55 @@ const sendFileWithCSPNonce = ({
|
|
|
63
60
|
res.sendStatus(404);
|
|
64
61
|
} else {
|
|
65
62
|
res.set("Content-Type", "text/html");
|
|
63
|
+
res.set("Reporting-Endpoints", `csp-report-uri="${CSP_REPORT_URI}"`);
|
|
64
|
+
res.set(
|
|
65
|
+
"Permissions-Policy",
|
|
66
|
+
"geolocation=(), camera=(), microphone=(), interest-cohort=()"
|
|
67
|
+
);
|
|
66
68
|
res.send(html.replace(nonceRegex, res.locals.cspNonce));
|
|
67
69
|
}
|
|
68
70
|
});
|
|
69
71
|
};
|
|
70
72
|
const getScriptSrc = () => {
|
|
71
|
-
const source = (
|
|
72
|
-
const scriptSrc =
|
|
73
|
+
const source = (_req, res) => `'nonce-${res.locals.cspNonce}'`;
|
|
74
|
+
const scriptSrc = [source, "'strict-dynamic'"];
|
|
73
75
|
return true ? scriptSrc.concat(["'unsafe-eval'"]) : scriptSrc;
|
|
74
76
|
};
|
|
75
77
|
const csp = (app) => {
|
|
76
|
-
app.use((
|
|
77
|
-
res.locals.cspNonce = import_crypto.default.randomBytes(
|
|
78
|
+
app.use((_req, res, next) => {
|
|
79
|
+
res.locals.cspNonce = import_crypto.default.randomBytes(32).toString("base64");
|
|
78
80
|
next();
|
|
79
81
|
});
|
|
80
82
|
app.use(
|
|
81
|
-
(0,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
(0, import_helmet.default)({
|
|
84
|
+
crossOriginOpenerPolicy: { policy: "same-origin-allow-popups" },
|
|
85
|
+
crossOriginResourcePolicy: false,
|
|
86
|
+
contentSecurityPolicy: {
|
|
87
|
+
useDefaults: false,
|
|
88
|
+
directives: {
|
|
89
|
+
defaultSrc: import_helmet.default.contentSecurityPolicy.dangerouslyDisableDefaultSrc,
|
|
90
|
+
baseUri: ["'self'"],
|
|
91
|
+
frameAncestors: sources,
|
|
92
|
+
objectSrc: ["'none'"],
|
|
93
|
+
scriptSrc: getScriptSrc(),
|
|
94
|
+
upgradeInsecureRequests: [],
|
|
95
|
+
reportUri: CSP_REPORT_URI,
|
|
96
|
+
reportTo: "csp-report-uri"
|
|
97
|
+
},
|
|
98
|
+
reportOnly: process.env.CSP_REPORT_ONLY !== "false"
|
|
96
99
|
},
|
|
97
|
-
|
|
100
|
+
xFrameOptions: false,
|
|
101
|
+
xPermittedCrossDomainPolicies: false,
|
|
102
|
+
xDownloadOptions: false,
|
|
103
|
+
xXssProtection: false
|
|
104
|
+
})
|
|
105
|
+
);
|
|
106
|
+
app.use(
|
|
107
|
+
CSP_REPORT_URI,
|
|
108
|
+
import_express.default.json({
|
|
109
|
+
type: ["application/csp-report", "application/reports+json"]
|
|
98
110
|
})
|
|
99
111
|
);
|
|
100
|
-
app.use(CSP_REPORT_URI, import_express.default.json({ type: "application/csp-report" }));
|
|
101
112
|
app.use(CSP_REPORT_URI, (req, res) => {
|
|
102
113
|
console.log("CSP Violation: ", req.body);
|
|
103
114
|
res.status(204).end();
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -21,18 +21,23 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
21
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
|
+
var import_node_https = __toESM(require("node:https"));
|
|
25
|
+
var import_node_http = __toESM(require("node:http"));
|
|
24
26
|
var import_express = __toESM(require("express"));
|
|
27
|
+
var import_cert = require("./cert.js");
|
|
25
28
|
var import_logger = require("./logger.js");
|
|
26
29
|
var import_middlewares = require("./middlewares.js");
|
|
27
30
|
var import_utils = require("./utils.js");
|
|
31
|
+
var import_utils2 = require("../utils.js");
|
|
28
32
|
var import_appRoutes = require("./appRoutes.js");
|
|
29
33
|
var import_wsServer = require("./wsServer.js");
|
|
30
|
-
|
|
34
|
+
void async function startServer() {
|
|
31
35
|
const app = (0, import_express.default)();
|
|
32
36
|
(0, import_middlewares.setupDefaultMiddlewares)(app);
|
|
33
37
|
await (0, import_appRoutes.loadRoutes)(app);
|
|
34
38
|
(0, import_middlewares.setupAdditionalMiddlewars)(app);
|
|
35
|
-
|
|
39
|
+
const server = (0, import_utils2.isHttps)() ? import_node_https.default.createServer((0, import_cert.getCertOptions)(), app) : import_node_http.default.createServer(app);
|
|
40
|
+
server.listen(import_utils.port, import_utils.host, () => {
|
|
36
41
|
import_logger.logger.appStarted(import_utils.port.toString(), import_utils.host || "localhost");
|
|
37
42
|
}).on("error", (err) => {
|
|
38
43
|
import_logger.logger.error(err);
|
|
@@ -42,4 +47,4 @@ var import_wsServer = require("./wsServer.js");
|
|
|
42
47
|
port: import_utils.wsPort
|
|
43
48
|
});
|
|
44
49
|
app.locals.wsServer = wsServer;
|
|
45
|
-
}
|
|
50
|
+
}();
|
|
@@ -33,6 +33,7 @@ __export(logger_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(logger_exports);
|
|
34
34
|
var import_chalk = __toESM(require("chalk"));
|
|
35
35
|
var import_ip = __toESM(require("ip"));
|
|
36
|
+
var import_utils = require("../utils.js");
|
|
36
37
|
const divider = import_chalk.default.gray("\n-----------------------------------");
|
|
37
38
|
const logger = {
|
|
38
39
|
// Called whenever there's an error on the server we want to print
|
|
@@ -48,10 +49,12 @@ const logger = {
|
|
|
48
49
|
const accessUrls = `${import_chalk.default.bold("Access URLs:")}${divider}
|
|
49
50
|
`;
|
|
50
51
|
const localHostUrl = `Localhost: ${import_chalk.default.magenta(
|
|
51
|
-
|
|
52
|
+
`${(0, import_utils.isHttps)() ? "https" : "http"}://${host}:${port}`
|
|
52
53
|
)}
|
|
53
54
|
`;
|
|
54
|
-
const lanUrl = `LAN: ${import_chalk.default.magenta(
|
|
55
|
+
const lanUrl = `LAN: ${import_chalk.default.magenta(
|
|
56
|
+
`${(0, import_utils.isHttps)() ? "https" : "http"}://${import_ip.default.address()}:${port}`
|
|
57
|
+
)}
|
|
55
58
|
`;
|
|
56
59
|
const proxy = tunnelStarted ? `
|
|
57
60
|
Proxy: ${import_chalk.default.magenta(tunnelStarted)}` : "";
|
|
@@ -61,7 +61,7 @@ const setupDefaultMiddlewares = (app) => {
|
|
|
61
61
|
const setupAdditionalMiddlewars = (app, options = {}) => {
|
|
62
62
|
const { buildPath = paths.buildPath, basePath = paths.basePath } = options;
|
|
63
63
|
app.use((0, import_compression.default)());
|
|
64
|
-
app.get(basePath, (
|
|
64
|
+
app.get(basePath, (_req, res) => {
|
|
65
65
|
(0, import_csp.sendFileWithCSPNonce)({ buildPath, res });
|
|
66
66
|
});
|
|
67
67
|
app.use(
|
|
@@ -75,7 +75,7 @@ const setupAdditionalMiddlewars = (app, options = {}) => {
|
|
|
75
75
|
app.use((0, import_express_static_gzip.default)("cdn", {}));
|
|
76
76
|
app.get(
|
|
77
77
|
"*",
|
|
78
|
-
(
|
|
78
|
+
(_req, res) => (0, import_csp.sendFileWithCSPNonce)({ buildPath, res })
|
|
79
79
|
);
|
|
80
80
|
return app;
|
|
81
81
|
};
|
|
@@ -31,8 +31,11 @@ __export(wsServer_exports, {
|
|
|
31
31
|
createWSServer: () => createWSServer
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(wsServer_exports);
|
|
34
|
+
var import_node_https = __toESM(require("node:https"));
|
|
34
35
|
var import_node_http = __toESM(require("node:http"));
|
|
35
36
|
var wsLib = __toESM(require("ws"));
|
|
37
|
+
var import_cert = require("./cert.js");
|
|
38
|
+
var import_utils = require("../utils.js");
|
|
36
39
|
const PING_INTERVAL = 3e4;
|
|
37
40
|
const DEFAULT_PORT = 5001;
|
|
38
41
|
const onSocketError = (err) => {
|
|
@@ -58,9 +61,9 @@ const createWSServer = ({
|
|
|
58
61
|
const heartbeat = () => {
|
|
59
62
|
isAlive = true;
|
|
60
63
|
};
|
|
61
|
-
const
|
|
64
|
+
const server = (0, import_utils.isHttps)() ? import_node_https.default.createServer((0, import_cert.getCertOptions)()) : import_node_http.default.createServer();
|
|
62
65
|
const wsServer = new wsLib.WebSocketServer({ noServer: true });
|
|
63
|
-
|
|
66
|
+
server.on("upgrade", (req, socket, head) => {
|
|
64
67
|
socket.on("error", onSocketError);
|
|
65
68
|
wsServer.handleUpgrade(req, socket, head, (ws) => {
|
|
66
69
|
const protocols = req.headers["sec-websocket-protocol"]?.split(",");
|
|
@@ -117,9 +120,9 @@ const createWSServer = ({
|
|
|
117
120
|
clearInterval(interval);
|
|
118
121
|
});
|
|
119
122
|
return new Promise((resolve) => {
|
|
120
|
-
|
|
123
|
+
server.listen(port, () => {
|
|
121
124
|
console.log(`Websocket server listening on port ${port}`);
|
|
122
|
-
return resolve({
|
|
125
|
+
return resolve({ server, wsServer });
|
|
123
126
|
});
|
|
124
127
|
});
|
|
125
128
|
};
|
|
@@ -6,10 +6,8 @@ const { findMonoRepoRoot } = require('../monorepo/utils.cjs');
|
|
|
6
6
|
|
|
7
7
|
let isReactModule = true;
|
|
8
8
|
try {
|
|
9
|
-
/* eslint-disable global-require, import/no-unresolved */
|
|
10
9
|
require('react');
|
|
11
10
|
require('styled-components');
|
|
12
|
-
/* eslint-enable global-require, import/no-unresolved */
|
|
13
11
|
} catch (err) {
|
|
14
12
|
isReactModule = false;
|
|
15
13
|
}
|
|
@@ -64,6 +62,7 @@ const jestConfig = {
|
|
|
64
62
|
'.*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$':
|
|
65
63
|
getMockFilePath('image.js'),
|
|
66
64
|
'.*\\.svg(?:\\?[a-zA-Z]+)?$': getMockFilePath('svg.js'),
|
|
65
|
+
'.*iframe\\.html(?:\\?[a-zA-Z]+)?$': getMockFilePath('iframe.js'),
|
|
67
66
|
'.*\\.html(?:\\?[a-zA-Z]+)?$': getMockFilePath('html.js'),
|
|
68
67
|
'@elliemae/pui-user-monitoring': getMockFilePath('pui-user-monitoring.js'),
|
|
69
68
|
'@elliemae/pui-app-loader': getMockFilePath('pui-app-loader.js'),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The block below contains polyfills for Node.js globals
|
|
3
3
|
* required for Jest to function when running JSDOM tests.
|
|
4
4
|
* These HAVE to be require's and HAVE to be in this exact
|
|
5
5
|
* order, since "undici" depends on the "TextEncoder" global API.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var iframe_exports = {};
|
|
20
|
+
__export(iframe_exports, {
|
|
21
|
+
default: () => iframe_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(iframe_exports);
|
|
24
|
+
var iframe_default = "./iframe.html";
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
var svg_exports = {};
|
|
30
20
|
__export(svg_exports, {
|
|
@@ -32,6 +22,5 @@ __export(svg_exports, {
|
|
|
32
22
|
default: () => svg_default
|
|
33
23
|
});
|
|
34
24
|
module.exports = __toCommonJS(svg_exports);
|
|
35
|
-
var React = __toESM(require("react"));
|
|
36
25
|
var svg_default = "SvgrURL";
|
|
37
26
|
const ReactComponent = "div";
|
|
@@ -32,7 +32,6 @@ module.exports = (request, options) => {
|
|
|
32
32
|
}
|
|
33
33
|
const resolution = resolutions.find(({ matcher }) => matcher.test(request));
|
|
34
34
|
if (resolution) {
|
|
35
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
36
35
|
for (const extension of resolution.extensions) {
|
|
37
36
|
try {
|
|
38
37
|
return resolver(
|
|
@@ -31,20 +31,16 @@ __export(vitest_config_exports, {
|
|
|
31
31
|
vitestConfig: () => vitestConfig
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(vitest_config_exports);
|
|
34
|
-
var import_node_path = __toESM(require("node:path"));
|
|
35
|
-
var import_node_url = require("node:url");
|
|
36
34
|
var import_config = require("vitest/config");
|
|
37
35
|
var import_plugin_react = __toESM(require("@vitejs/plugin-react"));
|
|
38
36
|
var import_vite_tsconfig_paths = __toESM(require("vite-tsconfig-paths"));
|
|
39
|
-
const import_meta = {};
|
|
40
|
-
const __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
41
37
|
const vitestConfig = (0, import_config.defineConfig)({
|
|
38
|
+
// @ts-expect-error - `react` and `tsconfigPaths` are not part of the default config
|
|
42
39
|
plugins: [(0, import_plugin_react.default)(), (0, import_vite_tsconfig_paths.default)()],
|
|
43
40
|
test: {
|
|
44
41
|
globals: true,
|
|
45
42
|
root: process.cwd(),
|
|
46
43
|
environment: "happy-dom",
|
|
47
|
-
setupFiles: [import_node_path.default.resolve(__dirname, "./setup-test-env.js")],
|
|
48
44
|
include: ["./{app,lib}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
|
|
49
45
|
exclude: [...import_config.configDefaults.exclude, ".idea", ".git", ".cache", "e2e"],
|
|
50
46
|
coverage: {
|
package/dist/cjs/utils.cjs
CHANGED
package/dist/cjs/utils.js
CHANGED
|
@@ -30,13 +30,15 @@ var utils_exports = {};
|
|
|
30
30
|
__export(utils_exports, {
|
|
31
31
|
basePath: () => basePath,
|
|
32
32
|
getAppConfig: () => getAppConfig,
|
|
33
|
-
isApp: () => isApp
|
|
33
|
+
isApp: () => isApp,
|
|
34
|
+
isHttps: () => isHttps
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(utils_exports);
|
|
36
37
|
var import_node_fs = __toESM(require("node:fs"));
|
|
37
38
|
var import_node_path = __toESM(require("node:path"));
|
|
38
39
|
const basePath = (process.env.BASE_PATH ?? "/").replace(/\/?$/, "/");
|
|
39
40
|
const isApp = () => import_node_fs.default.existsSync(import_node_path.default.join(process.cwd(), "app"));
|
|
41
|
+
const isHttps = () => process.env.HTTPS === "true";
|
|
40
42
|
const getAppConfig = () => {
|
|
41
43
|
const appConfigPath = import_node_path.default.join(
|
|
42
44
|
process.cwd(),
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var csp_plugin_exports = {};
|
|
30
|
+
__export(csp_plugin_exports, {
|
|
31
|
+
CspPlugin: () => CspPlugin
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(csp_plugin_exports);
|
|
34
|
+
var import_html_webpack_plugin = __toESM(require("html-webpack-plugin"));
|
|
35
|
+
var import_csp = require("./csp.js");
|
|
36
|
+
const defaultOptions = {
|
|
37
|
+
enableUnsafeEval: false
|
|
38
|
+
};
|
|
39
|
+
class CspPlugin {
|
|
40
|
+
#options = defaultOptions;
|
|
41
|
+
/**
|
|
42
|
+
* @param {object} options Additional options for this module.
|
|
43
|
+
*/
|
|
44
|
+
constructor(options) {
|
|
45
|
+
this.#options = { ...this.#options, ...options ?? {} };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Processes HtmlWebpackPlugin's html data by adding the CSP
|
|
49
|
+
* @param _compilation
|
|
50
|
+
* @param htmlPluginData
|
|
51
|
+
* @param htmlPluginData.html
|
|
52
|
+
* @param compileCb
|
|
53
|
+
* @returns {*}
|
|
54
|
+
*/
|
|
55
|
+
processCsp(_compilation, htmlPluginData, compileCb) {
|
|
56
|
+
const cspModule = new import_csp.CSP(htmlPluginData.html);
|
|
57
|
+
cspModule.refactorSourcedScriptsForHashBasedCsp();
|
|
58
|
+
const scriptHashes = cspModule.hashAllInlineScripts();
|
|
59
|
+
const { enableUnsafeEval } = this.#options;
|
|
60
|
+
const strictCsp = import_csp.CSP.getStrictCsp(scriptHashes, {
|
|
61
|
+
enableUnsafeEval
|
|
62
|
+
});
|
|
63
|
+
cspModule.addMetaTag(strictCsp);
|
|
64
|
+
htmlPluginData.html = cspModule.serializeDom();
|
|
65
|
+
return compileCb(null, htmlPluginData);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Hooks into webpack to collect assets and hash them, build the policy, and add it into our HTML template
|
|
69
|
+
* @param compiler
|
|
70
|
+
*/
|
|
71
|
+
apply(compiler) {
|
|
72
|
+
compiler.hooks.compilation.tap("CspPlugin", (compilation) => {
|
|
73
|
+
import_html_webpack_plugin.default.getCompilationHooks(compilation).beforeEmit.tapAsync(
|
|
74
|
+
"CspPlugin",
|
|
75
|
+
this.processCsp.bind(this, compilation)
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|