fix: serve python files as text (#947)

Co-authored-by: leprincep35700 <leprincep35700@users.noreply.github.com>
This commit is contained in:
leprincep35700 2026-05-08 15:10:22 +02:00 committed by GitHub
parent 208f09c60e
commit c2facb0e02
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 3 additions and 0 deletions

View file

@ -578,6 +578,7 @@ const EXT_MIME = {
'.cjs': 'text/javascript; charset=utf-8',
'.jsx': 'text/javascript; charset=utf-8',
'.ts': 'text/typescript; charset=utf-8',
'.py': 'text/x-python; charset=utf-8',
// `.tsx` previously served as `text/typescript`, which browser module
// loaders and strict CSPs do not accept as a JavaScript MIME. Multi-file
// React prototypes that load `.tsx` via Babel-standalone (`<script

View file

@ -105,6 +105,7 @@ describe('mimeFor', () => {
expect(mimeFor('a.jsx')).toBe('text/javascript; charset=utf-8');
expect(mimeFor('a.tsx')).toBe('text/javascript; charset=utf-8');
expect(mimeFor('a.ts')).toBe('text/typescript; charset=utf-8');
expect(mimeFor('a.py')).toBe('text/x-python; charset=utf-8');
expect(mimeFor('a.json')).toBe('application/json; charset=utf-8');
expect(mimeFor('a.md')).toBe('text/markdown; charset=utf-8');
expect(mimeFor('a.txt')).toBe('text/plain; charset=utf-8');
@ -151,6 +152,7 @@ describe('mimeFor', () => {
it('is case-insensitive on the extension', () => {
expect(mimeFor('IMG.PNG')).toBe('image/png');
expect(mimeFor('PAGE.HTML')).toBe('text/html; charset=utf-8');
expect(mimeFor('SCRIPT.PY')).toBe('text/x-python; charset=utf-8');
expect(mimeFor('FOO.JSON')).toBe('application/json; charset=utf-8');
});
});