Skip to content

Commit

Permalink
Merge pull request #209 from waysact/fix-smoke-test
Browse files Browse the repository at this point in the history
  • Loading branch information
jscheid committed Feb 10, 2023
2 parents c9a7439 + 8a7abd8 commit ac8ed5e
Show file tree
Hide file tree
Showing 28 changed files with 4,131 additions and 5,802 deletions.
631 changes: 0 additions & 631 deletions .yarn/releases/yarn-3.0.0.cjs

This file was deleted.

873 changes: 873 additions & 0 deletions .yarn/releases/yarn-3.4.1.cjs

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion .yarnrc.yml
Expand Up @@ -13,4 +13,6 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"

yarnPath: .yarn/releases/yarn-3.0.0.cjs
yarnPath: .yarn/releases/yarn-3.4.1.cjs

nodeLinker: node-modules
1 change: 1 addition & 0 deletions examples/disabled/webpack.config.js
Expand Up @@ -2,6 +2,7 @@ const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const expect = require("expect");

module.exports = {
mode: "production",
entry: "./index.js",
output: {
filename: "bundle.js",
Expand Down
1 change: 1 addition & 0 deletions examples/electron-renderer/webpack.config.js
Expand Up @@ -3,6 +3,7 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
const expect = require("expect");

module.exports = {
mode: "production",
entry: {
index: "./index.js",
},
Expand Down
6 changes: 3 additions & 3 deletions examples/hwp-custom-template/package.json
Expand Up @@ -6,12 +6,12 @@
"private": true,
"devDependencies": {
"css-loader": "5",
"expect": "*",
"css-select": "^5.1.0",
"expect": "^26.6.2",
"html-webpack-plugin": ">= 5.0.0-beta.1",
"htmlparser": "^1.7.7",
"htmlparser2": "^8.0.1",
"mini-css-extract-plugin": "1",
"nyc": "*",
"soupselect": "^0.2.0",
"webpack": "^5.44.0",
"webpack-cli": "4",
"webpack-subresource-integrity": "*",
Expand Down
37 changes: 14 additions & 23 deletions examples/hwp-custom-template/webpack.config.js
Expand Up @@ -2,11 +2,12 @@ const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const expect = require("expect");
const htmlparser = require("htmlparser");
const htmlparser2 = require("htmlparser2");
const { readFileSync } = require("fs");
const { select } = require("soupselect");
const { selectAll } = require("css-select");

module.exports = {
mode: "production",
entry: "./index.js",
output: {
filename: "subdir/bundle.js",
Expand Down Expand Up @@ -52,29 +53,19 @@ module.exports = {
).integrity;
expect(cssIntegrity).toMatch(/^sha/);

return new Promise((resolve, reject) => {
const handler = new htmlparser.DefaultHandler((error, dom) => {
if (error) {
reject(error);
return;
}
const dom = htmlparser2.parseDocument(
readFileSync("./dist/admin.html", "utf-8")
);

const scripts = select(dom, "script");
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);
const scripts = selectAll("script", dom);
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);

const links = select(dom, "link");
expect(links.length).toEqual(1);
expect(links[0].attribs.crossorigin).toEqual("anonymous");
expect(links[0].attribs.integrity).toEqual(cssIntegrity);

resolve();
});
new htmlparser.Parser(handler).parseComplete(
readFileSync("./dist/admin.html", "utf-8")
);
});
const links = selectAll("link", dom);
expect(links.length).toEqual(1);
expect(links[0].attribs.crossorigin).toEqual("anonymous");
expect(links[0].attribs.integrity).toEqual(cssIntegrity);
});
},
},
Expand Down
4 changes: 2 additions & 2 deletions examples/hwp-externals/package.json
Expand Up @@ -5,12 +5,12 @@
"license": "MIT",
"private": true,
"devDependencies": {
"css-select": "^5.1.0",
"expect": "^26.6.2",
"html-webpack-externals-plugin": "^3.8.0",
"html-webpack-plugin": ">= 5.0.0-beta.1",
"htmlparser": "^1.7.7",
"htmlparser2": "^8.0.1",
"nyc": "*",
"soupselect": "^0.2.0",
"webpack": "^5.44.0",
"webpack-cli": "4",
"webpack-subresource-integrity": "*",
Expand Down
32 changes: 12 additions & 20 deletions examples/hwp-externals/webpack.config.js
Expand Up @@ -2,11 +2,12 @@ const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const HtmlWebpackExternalsPlugin = require("html-webpack-externals-plugin");
const expect = require("expect");
const htmlparser = require("htmlparser");
const htmlparser2 = require("htmlparser2");
const { readFileSync } = require("fs");
const { select } = require("soupselect");
const { selectAll } = require("css-select");

module.exports = {
mode: "production",
entry: "./index.js",
output: {
filename: "bundle.js",
Expand Down Expand Up @@ -38,25 +39,16 @@ module.exports = {
compiler.hooks.done.tapPromise("wsi-test", async (stats) => {
expect(stats.compilation.warnings).toEqual([]);

await new Promise((resolve, reject) => {
const handler = new htmlparser.DefaultHandler((error, dom) => {
if (error) {
reject(error);
return;
}
const scripts = select(dom, "script");
expect(scripts.length).toEqual(2);
for (let i = 0; i < scripts.length; i += 1) {
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toMatch(/^sha/);
}
const dom = htmlparser2.parseDocument(
readFileSync("./dist/index.html", "utf-8")
);

resolve();
});
new htmlparser.Parser(handler).parseComplete(
readFileSync("./dist/index.html", "utf-8")
);
});
const scripts = selectAll("script", dom);
expect(scripts.length).toEqual(2);
for (let i = 0; i < scripts.length; i += 1) {
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toMatch(/^sha/);
}
});
},
},
Expand Down
4 changes: 2 additions & 2 deletions examples/hwp-output-parent-dir/package.json
Expand Up @@ -5,11 +5,11 @@
"license": "MIT",
"private": true,
"devDependencies": {
"css-select": "^5.1.0",
"expect": "^26.6.2",
"html-webpack-plugin": ">= 5.0.0-beta.1",
"htmlparser": "^1.7.7",
"htmlparser2": "^8.0.1",
"nyc": "*",
"soupselect": "^0.2.0",
"webpack": "^5.44.0",
"webpack-cli": "4",
"webpack-subresource-integrity": "*",
Expand Down
28 changes: 10 additions & 18 deletions examples/hwp-output-parent-dir/webpack.config.js
Expand Up @@ -2,11 +2,12 @@ const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const path = require("path");
const expect = require("expect");
const htmlparser = require("htmlparser");
const htmlparser2 = require("htmlparser2");
const { readFileSync } = require("fs");
const { select } = require("soupselect");
const { selectAll } = require("css-select");

module.exports = {
mode: "production",
entry: {
main: "./index.js",
},
Expand All @@ -32,23 +33,14 @@ module.exports = {
.integrity || stats.compilation.assets["bundle.js"].integrity;
expect(jsIntegrity).toMatch(/^sha/);

await new Promise((resolve, reject) => {
const handler = new htmlparser.DefaultHandler((error, dom) => {
if (error) {
reject(error);
return;
}
const scripts = select(dom, "script");
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);
const dom = htmlparser2.parseDocument(
readFileSync("./dist/index.html", "utf-8")
);

resolve();
});
new htmlparser.Parser(handler).parseComplete(
readFileSync("./dist/index.html", "utf-8")
);
});
const scripts = selectAll("script", dom);
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);
});
},
},
Expand Down
4 changes: 2 additions & 2 deletions examples/hwp-public-path/package.json
Expand Up @@ -5,11 +5,11 @@
"license": "MIT",
"private": true,
"devDependencies": {
"css-select": "^5.1.0",
"expect": "^26.6.2",
"html-webpack-plugin": ">= 5.0.0-beta.1",
"htmlparser": "^1.7.7",
"htmlparser2": "^8.0.1",
"nyc": "*",
"soupselect": "^0.2.0",
"webpack": "^5.44.0",
"webpack-cli": "4",
"webpack-subresource-integrity": "*",
Expand Down
28 changes: 10 additions & 18 deletions examples/hwp-public-path/webpack.config.js
@@ -1,11 +1,12 @@
const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const expect = require("expect");
const htmlparser = require("htmlparser");
const htmlparser2 = require("htmlparser2");
const { readFileSync } = require("fs");
const { select } = require("soupselect");
const { selectAll } = require("css-select");

module.exports = {
mode: "production",
entry: "./index.js",
output: {
filename: "bundle.js",
Expand All @@ -24,23 +25,14 @@ module.exports = {
.integrity || stats.compilation.assets["bundle.js"].integrity;
expect(jsIntegrity).toMatch(/^sha/);

return new Promise((resolve, reject) => {
const handler = new htmlparser.DefaultHandler((error, dom) => {
if (error) {
reject(error);
return;
}
const scripts = select(dom, "script");
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);
const dom = htmlparser2.parseDocument(
readFileSync("./dist/index.html", "utf-8")
);

resolve();
});
new htmlparser.Parser(handler).parseComplete(
readFileSync("./dist/index.html", "utf-8")
);
});
const scripts = selectAll("script", dom);
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);
});
},
},
Expand Down
4 changes: 2 additions & 2 deletions examples/hwp-subdirectories/package.json
Expand Up @@ -5,11 +5,11 @@
"license": "MIT",
"private": true,
"devDependencies": {
"css-select": "^5.1.0",
"expect": "^26.6.2",
"html-webpack-plugin": ">= 5.0.0-beta.1",
"htmlparser": "^1.7.7",
"htmlparser2": "^8.0.1",
"nyc": "*",
"soupselect": "^0.2.0",
"webpack": "^5.44.0",
"webpack-cli": "4",
"webpack-subresource-integrity": "*",
Expand Down
27 changes: 9 additions & 18 deletions examples/hwp-subdirectories/webpack.config.js
@@ -1,9 +1,9 @@
const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const expect = require("expect");
const htmlparser = require("htmlparser");
const htmlparser2 = require("htmlparser2");
const { readFileSync } = require("fs");
const { select } = require("soupselect");
const { selectAll } = require("css-select");

module.exports = {
entry: "./index.js",
Expand All @@ -28,23 +28,14 @@ module.exports = {
stats.compilation.assets["subdir/bundle.js"].integrity;
expect(jsIntegrity).toMatch(/^sha/);

await new Promise((resolve, reject) => {
const handler = new htmlparser.DefaultHandler((error, dom) => {
if (error) {
reject(error);
return;
}
const dom = htmlparser2.parseDocument(
readFileSync("./dist/assets/admin.html", "utf-8")
);

const scripts = select(dom, "script");
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);
resolve();
});
new htmlparser.Parser(handler).parseComplete(
readFileSync("./dist/assets/admin.html", "utf-8")
);
});
const scripts = selectAll("script", dom);
expect(scripts.length).toEqual(1);
expect(scripts[0].attribs.crossorigin).toEqual("anonymous");
expect(scripts[0].attribs.integrity).toEqual(jsIntegrity);
});
},
},
Expand Down
1 change: 1 addition & 0 deletions examples/multiple-common-chunks/webpack.config.js
Expand Up @@ -4,6 +4,7 @@ const { join } = require("path");
const expect = require("expect");

module.exports = {
mode: "production",
entry: {
pageA: "./pageA.js",
pageB: "./pageB.js",
Expand Down
1 change: 1 addition & 0 deletions examples/mutually-dependent-chunks/webpack.config.js
Expand Up @@ -2,6 +2,7 @@ const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const expect = require("expect");

module.exports = {
mode: "production",
entry: "./main.js",
output: {
filename: "bundle.js",
Expand Down
1 change: 1 addition & 0 deletions examples/no-error-invalid-config/webpack.config.js
Expand Up @@ -3,6 +3,7 @@ const expect = require("expect");
const ChunkRenderError = require("webpack/lib/ChunkRenderError");

module.exports = {
mode: "production",
entry: "./index.js",
output: {
filename:
Expand Down
1 change: 1 addition & 0 deletions examples/no-warn-filename/webpack.config.js
Expand Up @@ -2,6 +2,7 @@ const { SubresourceIntegrityPlugin } = require("webpack-subresource-integrity");
const expect = require("expect");

module.exports = {
mode: "production",
entry: "./a.js",
output: {
filename: "[name]-[hash]-[hash:4]-[id]-[query].js",
Expand Down
1 change: 1 addition & 0 deletions examples/non-web-build/webpack.config.js
Expand Up @@ -3,6 +3,7 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
const expect = require("expect");

module.exports = {
mode: "production",
entry: {
index: "./index.js",
},
Expand Down
1 change: 1 addition & 0 deletions examples/warn-hot-reload/webpack.config.js
Expand Up @@ -3,6 +3,7 @@ const webpack = require("webpack");
const expect = require("expect");

module.exports = {
mode: "production",
entry: "./index.js",
output: {
filename: "bundle.js",
Expand Down

0 comments on commit ac8ed5e

Please sign in to comment.