Skip to content

Commit

Permalink
Merge 2a14570 into 9d9a97c
Browse files Browse the repository at this point in the history
  • Loading branch information
prayerslayer committed Sep 28, 2018
2 parents 9d9a97c + 2a14570 commit f6756f8
Show file tree
Hide file tree
Showing 25 changed files with 7,185 additions and 358 deletions.
1 change: 0 additions & 1 deletion examples/code-splitting/README.md

This file was deleted.

Empty file.
115 changes: 0 additions & 115 deletions examples/code-splitting/app/settings.py

This file was deleted.

14 changes: 0 additions & 14 deletions examples/code-splitting/app/templates/home.html

This file was deleted.

25 changes: 0 additions & 25 deletions examples/code-splitting/app/urls.py

This file was deleted.

1 change: 0 additions & 1 deletion examples/code-splitting/app/views.py

This file was deleted.

16 changes: 0 additions & 16 deletions examples/code-splitting/app/wsgi.py

This file was deleted.

7 changes: 0 additions & 7 deletions examples/code-splitting/assets/js/app.jsx

This file was deleted.

4 changes: 0 additions & 4 deletions examples/code-splitting/assets/js/index.jsx

This file was deleted.

Binary file removed examples/code-splitting/db.sqlite3
Binary file not shown.
10 changes: 0 additions & 10 deletions examples/code-splitting/manage.py

This file was deleted.

19 changes: 0 additions & 19 deletions examples/code-splitting/package.json

This file was deleted.

2 changes: 0 additions & 2 deletions examples/code-splitting/requirements.txt

This file was deleted.

37 changes: 0 additions & 37 deletions examples/code-splitting/webpack.config.js

This file was deleted.

8 changes: 4 additions & 4 deletions examples/hot-reload/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ module.exports = {
],

module: {
loaders: [
use: [
// we pass the output from babel loader to react-hot loader
{ test: /\.jsx?$/, exclude: /node_modules/, loaders: ['react-hot', 'babel'], },
{ test: /\.jsx?$/, exclude: /node_modules/, use: ['react-hot', 'babel-loader'], },
],
},

resolve: {
modulesDirectories: ['node_modules', 'bower_components'],
extensions: ['', '.js', '.jsx']
extensions: ['.css', '.js', '.jsx']
},
}
8 changes: 4 additions & 4 deletions examples/simple/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ module.exports = {
],

module: {
loaders: [
use: [
// we pass the output from babel loader to react-hot loader
{ test: /\.jsx?$/, exclude: /node_modules/, loaders: ['babel'], },
{ test: /\.jsx?$/, exclude: /node_modules/, use: [ 'babel-loader'], },
],
},

resolve: {
modulesDirectories: ['node_modules', 'bower_components'],
extensions: ['', '.js', '.jsx']
extensions: ['.css', '.js', '.jsx']
},
}
3 changes: 3 additions & 0 deletions tests/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"presets": ["@babel/preset-react"]
}
34 changes: 9 additions & 25 deletions tests/app/tests/test_webpack.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ def test_simple_and_css_extract(self):
self.assertEqual(len(chunks), 1)

main = chunks['main']
self.assertEqual(main[0]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/main.js'))
self.assertEqual(main[1]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/styles.css'))
self.assertEqual(main[0]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/main.css'))
self.assertEqual(main[1]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/main.js'))

def test_js_gzip_extract(self):
self.compile_bundles('webpack.config.gzipTest.js')
Expand All @@ -78,47 +78,31 @@ def test_js_gzip_extract(self):
self.assertEqual(len(chunks), 1)

main = chunks['main']
self.assertEqual(main[0]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/main.js.gz'))
self.assertEqual(main[1]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/styles.css'))
self.assertEqual(main[0]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/main.css'))
self.assertEqual(main[1]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/main.js.gz'))

def test_static_url(self):
self.compile_bundles('webpack.config.publicPath.js')
assets = get_loader(DEFAULT_CONFIG).get_assets()
self.assertEqual(assets['status'], 'done')
self.assertEqual(assets['publicPath'], 'http://custom-static-host.com/')

def test_code_spliting(self):
self.compile_bundles('webpack.config.split.js')
assets = get_loader(DEFAULT_CONFIG).get_assets()
self.assertEqual(assets['status'], 'done')
self.assertIn('chunks', assets)

chunks = assets['chunks']
self.assertIn('main', chunks)
self.assertEquals(len(chunks), 2)

main = chunks['main']
self.assertEqual(main[0]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/main.js'))

vendor = chunks['vendor']
self.assertEqual(vendor[0]['path'], os.path.join(settings.BASE_DIR, 'assets/bundles/vendor.js'))

def test_templatetags(self):
self.compile_bundles('webpack.config.simple.js')
self.compile_bundles('webpack.config.app2.js')
view = TemplateView.as_view(template_name='home.html')
request = self.factory.get('/')
result = view(request)
self.assertIn('<link type="text/css" href="/static/bundles/styles.css" rel="stylesheet" />', result.rendered_content)
self.assertIn('<link type="text/css" href="/static/bundles/main.css" rel="stylesheet" />', result.rendered_content)
self.assertIn('<script type="text/javascript" src="/static/bundles/main.js" async charset="UTF-8"></script>', result.rendered_content)

self.assertIn('<link type="text/css" href="/static/bundles/styles-app2.css" rel="stylesheet" />', result.rendered_content)
self.assertIn('<link type="text/css" href="/static/bundles/app2.css" rel="stylesheet" />', result.rendered_content)
self.assertIn('<script type="text/javascript" src="/static/bundles/app2.js" ></script>', result.rendered_content)
self.assertIn('<img src="/static/my-image.png"/>', result.rendered_content)

view = TemplateView.as_view(template_name='only_files.html')
result = view(request)
self.assertIn("var contentCss = '/static/bundles/styles.css'", result.rendered_content)
self.assertIn("var contentCss = '/static/bundles/main.css'", result.rendered_content)
self.assertIn("var contentJS = '/static/bundles/main.js'", result.rendered_content)

self.compile_bundles('webpack.config.publicPath.js')
Expand Down Expand Up @@ -158,15 +142,15 @@ def test_jinja2(self):
with self.settings(**settings):
request = self.factory.get('/')
result = view(request)
self.assertIn('<link type="text/css" href="/static/bundles/styles.css" rel="stylesheet" />', result.rendered_content)
self.assertIn('<link type="text/css" href="/static/bundles/main.css" rel="stylesheet" />', result.rendered_content)
self.assertIn('<script type="text/javascript" src="/static/bundles/main.js" async charset="UTF-8"></script>', result.rendered_content)

def test_reporting_errors(self):
self.compile_bundles('webpack.config.error.js')
try:
get_loader(DEFAULT_CONFIG).get_bundle('main')
except WebpackError as e:
self.assertIn("Cannot resolve module 'the-library-that-did-not-exist'", str(e))
self.assertIn("Can't resolve 'the-library-that-did-not-exist'", str(e))

def test_missing_bundle(self):
missing_bundle_name = 'missing_bundle'
Expand Down

0 comments on commit f6756f8

Please sign in to comment.