diff --git a/package.json b/package.json index 1fdfd61..5a1ac1e 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ }, "scripts": { "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", + "build": "run-s type-check build-only copy:manifest", + "copy:manifest": "cp public/manifest.json dist/", "preview": "vite preview", "test:unit": "vitest", "test:e2e": "playwright test", @@ -27,6 +28,7 @@ "@playwright/test": "^1.56.1", "@prettier/plugin-oxc": "^0.0.4", "@tsconfig/node22": "^22.0.2", + "@types/chrome": "^0.1.27", "@types/jsdom": "^27.0.0", "@types/node": "^22.18.11", "@vitejs/plugin-vue": "^6.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7667b64..f5913f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,6 +24,9 @@ importers: '@tsconfig/node22': specifier: ^22.0.2 version: 22.0.2 + '@types/chrome': + specifier: ^0.1.27 + version: 0.1.27 '@types/jsdom': specifier: ^27.0.0 version: 27.0.0 @@ -808,12 +811,24 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + '@types/chrome@0.1.27': + resolution: {integrity: sha512-pkkCb0Ft8X+Igi751POzT+YqchSxUCtB6s4Gs6ttgSj8qzJga/qlJMgSW1mKxuQTW4i0sTqQbqVtzXDS5AU+4A==} + '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/filesystem@0.0.36': + resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==} + + '@types/filewriter@0.0.33': + resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==} + + '@types/har-format@1.2.16': + resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==} + '@types/jsdom@27.0.0': resolution: {integrity: sha512-NZyFl/PViwKzdEkQg96gtnB8wm+1ljhdDay9ahn4hgb+SfVtPCbm3TlmDUFXTA+MGN3CijicnMhG18SI5H3rFw==} @@ -2883,10 +2898,23 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 + '@types/chrome@0.1.27': + dependencies: + '@types/filesystem': 0.0.36 + '@types/har-format': 1.2.16 + '@types/deep-eql@4.0.2': {} '@types/estree@1.0.8': {} + '@types/filesystem@0.0.36': + dependencies: + '@types/filewriter': 0.0.33 + + '@types/filewriter@0.0.33': {} + + '@types/har-format@1.2.16': {} + '@types/jsdom@27.0.0': dependencies: '@types/node': 22.19.0 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..dff52d5 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,11 @@ +{ + "manifest_version": 3, + "name": "gestime.aphp.fr exporter", + "version": "1.0.0", + "description": "TBD", + "action": { + "default_popup": "index.html" + }, + "permissions": ["activeTab", "scripting"], + "host_permissions": ["http://gestime.aphp.fr/*"] +} diff --git a/tsconfig.app.json b/tsconfig.app.json index 913b8f2..04771c8 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "types": ["chrome"], "paths": { "@/*": ["./src/*"]