Skip to content

Commit 92f6b94

Browse files
Switch to using ts direct from privacy config (#1211)
* Switch to using ts direct from privacy config * Reinstall config * Add any type to build script
1 parent 35ecfe6 commit 92f6b94

File tree

6 files changed

+76
-92
lines changed

6 files changed

+76
-92
lines changed

injected/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
},
3939
"devDependencies": {
4040
"@canvas/image-data": "^1.0.0",
41+
"@duckduckgo/privacy-configuration": "github:duckduckgo/privacy-configuration#main",
4142
"@fingerprintjs/fingerprintjs": "^4.5.1",
4243
"@rollup/plugin-commonjs": "^28.0.1",
4344
"@rollup/plugin-node-resolve": "^15.3.0",
@@ -46,7 +47,6 @@
4647
"@types/jasmine": "^5.1.4",
4748
"@types/node": "^22.8.7",
4849
"@typescript-eslint/eslint-plugin": "^6.9.1",
49-
"config-builder": "github:duckduckgo/privacy-configuration#1729260354597",
5050
"fast-check": "^3.23.1",
5151
"jasmine": "^5.4.0",
5252
"minimist": "^1.2.8",

injected/scripts/bundleTrackers.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import { parseArgs, write } from '../../scripts/script-utils.js';
44

55
const tdsUrl = 'https://staticcdn.duckduckgo.com/trackerblocking/v4/tds.json';
66
const resp = await fetch(tdsUrl);
7+
/**
8+
* Ignore 'unknown' type for now.
9+
* @type any
10+
*/
711
const tds = await resp.json();
812

913
// Build a trie of tracker domains, starting with the broadest subdomain. Leaves are set to 1 to indicate success

injected/scripts/types.mjs

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,16 @@
11
import { cwd, isLaunchFile } from '../../scripts/script-utils.js';
2-
import { dirname, join } from 'node:path';
3-
import { createRequire } from 'node:module';
2+
import { join } from 'node:path';
43
import { buildTypes } from '../../types-generator/build-types.mjs';
54

65
const injectRoot = join(cwd(import.meta.url), '..');
76

8-
// eslint-disable-next-line no-redeclare
9-
const require = createRequire(import.meta.url);
10-
const configBuilderRoot = dirname(require.resolve('config-builder'));
11-
127
/** @type {Record<string, import('../../types-generator/build-types.mjs').Mapping>} */
138
const injectSchemaMapping = {
149
/**
1510
* Add more mappings here
1611
* - `schema` should be an absolute path to a valid JSON Schema document
1712
* - `types` should be an absolute path to the output file
1813
*/
19-
'Webcompat Settings': {
20-
schema: join(configBuilderRoot, 'tests/schemas/webcompat-settings.json'),
21-
types: join(injectRoot, 'src/types/webcompat-settings.d.ts'),
22-
// todo: fix this on windows.
23-
exclude: process.platform === 'win32',
24-
kind: 'settings',
25-
},
26-
'Duckplayer Settings': {
27-
schema: join(configBuilderRoot, 'tests/schemas/duckplayer-settings.json'),
28-
types: join(injectRoot, 'src/types/duckplayer-settings.d.ts'),
29-
// todo: fix this on windows.
30-
exclude: process.platform === 'win32',
31-
kind: 'settings',
32-
},
3314
'Schema Messages': {
3415
schemaDir: join(injectRoot, 'src/messages'),
3516
typesDir: join(injectRoot, 'src/types'),

injected/src/features/duck-player.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export default class DuckPlayerFeature extends ContentFeature {
6767

6868
/**
6969
* Just the 'overlays' part of the settings object.
70-
* @type {import("../types/duckplayer-settings.js").DuckPlayerSettings['overlays']}
70+
* @type {import("@duckduckgo/privacy-configuration/schema/features/duckplayer").DuckPlayerSettings['overlays']}
7171
*/
7272
const overlaySettings = this.getFeatureSetting('overlays');
7373
const overlaysEnabled = overlaySettings?.youtube?.state === 'enabled';
@@ -114,7 +114,7 @@ export default class DuckPlayerFeature extends ContentFeature {
114114
}
115115

116116
/**
117-
* @typedef {Omit<import("../types/duckplayer-settings").YouTubeOverlay, "state">} OverlaysFeatureSettings
117+
* @typedef {Omit<import("@duckduckgo/privacy-configuration/schema/features/duckplayer").DuckPlayerSettings['overlays']['youtube'], "state">} OverlaysFeatureSettings
118118
*/
119119

120120
// for docs generation

injected/src/features/web-compat.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ export class WebCompat extends ContentFeature {
571571
* Support for modifying localStorage entries
572572
*/
573573
modifyLocalStorage() {
574-
/** @type {import('../types//webcompat-settings').WebCompatSettings['modifyLocalStorage']} */
574+
/** @type {import('@duckduckgo/privacy-configuration/schema/features/webcompat').WebCompatSettings['modifyLocalStorage']} */
575575
const settings = this.getFeatureSetting('modifyLocalStorage');
576576

577577
if (!settings || !settings.changes) return;
@@ -587,7 +587,7 @@ export class WebCompat extends ContentFeature {
587587
* Support for proxying `window.webkit.messageHandlers`
588588
*/
589589
messageHandlersFix() {
590-
/** @type {import('../types//webcompat-settings').WebCompatSettings['messageHandlers']} */
590+
/** @type {import('@duckduckgo/privacy-configuration/schema/features/webcompat').WebCompatSettings['messageHandlers']} */
591591
const settings = this.getFeatureSetting('messageHandlers');
592592

593593
// Do nothing if `messageHandlers` is absent

package-lock.json

Lines changed: 66 additions & 67 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)