Skip to content

Instantly share code, notes, and snippets.

View antony's full-sized avatar
:octocat:
Loving SvelteJS

Antony Jones antony

:octocat:
Loving SvelteJS
View GitHub Profile
@antony
antony / SomeComponent.svelte
Last active August 15, 2019 15:07
Getting config from node-config into Sapper as `process.env.variableName`
<h1>
{process.env.myConfigVariable}
</h1>
@antony
antony / rollup.config.js
Last active September 15, 2019 07:02
Configuration variables in Svelte / Sapper
import conf from 'config'
const appConfig = Object.keys(conf).reduce((acc, n) => {
acc[`process.env.${n}`] = JSON.stringify(conf[n])
return acc
}, {})
export default {
client: {
...,
@antony
antony / AngularJsAware.groovy
Last active February 11, 2020 15:12
Make Geb work with AngularJS reliably, by waiting for the angular views to be resolved before attempting assertions. This uses the same onReady technique as Protractor.
package extensions
trait AngularJsAware {
boolean isAngularReady() {
js.exec('window.MYAPP.waitForAngular();');
waitFor {
js.MYAPP.APP_READY == true
}
@antony
antony / index.html
Last active October 24, 2020 22:33
Svelte App on Older Browsers (IE11+)
<!-- generated via npm run build && npx create-polyfill-service-url analyse --file public/bundle.js -->
<script crossorigin="anonymous" src="https://cdn.polyfill.io/v3/polyfill.min.js?features=Array.from,Array.isArray,Array.prototype.entries,Array.prototype.fill,Array.prototype.filter,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.keys,Array.prototype.map,ArrayBuffer,console,DataView,Date.prototype.toISOString,document,fetch,Function.prototype.bind,globalThis,Map,Object.create,Object.defineProperties,Object.defineProperty,Object.entries,Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.getPrototypeOf,Object.keys,Object.setPrototypeOf,Promise,Reflect,Reflect.construct,Set,Symbol,Symbol.iterator,WeakMap,WeakSet"></script>
@antony
antony / build.js
Last active March 11, 2021 01:45
custom-feather-icons
const feather = require('feather-icons/dist/icons.json')
const pascal = require('just-pascal-case')
const { promises: fs } = require('fs')
const { join } = require('path')
const iconList = require('./icon-list.json')
const handleComponentName = name => name.replace(/\-(\d+)/, '$1')
const component = icon =>
`<script>
@antony
antony / Flipper.svelte
Created August 10, 2019 08:45
An example of a div which can flip its content
<div class="card-container">
<div class="card">
{#if flipped}
<div class="side" transition:turn>
<slot name="front"></slot>
</div>
{:else}
<div class="side back" transition:turn>
<slot name="back"></slot>
</div>
@antony
antony / index.js
Last active January 16, 2022 16:35
A very quick authentication server which validates a JWT
'use strict'
require = require('esm')(module)
const { init, shutdown } = require('./server.js')
async function bootstrap () {
const server = await init()
await server.start()
console.log(`Server running at: ${server.info.uri}`)
}
From: https://stackoverflow.com/questions/23150333/html5-javascript-dataurl-to-blob-blob-to-dataurl
//**dataURL to blob**
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {type:mime});
@antony
antony / bash.sh
Last active February 8, 2022 01:36
Auth0 SSR Compatible Integration with Sapper
npm install --save express express-openid-connect
@antony
antony / convert.js
Created June 6, 2023 15:00
Convert from node-config to dotenv. Thanks ChatGPT!
'use strict'
const fs = require('fs')
const path = require('path')
const dotenv = require('dotenv')
const configDirPath = path.join(__dirname, './config')
const outputDirPath = path.join(__dirname, '.')
const toUpperSnakeCase = (str) => str.replace(/([a-z])([A-Z])/g, '$1_$2').toUpperCase()