@knowcode/doc-builder 1.9.30 → 1.10.0

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.
Files changed (198) hide show
  1. package/lib/core-builder.js +164 -174
  2. package/lib/emoji-mapper.js +27 -12
  3. package/package.json +12 -2
  4. package/.claude/settings.local.json +0 -56
  5. package/CACHE-BUSTING-GUIDE.md +0 -82
  6. package/CLAUDE.md +0 -86
  7. package/CONTRIBUTING.md +0 -148
  8. package/GITHUB_SETUP.md +0 -203
  9. package/RELEASE-NOTES-1.7.5.md +0 -64
  10. package/Screenshot 2025-07-22 at 19.51.21.png +0 -0
  11. package/Screenshot 2025-07-26 at 17.06.49.png +0 -0
  12. package/add-user-clive.sql +0 -35
  13. package/add-user-lindsay-fixed.sql +0 -85
  14. package/add-user-lindsay.sql +0 -68
  15. package/add-user-pmorgan.sql +0 -35
  16. package/add-user-robbie.sql +0 -35
  17. package/add-wru-users.sql +0 -105
  18. package/debug-login.sql +0 -30
  19. package/doc-builder.config.js +0 -126
  20. package/doc-builder.config.js.backup.1753793768283 +0 -47
  21. package/doc-builder.config.js.backup.1753803964423 +0 -114
  22. package/doc-builder.config.js.backup.1753945707032 +0 -115
  23. package/doc-builder.config.js.backup.1754059241330 +0 -115
  24. package/doc-builder.config.js.backup.1754119567787 +0 -123
  25. package/doc-builder.config.js.backup.1754120048862 +0 -124
  26. package/doc-builder.config.js.backup.1754120529913 +0 -124
  27. package/doc-builder.config.js.backup.1754218469785 +0 -124
  28. package/doc-builder.config.js.backup.1754384764054 +0 -124
  29. package/doc-builder.config.js.backup.1754567425847 +0 -124
  30. package/doc-builder.config.js.backup.1754568137859 +0 -126
  31. package/doc-builder.config.js.backup.1754569388252 +0 -126
  32. package/doc-builder.config.js.backup.1754576694123 +0 -126
  33. package/doc-builder.config.js.backup.1755031374829 +0 -126
  34. package/doc-builder.config.js.backup.1755034500990 +0 -126
  35. package/doc-builder.config.js.backup.1755034809236 +0 -126
  36. package/grant-access.sql +0 -15
  37. package/html/11.png +0 -0
  38. package/html/404.html +0 -115
  39. package/html/README.html +0 -522
  40. package/html/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  41. package/html/about-doc-builder.html +0 -491
  42. package/html/auth.js +0 -157
  43. package/html/claude-workflow-guide.html +0 -525
  44. package/html/css/notion-style.css +0 -2502
  45. package/html/documentation-index.html +0 -471
  46. package/html/guides/authentication-default-change.html +0 -370
  47. package/html/guides/authentication-guide.html +0 -509
  48. package/html/guides/cache-control-anti-pattern.html +0 -361
  49. package/html/guides/claude-workflow-guide.html +0 -1074
  50. package/html/guides/configuration-guide.html +0 -472
  51. package/html/guides/document-standards.html +0 -518
  52. package/html/guides/documentation-standards.html +0 -694
  53. package/html/guides/html-embedding-guide.html +0 -461
  54. package/html/guides/image-modal-guide.html +0 -515
  55. package/html/guides/next-steps-walkthrough.html +0 -638
  56. package/html/guides/phosphor-icons-guide.html +0 -584
  57. package/html/guides/private-directory-authentication-troubleshooting.html +0 -555
  58. package/html/guides/private-directory-authentication.html +0 -541
  59. package/html/guides/public-site-deployment.html +0 -431
  60. package/html/guides/search-engine-verification-guide.html +0 -542
  61. package/html/guides/seo-guide.html +0 -661
  62. package/html/guides/seo-optimization-guide.html +0 -887
  63. package/html/guides/supabase-auth-implementation-plan.html +0 -543
  64. package/html/guides/supabase-auth-integration-plan.html +0 -671
  65. package/html/guides/supabase-auth-setup-guide.html +0 -498
  66. package/html/guides/supabase-authentication-complete-guide.html +0 -866
  67. package/html/guides/troubleshooting-guide.html +0 -633
  68. package/html/guides/vercel-deployment-auth-setup.html +0 -337
  69. package/html/guides/windows-setup-guide.html +0 -859
  70. package/html/image-modal-test.html +0 -318
  71. package/html/index.html +0 -522
  72. package/html/js/auth.js +0 -157
  73. package/html/js/main.js +0 -1754
  74. package/html/launch/README.html +0 -297
  75. package/html/launch/bubble-plugin-specification.html +0 -933
  76. package/html/launch/go-to-market-strategy.html +0 -663
  77. package/html/launch/launch-announcements.html +0 -593
  78. package/html/login.html +0 -102
  79. package/html/logout.html +0 -18
  80. package/html/private/cache-control-anti-pattern.html +0 -429
  81. package/html/private/launch/README.html +0 -371
  82. package/html/private/launch/auth-cleanup-summary.html +0 -361
  83. package/html/private/launch/bubble-plugin-specification.html +0 -1007
  84. package/html/private/launch/go-to-market-strategy.html +0 -737
  85. package/html/private/launch/launch-announcements.html +0 -667
  86. package/html/private/launch/vercel-deployment-auth-setup.html +0 -417
  87. package/html/private/next-steps-walkthrough.html +0 -679
  88. package/html/private/supabase-auth-implementation-completed.html +0 -454
  89. package/html/private/supabase-auth-implementation-plan.html +0 -594
  90. package/html/private/supabase-auth-integration-plan.html +0 -704
  91. package/html/private/supabase-auth-setup-guide.html +0 -555
  92. package/html/private/test-private-doc.html +0 -302
  93. package/html/private/user-management-tooling.html +0 -601
  94. package/html/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  95. package/html/prompts/beautiful-documentation-design.html +0 -784
  96. package/html/prompts/markdown-document-standards.html +0 -422
  97. package/html/prompts/project-rename-strategy-sasha-publish.html +0 -530
  98. package/html/robots.txt +0 -9
  99. package/html/sitemap.xml +0 -357
  100. package/html/test-questions/how-does-it-work%3F.html +0 -294
  101. package/html/test-questions/step-1%3A%20getting-started.html +0 -289
  102. package/html/test-questions/what-is-the-purpose.html +0 -293
  103. package/html/test-status.html +0 -281
  104. package/html/vercel-cli-setup-guide.html +0 -495
  105. package/html/vercel-first-time-setup-guide.html +0 -454
  106. package/html/vercel.json +0 -29
  107. package/html-static/11.png +0 -0
  108. package/html-static/404.html +0 -115
  109. package/html-static/README.html +0 -609
  110. package/html-static/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  111. package/html-static/about-doc-builder.html +0 -578
  112. package/html-static/css/notion-style.css +0 -2502
  113. package/html-static/documentation-index.html +0 -558
  114. package/html-static/guides/authentication-default-change.html +0 -457
  115. package/html-static/guides/authentication-guide.html +0 -596
  116. package/html-static/guides/claude-workflow-guide.html +0 -1161
  117. package/html-static/guides/configuration-guide.html +0 -559
  118. package/html-static/guides/documentation-standards.html +0 -781
  119. package/html-static/guides/html-embedding-guide.html +0 -548
  120. package/html-static/guides/image-modal-guide.html +0 -602
  121. package/html-static/guides/phosphor-icons-guide.html +0 -671
  122. package/html-static/guides/private-directory-authentication-troubleshooting.html +0 -642
  123. package/html-static/guides/private-directory-authentication.html +0 -628
  124. package/html-static/guides/public-site-deployment.html +0 -518
  125. package/html-static/guides/search-engine-verification-guide.html +0 -629
  126. package/html-static/guides/seo-guide.html +0 -748
  127. package/html-static/guides/seo-optimization-guide.html +0 -974
  128. package/html-static/guides/supabase-authentication-complete-guide.html +0 -953
  129. package/html-static/guides/troubleshooting-guide.html +0 -720
  130. package/html-static/guides/windows-setup-guide.html +0 -946
  131. package/html-static/image-modal-test.html +0 -405
  132. package/html-static/index.html +0 -609
  133. package/html-static/js/main.js +0 -1754
  134. package/html-static/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  135. package/html-static/prompts/beautiful-documentation-design.html +0 -871
  136. package/html-static/prompts/markdown-document-standards.html +0 -509
  137. package/html-static/prompts/project-rename-strategy-sasha-publish.html +0 -617
  138. package/html-static/robots.txt +0 -5
  139. package/html-static/sitemap.xml +0 -195
  140. package/html-static/test-questions/how-does-it-work%3F.html +0 -381
  141. package/html-static/test-questions/step-1%3A%20getting-started.html +0 -376
  142. package/html-static/test-questions/what-is-the-purpose.html +0 -380
  143. package/html-static/vercel-cli-setup-guide.html +0 -582
  144. package/html-static/vercel-first-time-setup-guide.html +0 -541
  145. package/manage-users.sql +0 -191
  146. package/migrate-to-domain-auth.sql +0 -47
  147. package/package/CACHE-BUSTING-GUIDE.md +0 -82
  148. package/package/CHANGELOG.md +0 -902
  149. package/package/README.md +0 -248
  150. package/package/assets/css/notion-style.css +0 -2211
  151. package/package/assets/js/auth.js +0 -67
  152. package/package/assets/js/main.js +0 -1565
  153. package/package/cli.js +0 -764
  154. package/package/index.js +0 -38
  155. package/package/knowcode-doc-builder-1.3.15.tgz +0 -0
  156. package/package/lib/builder.js +0 -32
  157. package/package/lib/config.js +0 -278
  158. package/package/lib/core-builder.js +0 -957
  159. package/package/lib/deploy.js +0 -497
  160. package/package/lib/dev-server.js +0 -96
  161. package/package/package.json +0 -34
  162. package/package/scripts/npx-runner.js +0 -27
  163. package/package/scripts/setup.js +0 -56
  164. package/package/test-cache-bust.sh +0 -43
  165. package/public-config.js +0 -22
  166. package/public-html/404.html +0 -115
  167. package/public-html/README.html +0 -149
  168. package/public-html/css/notion-style.css +0 -2036
  169. package/public-html/index.html +0 -149
  170. package/public-html/js/auth.js +0 -67
  171. package/public-html/js/main.js +0 -1485
  172. package/quick-test-commands.md +0 -40
  173. package/recordings/Screenshot 2025-07-24 at 18.22.01.png +0 -0
  174. package/recordings/mh-ls-22jul.txt +0 -2305
  175. package/screenshot.png +0 -0
  176. package/scripts/Screenshot 2025-07-23 at 15.39.41.png +0 -0
  177. package/setup-database-v2.sql +0 -53
  178. package/setup-database.sql +0 -41
  179. package/test-auth-config.js +0 -17
  180. package/test-cache-bust.sh +0 -43
  181. package/test-docs/README.md +0 -39
  182. package/test-html/404.html +0 -115
  183. package/test-html/README.html +0 -172
  184. package/test-html/auth.js +0 -97
  185. package/test-html/css/notion-style.css +0 -2036
  186. package/test-html/index.html +0 -172
  187. package/test-html/js/auth.js +0 -97
  188. package/test-html/js/main.js +0 -1485
  189. package/test-html/login.html +0 -102
  190. package/test-html/logout.html +0 -18
  191. package/update-domain.sql +0 -9
  192. package/user-access-view.sql +0 -49
  193. package/user-management/README.md +0 -301
  194. package/user-management/add-users.sh +0 -776
  195. package/user-management/create-user.js +0 -65
  196. package/user-management/users.txt +0 -15
  197. package/view-all-users.sql +0 -40
  198. package/wru-auth-config.js +0 -17
package/manage-users.sql DELETED
@@ -1,191 +0,0 @@
1
- -- =====================================================
2
- -- USER MANAGEMENT SQL COMMANDS FOR DOC-BUILDER
3
- -- =====================================================
4
- -- Run these in your Supabase SQL Editor
5
-
6
- -- =====================================================
7
- -- 1. VIEW YOUR SITES
8
- -- =====================================================
9
- -- See all your documentation sites
10
- SELECT id, domain, name, created_at
11
- FROM docbuilder_sites
12
- ORDER BY created_at DESC;
13
-
14
- -- =====================================================
15
- -- 2. VIEW EXISTING USERS
16
- -- =====================================================
17
- -- See all users in your Supabase project
18
- SELECT id, email, created_at, last_sign_in_at
19
- FROM auth.users
20
- ORDER BY created_at DESC;
21
-
22
- -- =====================================================
23
- -- 3. VIEW WHO HAS ACCESS TO A SPECIFIC SITE
24
- -- =====================================================
25
- -- Replace 'your-site-id' with actual site ID
26
- SELECT
27
- u.email,
28
- u.id as user_id,
29
- u.created_at as user_since,
30
- da.created_at as access_granted,
31
- ds.name as site_name,
32
- ds.domain
33
- FROM docbuilder_access da
34
- JOIN auth.users u ON u.id = da.user_id
35
- JOIN docbuilder_sites ds ON ds.id = da.site_id
36
- WHERE da.site_id = 'your-site-id'
37
- ORDER BY da.created_at DESC;
38
-
39
- -- =====================================================
40
- -- 4. ADD A SINGLE USER TO A SITE
41
- -- =====================================================
42
- -- First, create user in Supabase Dashboard (Authentication > Users > Invite)
43
- -- Then grant access:
44
- INSERT INTO docbuilder_access (user_id, site_id)
45
- VALUES (
46
- (SELECT id FROM auth.users WHERE email = 'user@example.com'),
47
- 'your-site-id'
48
- );
49
-
50
- -- =====================================================
51
- -- 5. ADD MULTIPLE USERS TO A SITE
52
- -- =====================================================
53
- -- Add a list of users all at once
54
- WITH users_to_add AS (
55
- SELECT email FROM (VALUES
56
- ('user1@example.com'),
57
- ('user2@example.com'),
58
- ('user3@example.com'),
59
- ('user4@example.com')
60
- ) AS t(email)
61
- )
62
- INSERT INTO docbuilder_access (user_id, site_id)
63
- SELECT u.id, 'your-site-id'
64
- FROM auth.users u
65
- JOIN users_to_add ua ON u.email = ua.email
66
- WHERE NOT EXISTS (
67
- -- Prevent duplicate entries
68
- SELECT 1 FROM docbuilder_access
69
- WHERE user_id = u.id AND site_id = 'your-site-id'
70
- );
71
-
72
- -- =====================================================
73
- -- 6. GRANT USER ACCESS TO MULTIPLE SITES
74
- -- =====================================================
75
- -- Give one user access to several sites
76
- WITH sites_to_grant AS (
77
- SELECT id FROM docbuilder_sites
78
- WHERE domain IN ('site1.com', 'site2.com', 'site3.com')
79
- )
80
- INSERT INTO docbuilder_access (user_id, site_id)
81
- SELECT
82
- (SELECT id FROM auth.users WHERE email = 'user@example.com'),
83
- s.id
84
- FROM sites_to_grant s
85
- WHERE NOT EXISTS (
86
- SELECT 1 FROM docbuilder_access
87
- WHERE user_id = (SELECT id FROM auth.users WHERE email = 'user@example.com')
88
- AND site_id = s.id
89
- );
90
-
91
- -- =====================================================
92
- -- 7. REMOVE USER ACCESS FROM A SITE
93
- -- =====================================================
94
- -- Remove specific user from specific site
95
- DELETE FROM docbuilder_access
96
- WHERE user_id = (SELECT id FROM auth.users WHERE email = 'user@example.com')
97
- AND site_id = 'your-site-id';
98
-
99
- -- =====================================================
100
- -- 8. REMOVE USER FROM ALL SITES
101
- -- =====================================================
102
- -- Completely remove user's access to all documentation
103
- DELETE FROM docbuilder_access
104
- WHERE user_id = (SELECT id FROM auth.users WHERE email = 'user@example.com');
105
-
106
- -- =====================================================
107
- -- 9. BULK REMOVE USERS
108
- -- =====================================================
109
- -- Remove multiple users from a site
110
- WITH users_to_remove AS (
111
- SELECT email FROM (VALUES
112
- ('olduser1@example.com'),
113
- ('olduser2@example.com')
114
- ) AS t(email)
115
- )
116
- DELETE FROM docbuilder_access
117
- WHERE site_id = 'your-site-id'
118
- AND user_id IN (
119
- SELECT u.id FROM auth.users u
120
- JOIN users_to_remove ur ON u.email = ur.email
121
- );
122
-
123
- -- =====================================================
124
- -- 10. VIEW ACCESS SUMMARY
125
- -- =====================================================
126
- -- See how many users each site has
127
- SELECT
128
- ds.name as site_name,
129
- ds.domain,
130
- ds.id as site_id,
131
- COUNT(da.user_id) as user_count,
132
- MAX(da.created_at) as last_access_granted
133
- FROM docbuilder_sites ds
134
- LEFT JOIN docbuilder_access da ON ds.id = da.site_id
135
- GROUP BY ds.id, ds.name, ds.domain
136
- ORDER BY user_count DESC;
137
-
138
- -- =====================================================
139
- -- 11. FIND USERS WITHOUT ACCESS TO ANY SITE
140
- -- =====================================================
141
- -- Useful for cleanup
142
- SELECT u.email, u.created_at, u.last_sign_in_at
143
- FROM auth.users u
144
- WHERE NOT EXISTS (
145
- SELECT 1 FROM docbuilder_access da
146
- WHERE da.user_id = u.id
147
- )
148
- ORDER BY u.created_at DESC;
149
-
150
- -- =====================================================
151
- -- 12. AUDIT LOG - RECENT ACCESS GRANTS
152
- -- =====================================================
153
- -- See who was granted access recently
154
- SELECT
155
- u.email,
156
- ds.name as site_name,
157
- ds.domain,
158
- da.created_at as access_granted
159
- FROM docbuilder_access da
160
- JOIN auth.users u ON u.id = da.user_id
161
- JOIN docbuilder_sites ds ON ds.id = da.site_id
162
- WHERE da.created_at > NOW() - INTERVAL '30 days'
163
- ORDER BY da.created_at DESC;
164
-
165
- -- =====================================================
166
- -- 13. COPY ACCESS FROM ONE USER TO ANOTHER
167
- -- =====================================================
168
- -- Useful when replacing team members
169
- INSERT INTO docbuilder_access (user_id, site_id)
170
- SELECT
171
- (SELECT id FROM auth.users WHERE email = 'newuser@example.com'),
172
- da.site_id
173
- FROM docbuilder_access da
174
- WHERE da.user_id = (SELECT id FROM auth.users WHERE email = 'olduser@example.com');
175
-
176
- -- =====================================================
177
- -- COMMON SITE IDs FOR REFERENCE
178
- -- =====================================================
179
- -- Your test site: 4d8a53bf-dcdd-48c0-98e0-cd1451518735
180
- -- Add more site IDs here as you create them:
181
- -- Production site: xxx
182
- -- Staging site: xxx
183
-
184
- -- =====================================================
185
- -- TIPS
186
- -- =====================================================
187
- -- 1. Always check if users exist before granting access
188
- -- 2. Use the Supabase Dashboard to invite new users first
189
- -- 3. Run SELECT queries before DELETE to verify
190
- -- 4. Keep this file updated with your site IDs
191
- -- 5. Consider creating views for common queries
@@ -1,47 +0,0 @@
1
- -- Migration Script: From Site IDs to Domain-based Authentication
2
- -- IMPORTANT: Backup your database before running this!
3
-
4
- -- Step 1: Create new table structure
5
- CREATE TABLE IF NOT EXISTS docbuilder_access_new (
6
- user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
7
- domain TEXT NOT NULL,
8
- created_at TIMESTAMPTZ DEFAULT NOW(),
9
- PRIMARY KEY (user_id, domain)
10
- );
11
-
12
- -- Step 2: Migrate existing data (join access with sites to get domains)
13
- INSERT INTO docbuilder_access_new (user_id, domain, created_at)
14
- SELECT
15
- da.user_id,
16
- ds.domain,
17
- da.created_at
18
- FROM docbuilder_access da
19
- JOIN docbuilder_sites ds ON da.site_id = ds.id
20
- ON CONFLICT (user_id, domain) DO NOTHING;
21
-
22
- -- Step 3: Create index
23
- CREATE INDEX IF NOT EXISTS idx_docbuilder_access_new_domain ON docbuilder_access_new(domain);
24
-
25
- -- Step 4: Enable RLS
26
- ALTER TABLE docbuilder_access_new ENABLE ROW LEVEL SECURITY;
27
-
28
- -- Step 5: Create RLS Policy
29
- CREATE POLICY "Users see own access" ON docbuilder_access_new
30
- FOR SELECT USING (user_id = auth.uid());
31
-
32
- -- Step 6: Verify migration (check counts)
33
- SELECT 'Old access records:' as info, COUNT(*) as count FROM docbuilder_access
34
- UNION ALL
35
- SELECT 'New access records:' as info, COUNT(*) as count FROM docbuilder_access_new
36
- UNION ALL
37
- SELECT 'Sites migrated:' as info, COUNT(DISTINCT domain) as count FROM docbuilder_access_new;
38
-
39
- -- Step 7: Once verified, swap tables (CAREFUL - This is the point of no return!)
40
- -- DROP TABLE IF EXISTS docbuilder_access;
41
- -- ALTER TABLE docbuilder_access_new RENAME TO docbuilder_access;
42
- -- DROP TABLE IF EXISTS docbuilder_sites;
43
-
44
- -- Step 8: Update index name
45
- -- ALTER INDEX idx_docbuilder_access_new_domain RENAME TO idx_docbuilder_access_domain;
46
-
47
- -- Note: Uncomment steps 7 and 8 only after verifying the migration worked correctly!
@@ -1,82 +0,0 @@
1
- # Cache Busting Guide for @knowcode/doc-builder
2
-
3
- If you're not seeing updates after upgrading to a new version, it's likely due to caching. Follow these steps:
4
-
5
- ## 1. Clean Everything Locally
6
-
7
- ```bash
8
- # Remove old build artifacts
9
- rm -rf html/
10
-
11
- # Clear npm cache
12
- npm cache clean --force
13
-
14
- # Remove node_modules and reinstall
15
- rm -rf node_modules
16
- npm install
17
-
18
- # Make sure you have the latest version
19
- npm install @knowcode/doc-builder@latest
20
- ```
21
-
22
- ## 2. Rebuild with Fresh Files
23
-
24
- ```bash
25
- # Build fresh documentation
26
- npx @knowcode/doc-builder build
27
- ```
28
-
29
- ## 3. Deploy with Force Flag
30
-
31
- ```bash
32
- # Force Vercel to ignore cache
33
- vercel --prod --force
34
- ```
35
-
36
- ## 4. Clear Browser Cache
37
-
38
- - **Chrome/Edge**: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)
39
- - **Firefox**: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)
40
- - **Safari**: Cmd+Option+R
41
- - Or use Incognito/Private browsing mode
42
-
43
- ## 5. Clear Vercel/CDN Cache (if applicable)
44
-
45
- If using Vercel:
46
- 1. Go to your project dashboard
47
- 2. Settings → Functions → Purge Cache
48
- 3. Or redeploy with a different domain temporarily
49
-
50
- ## 6. Add Cache Busting to Your Build
51
-
52
- Edit your `doc-builder.config.js` to add version query strings:
53
-
54
- ```javascript
55
- module.exports = {
56
- // ... other config
57
- cacheBust: true, // This will add ?v=timestamp to CSS/JS files
58
- };
59
- ```
60
-
61
- ## Common Issues
62
-
63
- - **"I updated but nothing changed"** - It's cache. Follow all steps above.
64
- - **"Tooltips still don't work"** - Clear browser cache and check console for errors
65
- - **"Spacing is still wrong"** - The CSS is cached. Hard refresh the page.
66
-
67
- ## Verify You Have The Right Version
68
-
69
- Check the version in your package.json:
70
- ```bash
71
- npm list @knowcode/doc-builder
72
- ```
73
-
74
- Should show: `@knowcode/doc-builder@1.3.13` or higher.
75
-
76
- ## Still Not Working?
77
-
78
- 1. Open browser DevTools
79
- 2. Go to Network tab
80
- 3. Check "Disable cache" checkbox
81
- 4. Refresh the page
82
- 5. Look at the CSS/JS files being loaded - they should not show "(from cache)"