Update kittycad lib (#363)

* Update kittycad lib

* Change output for output["output.obj"]

* Update vitest

* Update e2e snaps

* Disable two tests

* Investigation
This commit is contained in:
Pierre Jacquier
2023-09-01 05:02:16 -04:00
committed by GitHub
parent 3ca2f9763c
commit 6423e06113
8 changed files with 143 additions and 100 deletions

View File

@ -5,7 +5,7 @@
"dependencies": {
"@dicebear/avatars": "^4.10.8",
"@dicebear/avatars-bottts-sprites": "^4.10.8",
"@kittycad/lib": "^0.0.20",
"@kittycad/lib": "^0.0.34",
"@octokit/openapi-types": "^18.0.0",
"@octokit/rest": "^20.0.1",
"@octokit/types": "^11.1.0",
@ -17,7 +17,7 @@
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.4.3",
"@types/chrome": "^0.0.241",
"@types/chrome": "^0.0.244",
"@types/jest": "^29.5.3",
"@types/node": "^20.4.2",
"@types/react": "^18.2.15",
@ -80,7 +80,7 @@
"prettier": "^3.0.0",
"vite": "^4.4.4",
"vite-plugin-node-polyfills": "^0.9.0",
"vitest": "^0.33.0"
"vitest": "^0.34.3"
},
"packageManager": "yarn@3.6.0",
"engines": {

View File

@ -8,16 +8,20 @@ import {
import { Buffer } from 'buffer'
export const extensionToSrcFormat: {
[extension: string]: FileImportFormat_type
[extension: string]: FileImportFormat_type | 'fbx' | 'sldprt'
} = {
dae: 'dae',
dxf: 'dxf',
// expected one of `fbx`, `gltf`, `obj`, `ply`, `sldprt`, `step`, `stl`
fbx: 'fbx',
gltf: 'gltf',
obj: 'obj',
stl: 'stl',
ply: 'ply',
sldprt: 'sldprt',
stp: 'step',
step: 'step',
svg: 'svg',
stl: 'stl',
// Disabled in new format api
// dae: 'dae',
}
export function isFilenameSupported(filename: string): boolean {
@ -71,11 +75,11 @@ async function convert(
src_format: extensionToSrcFormat[extension],
output_format: outputFormat as FileExportFormat_type,
})
if ('error_code' in response) throw response
const { status, id, output } = response
console.log(`File conversion id: ${id}`)
console.log(`File conversion status: ${status}`)
return output
const key = `source.${outputFormat}`
if ('error_code' in response || !response.outputs[key]) throw response
const { status, id, outputs } = response
console.log(`File conversion: ${id}, ${status}`)
return outputs[key]
}
export async function getFileDiff(

View File

@ -108,31 +108,33 @@ test('commit diff with an added .step file', async ({
expect(screenshot).toMatchSnapshot()
})
test('commit diff with a modified .dae file as LFS', async ({
page,
authorizedBackground,
}) => {
const url =
'https://github.com/KittyCAD/diff-samples/commit/b009cfd6dd1eb2d0c3ec0d31a21360766ad084e4'
const element = await getFirstDiffElement(page, url, 'dae')
const screenshot = await element.screenshot()
expect(screenshot).toMatchSnapshot()
// TODO: re-enable when .dae are supported
// test('commit diff with a modified .dae file as LFS', async ({
// page,
// authorizedBackground,
// }) => {
// const url =
// 'https://github.com/KittyCAD/diff-samples/commit/b009cfd6dd1eb2d0c3ec0d31a21360766ad084e4'
// const element = await getFirstDiffElement(page, url, 'dae')
// const screenshot = await element.screenshot()
// expect(screenshot).toMatchSnapshot()
await enableCombined(page, element)
const screenshot2 = await element.screenshot()
expect(screenshot2).toMatchSnapshot()
})
// await enableCombined(page, element)
// const screenshot2 = await element.screenshot()
// expect(screenshot2).toMatchSnapshot()
// })
test('blob preview with an .obj file', async ({
page,
authorizedBackground,
}) => {
const url =
'https://github.com/KittyCAD/diff-samples/blob/fd9eec79f0464833686ea6b5b34ea07145e32734/models/box.obj'
const element = await getBlobPreviewElement(page, url)
const screenshot = await element.screenshot()
expect(screenshot).toMatchSnapshot()
})
// TODO: re-enable when new blob page is fixed
// test('blob preview with an .obj file', async ({
// page,
// authorizedBackground,
// }) => {
// const url =
// 'https://github.com/KittyCAD/diff-samples/blob/fd9eec79f0464833686ea6b5b34ea07145e32734/models/box.obj'
// const element = await getBlobPreviewElement(page, url)
// const screenshot = await element.screenshot()
// expect(screenshot).toMatchSnapshot()
// })
test('blob preview with an .stl file', async ({
page,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 24 KiB

165
yarn.lock
View File

@ -1443,15 +1443,15 @@ __metadata:
languageName: node
linkType: hard
"@kittycad/lib@npm:^0.0.20":
version: 0.0.20
resolution: "@kittycad/lib@npm:0.0.20"
"@kittycad/lib@npm:^0.0.34":
version: 0.0.34
resolution: "@kittycad/lib@npm:0.0.34"
dependencies:
node-fetch: 2.6.7
node-fetch: 3.3.2
openapi-types: ^12.0.0
ts-node: ^10.9.1
tslib: ~2.4
checksum: 14be882b5dfd8016b37dd22f15701759edd0f78292f09a421fd5416f115eea70ab10d668520ca7dad5bebf9669a9f28d137f2327623191ddb703f167cce706ec
checksum: 63ed11c534f2d6faa69c521554a5eb3f0b3cd2c327d991d3f40b4ff5f7eb3a95c8f871e0c014468a791607070b8ace76bb84ded3cded315484599bc6c9c8db55
languageName: node
linkType: hard
@ -2223,13 +2223,13 @@ __metadata:
languageName: node
linkType: hard
"@types/chrome@npm:^0.0.241":
version: 0.0.241
resolution: "@types/chrome@npm:0.0.241"
"@types/chrome@npm:^0.0.244":
version: 0.0.244
resolution: "@types/chrome@npm:0.0.244"
dependencies:
"@types/filesystem": "*"
"@types/har-format": "*"
checksum: af6cf474ed120b046001c0edf50bb752191369d5205d0b2d1ebcb7548db6b87183a098ee7ab77db1a441eacbf36fbfc3cd5b04a9642a99180a13018ced400984
checksum: 45f3ba21b558fb9de18b443cfe24864ccd6ae5e90d648deab3f3ae3a3240e11933e8091a1301bbe9136ec72617acc450f31a1362719c3d381f4042e90f8c79be
languageName: node
linkType: hard
@ -2628,56 +2628,56 @@ __metadata:
languageName: node
linkType: hard
"@vitest/expect@npm:0.33.0":
version: 0.33.0
resolution: "@vitest/expect@npm:0.33.0"
"@vitest/expect@npm:0.34.3":
version: 0.34.3
resolution: "@vitest/expect@npm:0.34.3"
dependencies:
"@vitest/spy": 0.33.0
"@vitest/utils": 0.33.0
"@vitest/spy": 0.34.3
"@vitest/utils": 0.34.3
chai: ^4.3.7
checksum: da6bf8e4a4f23218088b4e7dcdf6eb9f8d92e82a98a674edf8be2f333625179da6802936a948e7a60e0918da53e7ec548183d1d9d42f0e1c4e2d3f66fd63e11f
checksum: 79afaa37d2efb7bb5503332caf389860b2261f198dbe61557e8061262b628d18658e59eb51d1808ecd35fc59f4bb4d04c0e0f97a27c7db02584ab5b424147b8d
languageName: node
linkType: hard
"@vitest/runner@npm:0.33.0":
version: 0.33.0
resolution: "@vitest/runner@npm:0.33.0"
"@vitest/runner@npm:0.34.3":
version: 0.34.3
resolution: "@vitest/runner@npm:0.34.3"
dependencies:
"@vitest/utils": 0.33.0
"@vitest/utils": 0.34.3
p-limit: ^4.0.0
pathe: ^1.1.1
checksum: de731aa0687cf15f141e81fb11027ff52860292f6d8957678c9fcd307502e4f9fd679bcaff93b53d29eeeb694d403d6aa52d49d341f998ec2b794e7abe061572
checksum: 945580eaa58e8edbe29a64059bc2a524a9e85117b6d600fdb457cfe84cbfb81bf6d7e98e1227e7cb4e7399992c8fe8d83d0791d0385ff005dc1a4d9da125443b
languageName: node
linkType: hard
"@vitest/snapshot@npm:0.33.0":
version: 0.33.0
resolution: "@vitest/snapshot@npm:0.33.0"
"@vitest/snapshot@npm:0.34.3":
version: 0.34.3
resolution: "@vitest/snapshot@npm:0.34.3"
dependencies:
magic-string: ^0.30.1
pathe: ^1.1.1
pretty-format: ^29.5.0
checksum: ff2604d5bf09342eab45109df06f4e2e9e78698bf26b0eed1f4871d7757312e43de90ead938698be3e03e9873d4081ebeb69c94928b8065c53d1e9f28742185e
checksum: 234893e91a1efd4bdbbde047a68de40975e02ead8407724ce8ca4a24edf0fb2d725f8a3efceb104965388407b598faf22407aadfbf4164cc74b3cf1e0e9f4543
languageName: node
linkType: hard
"@vitest/spy@npm:0.33.0":
version: 0.33.0
resolution: "@vitest/spy@npm:0.33.0"
"@vitest/spy@npm:0.34.3":
version: 0.34.3
resolution: "@vitest/spy@npm:0.34.3"
dependencies:
tinyspy: ^2.1.1
checksum: 501a704a10b411f407fbcedeaf1f469e6fcac4894af11fa89c74e6f64bf3eebbcd006cf86377ae379708c0b8c860243db504f5d4e90d382419aa666458b76800
checksum: a2b64b9c357a56ad2f2340ecd225ffe787e61afba4ffb24a6670aad3fc90ea2606ed48daa188ed62b3ef67d55c0259fda6b101143d6c91b58c9ac4298d8be4f9
languageName: node
linkType: hard
"@vitest/utils@npm:0.33.0":
version: 0.33.0
resolution: "@vitest/utils@npm:0.33.0"
"@vitest/utils@npm:0.34.3":
version: 0.34.3
resolution: "@vitest/utils@npm:0.34.3"
dependencies:
diff-sequences: ^29.4.3
loupe: ^2.3.6
pretty-format: ^29.5.0
checksum: 8c5b381f5599ca517bedd0e46805e91b1150564473d37b2b80ef45aa9c16cb59d296513dd34bc2171904beb28be73b89e5333056539d49a0ba9d513ae7672a0a
checksum: aeb8ef7fd98b32cb6c403796880d0aa8f5411bbdb249bb23b3301a70e1b7d1ee025ddb204aae8c1db5756f6ac428c49ebbb8e2ed23ce185c8a659b67413efa85
languageName: node
linkType: hard
@ -3785,6 +3785,13 @@ __metadata:
languageName: node
linkType: hard
"data-uri-to-buffer@npm:^4.0.0":
version: 4.0.1
resolution: "data-uri-to-buffer@npm:4.0.1"
checksum: 0d0790b67ffec5302f204c2ccca4494f70b4e2d940fea3d36b09f0bb2b8539c2e86690429eb1f1dc4bcc9e4df0644193073e63d9ee48ac9fce79ec1506e4aa4c
languageName: node
linkType: hard
"data-urls@npm:^4.0.0":
version: 4.0.0
resolution: "data-urls@npm:4.0.0"
@ -3995,7 +4002,7 @@ __metadata:
"@crxjs/vite-plugin": ^1.0.14
"@dicebear/avatars": ^4.10.8
"@dicebear/avatars-bottts-sprites": ^4.10.8
"@kittycad/lib": ^0.0.20
"@kittycad/lib": ^0.0.34
"@octokit/openapi-types": ^18.0.0
"@octokit/rest": ^20.0.1
"@octokit/types": ^11.1.0
@ -4008,7 +4015,7 @@ __metadata:
"@testing-library/jest-dom": ^5.17.0
"@testing-library/react": ^14.0.0
"@testing-library/user-event": ^14.4.3
"@types/chrome": ^0.0.241
"@types/chrome": ^0.0.244
"@types/jest": ^29.5.3
"@types/node": ^20.4.2
"@types/react": ^18.2.15
@ -4035,7 +4042,7 @@ __metadata:
typescript: ^4.9.5
vite: ^4.4.4
vite-plugin-node-polyfills: ^0.9.0
vitest: ^0.33.0
vitest: ^0.34.3
languageName: unknown
linkType: soft
@ -4801,6 +4808,16 @@ __metadata:
languageName: node
linkType: hard
"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4":
version: 3.2.0
resolution: "fetch-blob@npm:3.2.0"
dependencies:
node-domexception: ^1.0.0
web-streams-polyfill: ^3.0.3
checksum: f19bc28a2a0b9626e69fd7cf3a05798706db7f6c7548da657cbf5026a570945f5eeaedff52007ea35c8bcd3d237c58a20bf1543bc568ab2422411d762dd3d5bf
languageName: node
linkType: hard
"fflate@npm:^0.6.9, fflate@npm:~0.6.9":
version: 0.6.10
resolution: "fflate@npm:0.6.10"
@ -4900,6 +4917,15 @@ __metadata:
languageName: node
linkType: hard
"formdata-polyfill@npm:^4.0.10":
version: 4.0.10
resolution: "formdata-polyfill@npm:4.0.10"
dependencies:
fetch-blob: ^3.1.2
checksum: 82a34df292afadd82b43d4a740ce387bc08541e0a534358425193017bf9fb3567875dc5f69564984b1da979979b70703aa73dee715a17b6c229752ae736dd9db
languageName: node
linkType: hard
"fs-extra@npm:^10.0.1":
version: 10.1.0
resolution: "fs-extra@npm:10.1.0"
@ -6698,17 +6724,21 @@ __metadata:
languageName: node
linkType: hard
"node-fetch@npm:2.6.7":
version: 2.6.7
resolution: "node-fetch@npm:2.6.7"
"node-domexception@npm:^1.0.0":
version: 1.0.0
resolution: "node-domexception@npm:1.0.0"
checksum: ee1d37dd2a4eb26a8a92cd6b64dfc29caec72bff5e1ed9aba80c294f57a31ba4895a60fd48347cf17dd6e766da0ae87d75657dfd1f384ebfa60462c2283f5c7f
languageName: node
linkType: hard
"node-fetch@npm:3.3.2":
version: 3.3.2
resolution: "node-fetch@npm:3.3.2"
dependencies:
whatwg-url: ^5.0.0
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
encoding:
optional: true
checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b
data-uri-to-buffer: ^4.0.0
fetch-blob: ^3.1.4
formdata-polyfill: ^4.0.10
checksum: 06a04095a2ddf05b0830a0d5302699704d59bda3102894ea64c7b9d4c865ecdff2d90fd042df7f5bc40337266961cb6183dcc808ea4f3000d024f422b462da92
languageName: node
linkType: hard
@ -8619,10 +8649,10 @@ __metadata:
languageName: node
linkType: hard
"tinypool@npm:^0.6.0":
version: 0.6.0
resolution: "tinypool@npm:0.6.0"
checksum: 996bf3a922993cec568d6b6ddc72531700b2a8aea24623ed6946a8929557b0f17629955d20defda09cb3b12fc94087159f14cb8e06570adce7d1b7d2eef00a91
"tinypool@npm:^0.7.0":
version: 0.7.0
resolution: "tinypool@npm:0.7.0"
checksum: fdcccd5c750574fce51f8801a877f8284e145d12b79cd5f2d72bfbddfe20c895e915555bc848e122bb6aa968098e7ac4fe1e8e88104904d518dc01cccd18a510
languageName: node
linkType: hard
@ -9043,9 +9073,9 @@ __metadata:
languageName: node
linkType: hard
"vite-node@npm:0.33.0":
version: 0.33.0
resolution: "vite-node@npm:0.33.0"
"vite-node@npm:0.34.3":
version: 0.34.3
resolution: "vite-node@npm:0.34.3"
dependencies:
cac: ^6.7.14
debug: ^4.3.4
@ -9055,7 +9085,7 @@ __metadata:
vite: ^3.0.0 || ^4.0.0
bin:
vite-node: vite-node.mjs
checksum: 7c37911251d3e318fe4ad6b4093207498336ce190a58afb43a9ae701eee7f110ef80920b79061710cf6abcc6335ce58f6ca412ee6b268f25fe10f278c94cc264
checksum: 366c4f3fb7c038e2180abc6b18cfbac3b8684cd878eaf7ebf1ffb07d95d2ea325713fc575a7949a13bb00cfe264acbc28c02e2836b8647e1f443fe631c17805a
languageName: node
linkType: hard
@ -9148,18 +9178,18 @@ __metadata:
languageName: node
linkType: hard
"vitest@npm:^0.33.0":
version: 0.33.0
resolution: "vitest@npm:0.33.0"
"vitest@npm:^0.34.3":
version: 0.34.3
resolution: "vitest@npm:0.34.3"
dependencies:
"@types/chai": ^4.3.5
"@types/chai-subset": ^1.3.3
"@types/node": "*"
"@vitest/expect": 0.33.0
"@vitest/runner": 0.33.0
"@vitest/snapshot": 0.33.0
"@vitest/spy": 0.33.0
"@vitest/utils": 0.33.0
"@vitest/expect": 0.34.3
"@vitest/runner": 0.34.3
"@vitest/snapshot": 0.34.3
"@vitest/spy": 0.34.3
"@vitest/utils": 0.34.3
acorn: ^8.9.0
acorn-walk: ^8.2.0
cac: ^6.7.14
@ -9172,9 +9202,9 @@ __metadata:
std-env: ^3.3.3
strip-literal: ^1.0.1
tinybench: ^2.5.0
tinypool: ^0.6.0
tinypool: ^0.7.0
vite: ^3.0.0 || ^4.0.0
vite-node: 0.33.0
vite-node: 0.34.3
why-is-node-running: ^2.2.2
peerDependencies:
"@edge-runtime/vm": "*"
@ -9204,7 +9234,7 @@ __metadata:
optional: true
bin:
vitest: vitest.mjs
checksum: c1884b2a1a41af81ee54c86a986a32b6a4c69ec3b3f7d2322f92c8fad5532d6a12160e7efb7927e4c53d95806ef4ede9549bdd82c66604e281c71056212f56e7
checksum: 4535d080feede94db5015eb60c6ed5f7b0d8cd67f12072de5ae1faded133cc640043c0c2646ef51ab9b61c2f885589da57458a65e82cf91a25cf954470018a40
languageName: node
linkType: hard
@ -9233,6 +9263,13 @@ __metadata:
languageName: node
linkType: hard
"web-streams-polyfill@npm:^3.0.3":
version: 3.2.1
resolution: "web-streams-polyfill@npm:3.2.1"
checksum: b119c78574b6d65935e35098c2afdcd752b84268e18746606af149e3c424e15621b6f1ff0b42b2676dc012fc4f0d313f964b41a4b5031e525faa03997457da02
languageName: node
linkType: hard
"webgl-constants@npm:^1.1.1":
version: 1.1.1
resolution: "webgl-constants@npm:1.1.1"