storybook-addon-vis 0.10.0 → 0.10.2
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/dist/preset.cjs +2 -0
- package/dist/preset.cjs.map +1 -0
- package/dist/vitest-setup.js +1 -1
- package/dist/vitest-setup.js.map +1 -1
- package/package.json +5 -1
- package/src/expect.to_match_image_snapshot.global.spec.ts +2 -0
- package/src/expect.to_match_image_snapshot.spec.ts +1 -1
- package/src/vis.spec.ts +4 -1
- package/src/vis.ts +1 -1
package/dist/preset.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/preset.ts"],"names":["preset_default"],"mappings":"aAAA,IAAOA,EAAQ","file":"preset.cjs","sourcesContent":["export default {}\n"]}
|
package/dist/vitest-setup.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { toMatchImageSnapshot, state, page } from './chunk-B2M7JPBQ.js';
|
|
2
2
|
export { cdp, commands, page, server, toMatchImageSnapshot } from './chunk-B2M7JPBQ.js';
|
|
3
|
-
import { expect } from 'vitest';
|
|
3
|
+
import { expect, beforeAll, afterEach } from 'vitest';
|
|
4
4
|
|
|
5
5
|
// src/should_take_snapshot.ts
|
|
6
6
|
function shouldTakeSnapshot() {
|
package/dist/vitest-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/should_take_snapshot.ts","../src/vis.ts"],"names":[],"mappings":";;;;;AASO,SAAS,kBAAqB,GAAA;AACpC,EAAA,OAAO,MAAM,kBAAmB,EAAA;AACjC;;;ACHA,MAAO,CAAA,MAAA,CAAO,EAAE,oBAAA,EAAsB,CAAA;AAE/B,SAAS,gBAAgB,OAAsB,EAAA;AACrD,EAAA,MAAM,CAAI,GAAA;AAAA,IACT,OAAS,EAAA;AAAA,MACR,KAAQ,GAAA;AACP,QAAA,SAAA,CAAU,EAAE,SAAS,CAAA;AACrB,QAAU,SAAA,CAAA,CAAA,CAAE,UAAU,kBAAkB,CAAA;AAAA,OACzC;AAAA,MACA,MAAM,MAAoD,EAAA;AACzD,QAAA,SAAA,CAAU,EAAE,SAAS,CAAA;AACrB,QAAA,SAAA,CAAU,CAAE,CAAA,SAAA,CAAU,aAAc,CAAA,MAAM,CAAC,CAAA;AAAA;AAC5C,KACD;AAAA,IACA,MAAM,UAAU,KAAqD,EAAA;AACpE,MAAO,OAAA,KAAA,CAAM,UAAW,CAAA,KAAA,EAAO,OAAO,CAAA;AAAA,KACvC;AAAA,IACA,SAAW,EAAA;AAAA,MACV,MAAM,kBAAqB,GAAA;AAC1B,QAAI,IAAA,CAAC,oBAAsB,EAAA;AAC3B,QAAM,MAAA,CAAA,GAAI,MAAM,IAAA,CAAK,aAAc,EAAA;AACnC,QAAO,MAAA,CAAA,CAAC,EAAE,oBAAqB,EAAA;AAAA,OAChC;AAAA,MACA,cAAc,MAAoD,EAAA;AACjE,QAAA,OAAO,eAAe,kBAAqB,GAAA;AAC1C,UAAI,IAAA,CAAC,oBAAsB,EAAA;AAC3B,UAAA,KAAA,MAAW,WAAW,MAAQ,EAAA;AAC7B,YAAM,MAAA,MAAA,CAAO,OAAO,CAAE,EAAA;AACtB,YAAM,MAAA,CAAA,GAAI,MAAM,IAAA,CAAK,aAAc,CAAA;AAAA,cAClC,qBAAqB,CAAC,EAAA,KAAO,CAAG,EAAA,EAAE,IAAI,OAAO,CAAA;AAAA,aAC7C,CAAA;AACD,YAAM,MAAA,MAAA,CAAO,CAAC,CAAA,CAAE,oBAAqB,EAAA;AAAA;AACtC,SACD;AAAA;AACD;AACD,GACD;AACA,EAAO,OAAA,CAAA;AACR","file":"vitest-setup.js","sourcesContent":["import { state } from './state'\n\n/**\n * Determine should snapshot be taken.\n *\n * not story: false\n * no `snapshot` tag: false\n * disabled by `!snapshot` tag: false\n */\nexport function shouldTakeSnapshot() {\n\treturn state.shouldTakeSnapshot()\n}\n","import { expect } from 'vitest'\nimport { page } from './@vitest/browser/context.js'\nimport './augment.js'\nimport { toMatchImageSnapshot } from './expect.to_match_image_snapshot.js'\nimport { shouldTakeSnapshot } from './should_take_snapshot.js'\nimport { state } from './state.js'\nimport type { VisOptions } from './types.js'\n\nexpect.extend({ toMatchImageSnapshot })\n\nexport function createVisConfig(options?: VisOptions) {\n\tconst h = {\n\t\tpresets: {\n\t\t\tbasic() {\n\t\t\t\tbeforeAll(h.beforeAll)\n\t\t\t\tafterEach(h.afterEach.matchImageSnapshot)\n\t\t\t},\n\t\t\ttheme(themes: Record<string, () => void | Promise<void>>) {\n\t\t\t\tbeforeAll(h.beforeAll)\n\t\t\t\tafterEach(h.afterEach.matchPerTheme(themes))\n\t\t\t},\n\t\t},\n\t\tasync beforeAll(suite: { file: { filepath: string }; name: string }) {\n\t\t\treturn state.setupSuite(suite, options)\n\t\t},\n\t\tafterEach: {\n\t\t\tasync matchImageSnapshot() {\n\t\t\t\tif (!shouldTakeSnapshot()) return\n\t\t\t\tconst r = await page.imageSnapshot()\n\t\t\t\texpect(r).toMatchImageSnapshot()\n\t\t\t},\n\t\t\tmatchPerTheme(themes: Record<string, () => Promise<void> | void>) {\n\t\t\t\treturn async function matchImageSnapshot() {\n\t\t\t\t\tif (!shouldTakeSnapshot()) return\n\t\t\t\t\tfor (const themeId in themes) {\n\t\t\t\t\t\tawait themes[themeId]()\n\t\t\t\t\t\tconst r = await page.imageSnapshot({\n\t\t\t\t\t\t\tcustomizeSnapshotId: (id) => `${id}-${themeId}`,\n\t\t\t\t\t\t})\n\t\t\t\t\t\tawait expect(r).toMatchImageSnapshot()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t}\n\treturn h\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/should_take_snapshot.ts","../src/vis.ts"],"names":[],"mappings":";;;;;AASO,SAAS,kBAAqB,GAAA;AACpC,EAAA,OAAO,MAAM,kBAAmB,EAAA;AACjC;;;ACHA,MAAO,CAAA,MAAA,CAAO,EAAE,oBAAA,EAAsB,CAAA;AAE/B,SAAS,gBAAgB,OAAsB,EAAA;AACrD,EAAA,MAAM,CAAI,GAAA;AAAA,IACT,OAAS,EAAA;AAAA,MACR,KAAQ,GAAA;AACP,QAAA,SAAA,CAAU,EAAE,SAAS,CAAA;AACrB,QAAU,SAAA,CAAA,CAAA,CAAE,UAAU,kBAAkB,CAAA;AAAA,OACzC;AAAA,MACA,MAAM,MAAoD,EAAA;AACzD,QAAA,SAAA,CAAU,EAAE,SAAS,CAAA;AACrB,QAAA,SAAA,CAAU,CAAE,CAAA,SAAA,CAAU,aAAc,CAAA,MAAM,CAAC,CAAA;AAAA;AAC5C,KACD;AAAA,IACA,MAAM,UAAU,KAAqD,EAAA;AACpE,MAAO,OAAA,KAAA,CAAM,UAAW,CAAA,KAAA,EAAO,OAAO,CAAA;AAAA,KACvC;AAAA,IACA,SAAW,EAAA;AAAA,MACV,MAAM,kBAAqB,GAAA;AAC1B,QAAI,IAAA,CAAC,oBAAsB,EAAA;AAC3B,QAAM,MAAA,CAAA,GAAI,MAAM,IAAA,CAAK,aAAc,EAAA;AACnC,QAAO,MAAA,CAAA,CAAC,EAAE,oBAAqB,EAAA;AAAA,OAChC;AAAA,MACA,cAAc,MAAoD,EAAA;AACjE,QAAA,OAAO,eAAe,kBAAqB,GAAA;AAC1C,UAAI,IAAA,CAAC,oBAAsB,EAAA;AAC3B,UAAA,KAAA,MAAW,WAAW,MAAQ,EAAA;AAC7B,YAAM,MAAA,MAAA,CAAO,OAAO,CAAE,EAAA;AACtB,YAAM,MAAA,CAAA,GAAI,MAAM,IAAA,CAAK,aAAc,CAAA;AAAA,cAClC,qBAAqB,CAAC,EAAA,KAAO,CAAG,EAAA,EAAE,IAAI,OAAO,CAAA;AAAA,aAC7C,CAAA;AACD,YAAM,MAAA,MAAA,CAAO,CAAC,CAAA,CAAE,oBAAqB,EAAA;AAAA;AACtC,SACD;AAAA;AACD;AACD,GACD;AACA,EAAO,OAAA,CAAA;AACR","file":"vitest-setup.js","sourcesContent":["import { state } from './state'\n\n/**\n * Determine should snapshot be taken.\n *\n * not story: false\n * no `snapshot` tag: false\n * disabled by `!snapshot` tag: false\n */\nexport function shouldTakeSnapshot() {\n\treturn state.shouldTakeSnapshot()\n}\n","import { afterEach, beforeAll, expect } from 'vitest'\nimport { page } from './@vitest/browser/context.js'\nimport './augment.js'\nimport { toMatchImageSnapshot } from './expect.to_match_image_snapshot.js'\nimport { shouldTakeSnapshot } from './should_take_snapshot.js'\nimport { state } from './state.js'\nimport type { VisOptions } from './types.js'\n\nexpect.extend({ toMatchImageSnapshot })\n\nexport function createVisConfig(options?: VisOptions) {\n\tconst h = {\n\t\tpresets: {\n\t\t\tbasic() {\n\t\t\t\tbeforeAll(h.beforeAll)\n\t\t\t\tafterEach(h.afterEach.matchImageSnapshot)\n\t\t\t},\n\t\t\ttheme(themes: Record<string, () => void | Promise<void>>) {\n\t\t\t\tbeforeAll(h.beforeAll)\n\t\t\t\tafterEach(h.afterEach.matchPerTheme(themes))\n\t\t\t},\n\t\t},\n\t\tasync beforeAll(suite: { file: { filepath: string }; name: string }) {\n\t\t\treturn state.setupSuite(suite, options)\n\t\t},\n\t\tafterEach: {\n\t\t\tasync matchImageSnapshot() {\n\t\t\t\tif (!shouldTakeSnapshot()) return\n\t\t\t\tconst r = await page.imageSnapshot()\n\t\t\t\texpect(r).toMatchImageSnapshot()\n\t\t\t},\n\t\t\tmatchPerTheme(themes: Record<string, () => Promise<void> | void>) {\n\t\t\t\treturn async function matchImageSnapshot() {\n\t\t\t\t\tif (!shouldTakeSnapshot()) return\n\t\t\t\t\tfor (const themeId in themes) {\n\t\t\t\t\t\tawait themes[themeId]()\n\t\t\t\t\t\tconst r = await page.imageSnapshot({\n\t\t\t\t\t\t\tcustomizeSnapshotId: (id) => `${id}-${themeId}`,\n\t\t\t\t\t\t})\n\t\t\t\t\t\tawait expect(r).toMatchImageSnapshot()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t}\n\treturn h\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "storybook-addon-vis",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.2",
|
|
4
4
|
"description": "Storybook Vitest Image Snapshot addon",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"image-snapshot",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"import": "./dist/index.js",
|
|
27
27
|
"require": "./dist/index.cjs"
|
|
28
28
|
},
|
|
29
|
+
"./preset": "./dist/preset.cjs",
|
|
29
30
|
"./vitest-setup": "./dist/vitest-setup.js",
|
|
30
31
|
"./vitest-plugin": {
|
|
31
32
|
"types": "./vitest-plugin.d.ts",
|
|
@@ -88,6 +89,9 @@
|
|
|
88
89
|
"src/index.ts",
|
|
89
90
|
"src/vitest-setup.ts",
|
|
90
91
|
"src/preview.ts"
|
|
92
|
+
],
|
|
93
|
+
"nodeEntries": [
|
|
94
|
+
"./src/preset.ts"
|
|
91
95
|
]
|
|
92
96
|
},
|
|
93
97
|
"storybook": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { composeStories } from '@storybook/react'
|
|
2
2
|
import { screen } from '@testing-library/react'
|
|
3
3
|
import { assertType } from 'type-plus'
|
|
4
|
-
import { expect, it } from 'vitest'
|
|
4
|
+
import { expect, it, test } from 'vitest'
|
|
5
5
|
import { page } from './@vitest/browser/context.js'
|
|
6
6
|
import { toSnapshotId } from './@vitest/browser/image_snapshot.logic.js'
|
|
7
7
|
import * as ToMatchStories from './expect.to_match_image_snapshot.stories.js'
|
package/src/vis.spec.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { expect, it } from 'vitest'
|
|
1
2
|
import { state } from './state.js'
|
|
2
3
|
import { createVisConfig } from './vis.js'
|
|
3
4
|
|
|
@@ -25,14 +26,16 @@ it('can define the timeout value for taking the snapshot', async () => {
|
|
|
25
26
|
it('can define default failureThreshold', async () => {
|
|
26
27
|
await createVisConfig({
|
|
27
28
|
failureThreshold: 50,
|
|
29
|
+
failureThresholdType: 'percent',
|
|
28
30
|
}).beforeAll({ name: 'some.test.ts', file: { filepath: 'dummy/some.test.ts' } })
|
|
29
31
|
|
|
30
32
|
expect(state.mergeMatchImageSnapshotOptions()).toMatchObject({
|
|
31
33
|
failureThreshold: 50,
|
|
34
|
+
failureThresholdType: 'percent',
|
|
32
35
|
})
|
|
33
36
|
})
|
|
34
37
|
|
|
35
|
-
it('can define default
|
|
38
|
+
it('can define default customizeSnapshotId', async () => {
|
|
36
39
|
await createVisConfig({
|
|
37
40
|
snapshotPath: '_sp_',
|
|
38
41
|
customizeSnapshotId: (id) => id.slice(0, id.indexOf('-')),
|
package/src/vis.ts
CHANGED