From efc64be32100f5ea229d1bf59e36d37da7a740e4 Mon Sep 17 00:00:00 2001 From: Bryn Ryans Date: Sun, 17 Apr 2022 16:00:43 +0000 Subject: [PATCH] donotmerge: various works in progress 1. Example image loading 2. Changes to support https and http for new extension loader 3. Support for Looker SDK 4.0 id strings --- react/javascript/helloworld-js/README.md | 8 +++-- .../javascript/helloworld-js/babel.config.js | 8 +++++ react/javascript/helloworld-js/package.json | 3 +- .../helloworld-js/src/HelloWorld.js | 2 ++ .../helloworld-js/src/images/spirals.png | Bin 0 -> 33924 bytes .../helloworld-js/webpack.config.js | 4 +-- .../src/components/Configure/Configure.tsx | 27 --------------- .../typescript/kitchensink/webpack.develop.js | 3 +- yarn.lock | 32 +++++++++++++++++- 9 files changed, 53 insertions(+), 34 deletions(-) create mode 100644 react/javascript/helloworld-js/src/images/spirals.png diff --git a/react/javascript/helloworld-js/README.md b/react/javascript/helloworld-js/README.md index 147a94b..b759b8e 100644 --- a/react/javascript/helloworld-js/README.md +++ b/react/javascript/helloworld-js/README.md @@ -29,7 +29,11 @@ This example demonstrates a bare bones Looker extension using Javascript. yarn develop ``` - The extension is now running and serving the JavaScript locally at http://localhost:8080/bundle.js. + The extension is now running and serving the JavaScript locally at https://localhost:8080/bundle.js. Note that the + new extension loading mechanism requires that the development server listen on https as browsers do not support + mixed content. When the development extension first loads you may need to authorize the certificate that is generated. + This can easily be done by clicking the link that appears in the displayed development information. This will open + a new browser window which will allow the certificate to be authorized. 5. Log in to Looker and create a new project. @@ -46,7 +50,7 @@ This example demonstrates a bare bones Looker extension using Javascript. application: helloworld-js { label: "Helloworld (JavaScript)" - url: "http://localhost:8080/bundle.js" + url: "https://localhost:8080/bundle.js" entitlements: { core_api_methods: ["me"] } diff --git a/react/javascript/helloworld-js/babel.config.js b/react/javascript/helloworld-js/babel.config.js index 6a28636..f04ad1f 100644 --- a/react/javascript/helloworld-js/babel.config.js +++ b/react/javascript/helloworld-js/babel.config.js @@ -55,6 +55,14 @@ module.exports = (api) => { '@babel/plugin-proposal-object-rest-spread', '@babel/plugin-transform-runtime', 'babel-plugin-styled-components', + [ + 'file-loader', + { + publicPath: '/dist', + outputPath: '/dist', + limit: 66666, + }, + ], ], } } diff --git a/react/javascript/helloworld-js/package.json b/react/javascript/helloworld-js/package.json index 14bbe5b..097bfc4 100644 --- a/react/javascript/helloworld-js/package.json +++ b/react/javascript/helloworld-js/package.json @@ -7,7 +7,7 @@ "analyze": "export ANALYZE_MODE=static && yarn build", "build": "export BABEL_ENV=build && webpack --config webpack.prod.js", "clean": "rm -rf dist && rm -f .eslintcache", - "develop": "webpack serve --hot --port 8080 --config webpack.develop.js", + "develop": "webpack serve --hot --port 8080 --https --config webpack.develop.js", "prebuild": "yarn clean", "lint:es": "eslint 'src/**/*.js{,x}' --cache", "lint:es:fix": "eslint 'src/**/*.js{,x}' --cache --fix", @@ -32,6 +32,7 @@ "@styled-icons/material": "^10.28.0", "@styled-icons/material-outlined": "^10.34.0", "@styled-icons/material-rounded": "^10.34.0", + "babel-plugin-file-loader": "^2.0.0", "lodash": "^4.17.21", "react": "^16.14.0", "react-dom": "^16.14.0", diff --git a/react/javascript/helloworld-js/src/HelloWorld.js b/react/javascript/helloworld-js/src/HelloWorld.js index 190f53a..05ab21c 100644 --- a/react/javascript/helloworld-js/src/HelloWorld.js +++ b/react/javascript/helloworld-js/src/HelloWorld.js @@ -27,6 +27,7 @@ import React, { useEffect, useState, useContext } from 'react' import { Space, ComponentsProvider, Text } from '@looker/components' import { ExtensionContext } from '@looker/extension-sdk-react' +import spiral from './images/spirals.png' export const HelloWorld = () => { const { core40SDK } = useContext(ExtensionContext) @@ -52,6 +53,7 @@ export const HelloWorld = () => { {message} + diff --git a/react/javascript/helloworld-js/src/images/spirals.png b/react/javascript/helloworld-js/src/images/spirals.png new file mode 100644 index 0000000000000000000000000000000000000000..88a9a9bce51625036d7b98ac8ab69937357e589e GIT binary patch literal 33924 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 = ({ const getValidationMessages = (): ValidationMessages | undefined => { let validationMessages: ValidationMessages | undefined - if (typeof localConfigurationData.dashboardId === 'string') { - if (!validationMessages) { - validationMessages = {} - } - validationMessages.dashboardId = { - type: 'error', - message: 'dashboard id is not numeric', - } - } - if (localConfigurationData.exploreId === '') { - if (!validationMessages) { - validationMessages = {} - } - validationMessages.exploreId = { - type: 'error', - message: 'explore id is empty', - } - } - if (typeof localConfigurationData.lookId === 'string') { - if (!validationMessages) { - validationMessages = {} - } - validationMessages.lookId = { - type: 'error', - message: 'look id is not numeric', - } - } return validationMessages } diff --git a/react/typescript/kitchensink/webpack.develop.js b/react/typescript/kitchensink/webpack.develop.js index ee6cb9a..a26060e 100644 --- a/react/typescript/kitchensink/webpack.develop.js +++ b/react/typescript/kitchensink/webpack.develop.js @@ -42,7 +42,8 @@ module.exports = { ], }, devServer: { - webSocketServer: 'sockjs', + client: false, + webSocketServer: false, host: 'localhost', allowedHosts: 'all', headers: { diff --git a/yarn.lock b/yarn.lock index d27275b..d9ebe32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3842,6 +3842,15 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" +babel-plugin-file-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-file-loader/-/babel-plugin-file-loader-2.0.0.tgz#e9f7ecbd0f1131483f6f06a2a4cbc1574c00534f" + integrity sha512-MgonWXyl/VAMjMCU4YA3m0Zk95jdwLoQ/n8YM+M/CYKNtEfj9nk+bhgLbWKkUY2D9PzjQO8sx93QkOCMAAvn8Q== + dependencies: + big.js "^5.2.2" + fs-extra "^8.1.0" + mime "^2.4.4" + babel-plugin-istanbul@^6.0.0: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -6471,6 +6480,15 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -8304,6 +8322,13 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -8971,6 +8996,11 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mime@^2.4.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -12641,7 +12671,7 @@ universal-user-agent@^6.0.0: resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.2: +universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==