Skip to content

Commit 54ca3dc

Browse files
committed
Create todo list beore v1
1 parent 88dc6dd commit 54ca3dc

File tree

5 files changed

+315
-338
lines changed

5 files changed

+315
-338
lines changed

README.md

Lines changed: 64 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,72 @@ CodeTweak is fully open source and provides support for manifest v3. The code ed
1818
- **Privacy** — No tracking, no analytics, no unnecessary permissions.
1919
---
2020

21-
## Roadmap
22-
23-
- **GM API support ✓**
24-
- **Code editor ✓**
25-
- **Greasy Fork Integration ✓**
26-
- **Themeing ✓**
27-
- **FireFox support ✓**
28-
- **Version control ✗**
2921

3022
## Contributing
3123
Anyone is welcome
3224

3325

34-
AI + CUSTOM APIS
26+
## TODO List
27+
28+
### Custom API Additions
29+
30+
* [ ] Implement new custom APIs
31+
32+
* [ ] `GM_download`
33+
* [ ] `GM_confirm`
34+
* [ ] (Add others as needed)
35+
36+
---
37+
38+
### Security & Permissions
39+
40+
* [ ] Add new security settings
41+
42+
* [ ] Allow scripts to load external resources
43+
* [ ] Enable loading of third-party libraries and external scripts
44+
* [ ] Ask for confirmation when a script runs on a website for the first time
45+
* [ ] Create a centralized file for checking script access permissions on pages
46+
47+
---
48+
49+
### Core Improvements
50+
51+
* [ ] Fix version checking logic
52+
* [ ] Clean and improve `ExternalScriptLoader`
53+
* [ ] Improve `getScriptDescription` function
54+
* [ ] Deduplicate logic between `background.js`, `inject.js`, and `GM_core.js`
55+
* [ ] Unify or reuse declarations between `GM_core` and `inject`
56+
57+
---
58+
59+
### Editor & UI
60+
61+
* [ ] Reduce editor bundle size (currently ~1.4 MB)
62+
* [ ] Split large editor manager files into smaller modules
63+
* [ ] Create a more sophisticated extension management system for CodeMirror
64+
* [ ] Link CodeMirror minimap toggle
65+
* [ ] Move `exportScript` function to a helper file
66+
* [ ] Move `generateTamperMonkeyHeader` to a helper file
67+
* [ ] Move script import management logic to its own file
68+
* [ ] Add setting to toggle whether scripts run in main world or isolated world
69+
* [ ] Display execution world (main/isolated) in the editor
70+
* [ ] Display run-at time on dashboard
71+
* [ ] Improve URL display formatting
72+
* [ ] Clean up and refine CSS for menu commands and import UI
73+
74+
---
75+
76+
### Debugging & Notifications
77+
78+
* [ ] Add feature to show script errors directly on the page (no console needed)
79+
* [ ] Add "Debug Mode" setting to enable the above feature
80+
* [ ] Separate "Show Script Notification" into its own file
81+
82+
---
83+
84+
### Communication & Helpers
85+
86+
* [ ] Simplify or remove redundant communication between content scripts and background scripts (consider centralizing in helper file)
87+
* [ ] Provide optional Trusted Types helpers
88+
89+
---

src/GM/gmApiDefinitions.js

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -140,18 +140,11 @@ export const GM_API_DEFINITIONS = {
140140
}
141141
};
142142

143-
/**
144-
* Get all API element IDs for caching
145-
* @returns {string[]} Array of element IDs
146-
*/
147143
export function getApiElementIds() {
148144
return Object.values(GM_API_DEFINITIONS).map(api => api.el);
149145
}
150146

151-
/**
152-
* Get APIs grouped by category
153-
* @returns {Object} APIs organized by category
154-
*/
147+
155148
export function getApisByCategory() {
156149
const grouped = {};
157150

@@ -165,20 +158,10 @@ export function getApisByCategory() {
165158
return grouped;
166159
}
167160

168-
/**
169-
* Get API definition by element ID
170-
* @param {string} elementId - The element ID to search for
171-
* @returns {Object|null} API definition or null if not found
172-
*/
173161
export function getApiByElementId(elementId) {
174162
return Object.values(GM_API_DEFINITIONS).find(api => api.el === elementId) || null;
175163
}
176164

177-
/**
178-
* Get all Tampermonkey grant names for enabled APIs
179-
* @param {Object} enabledApis - Object with API element IDs as keys and boolean values
180-
* @returns {string[]} Array of @grant names
181-
*/
182165
export function getGrantNames(enabledApis) {
183166
const grantNames = [];
184167

@@ -194,11 +177,6 @@ export function getGrantNames(enabledApis) {
194177
return grantNames;
195178
}
196179

197-
/**
198-
* Get TypeScript signatures for enabled APIs
199-
* @param {Object} enabledApis - Object with API element IDs as keys and boolean values
200-
* @returns {string[]} Array of TypeScript signatures
201-
*/
202180
export function getTypeScriptSignatures(enabledApis) {
203181
const signatures = [];
204182

0 commit comments

Comments
 (0)