From 8499bde3dc0ae0026762c657e8150348331b7d6d Mon Sep 17 00:00:00 2001 From: Jack Reed Date: Tue, 18 Dec 2018 17:32:48 -0700 Subject: [PATCH] basic proof of concept for using external react packages --- .../__tests__/integration/react/basic.test.js | 17 +++++++++++ .../__tests__/integration/react/index.html | 19 +++++++++++++ minimal_redux_poc/webpack.config.js | 28 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 minimal_redux_poc/__tests__/integration/react/basic.test.js create mode 100644 minimal_redux_poc/__tests__/integration/react/index.html diff --git a/minimal_redux_poc/__tests__/integration/react/basic.test.js b/minimal_redux_poc/__tests__/integration/react/basic.test.js new file mode 100644 index 0000000..4b34305 --- /dev/null +++ b/minimal_redux_poc/__tests__/integration/react/basic.test.js @@ -0,0 +1,17 @@ +describe('Basic end to end Mirador', () => { + beforeAll(async () => { + await page.goto('http://127.0.0.1:4488/__tests__/integration/react/'); + }); + it('loads a manifest and displays it', async () => { + await expect(page).toFill('#manifestURL', 'https://purl.stanford.edu/sn904cj3429/iiif/manifest'); + await expect(page).toClick('#fetchBtn'); + // TODO: Refactor the app so we get rid of the wait + await page.waitFor(1000); + await expect(page).toMatchElement('li', { text: 'https://purl.stanford.edu/sn904cj3429/iiif/manifest' }); + await expect(page).toMatchElement( + 'h3', + "Peter's San Francisco Locator. The Birds-Eye-View Map of the Exposition City. Published by Locator Publishing Co", + ); + await expect(page).toMatchElement('div', /Color/); + }); +}); diff --git a/minimal_redux_poc/__tests__/integration/react/index.html b/minimal_redux_poc/__tests__/integration/react/index.html new file mode 100644 index 0000000..514c890 --- /dev/null +++ b/minimal_redux_poc/__tests__/integration/react/index.html @@ -0,0 +1,19 @@ + + + + + Examples + + + + + +
+ + + diff --git a/minimal_redux_poc/webpack.config.js b/minimal_redux_poc/webpack.config.js index 8b457f9..22bb409 100644 --- a/minimal_redux_poc/webpack.config.js +++ b/minimal_redux_poc/webpack.config.js @@ -81,4 +81,32 @@ module.exports = [ }], }, }, + { + entry: './src/index.js', + output: { + path: path.join(__dirname, 'dist'), + filename: 'mirador_no_react.min.js', + libraryTarget: 'umd', + library: 'Mirador', + libraryExport: 'default', + }, + resolve: { extensions: ['.js'] }, + externals: { + react: 'React', + 'react-dom': 'ReactDOM', + }, + module: { + rules: [ + eslintLoaderConfig, + babelLoaderConfig, + { + test: /\.scss$/, + use: [ + 'style-loader', // creates style nodes from JS strings + 'css-loader', // translates CSS into CommonJS + 'sass-loader', // compiles Sass to CSS, using Node Sass by default + ], + }], + }, + }, ];