Skip to content

Commit

Permalink
feat: add cjs build
Browse files Browse the repository at this point in the history
  • Loading branch information
pimlie committed Mar 20, 2019
1 parent 91e1716 commit aa6cdd4
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 0 deletions.
41 changes: 41 additions & 0 deletions scripts/create-browsers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env node

const path = require('path')
const fs = require('fs')
const { promisify } = require('util')
const Glob = require('glob')

const glob = promisify(Glob)

async function main() {
const srcPath = path.resolve(__dirname, '../src/') + '/'
let files = await glob(`${srcPath}/!(utils)/**/*.js`)
files = files
.filter(f => !f.includes('webpage') && !f.includes('logging'))
.map(f => f
.replace(srcPath, '')
.replace('.js', '')
.replace('index', '')
.replace(/\/+$/, '')
)
.sort()

const imports = files.reduce((acc, f) => {
return `${acc} '${f}': () => _interopDefault(import('./${f}')),
`
}, '')

fs.writeFileSync(path.join(__dirname, '../src/browsers.js'), `/**
* THIS FILE IS AUTOMATICALLY GENERATED
* DONT CHANGE ANYTHING MANUALLY
*/
const _interopDefault = i => i.then(m => m.default || m)
export const browsers = {
${imports.trim().slice(0, -1)}
}
`, { flag: 'w+' })
}

main().then(() => console.log('Done'))
33 changes: 33 additions & 0 deletions scripts/rollup.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import commonjs from 'rollup-plugin-commonjs'
import nodeResolve from 'rollup-plugin-node-resolve'
import json from 'rollup-plugin-json'
import defaultsDeep from 'lodash.defaultsdeep'

const pkg = require('../package.json')

function rollupConfig({
plugins = [],
...config
} = {}) {

return defaultsDeep({}, config, {
inlineDynamicImports: true,
external: Object.keys(pkg.dependencies),
input: 'src/index.js',
output: {
name: 'tib',
file: pkg.main,
format: 'cjs',
sourcemap: false
},
plugins: [
json(),
nodeResolve(),
commonjs()
].concat(plugins),
})
}

export default [
rollupConfig()
]
36 changes: 36 additions & 0 deletions src/browsers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* THIS FILE IS AUTOMATICALLY GENERATED
* DONT CHANGE ANYTHING MANUALLY
*/

const _interopDefault = i => i.then(m => m.default || m)

export const browsers = {
'browserstack': () => _interopDefault(import('./browserstack')),
'browserstack/local': () => _interopDefault(import('./browserstack/local')),
'chrome': () => _interopDefault(import('./chrome')),
'chrome/browserstack': () => _interopDefault(import('./chrome/browserstack')),
'chrome/browserstack/local': () => _interopDefault(import('./chrome/browserstack/local')),
'chrome/puppeteer': () => _interopDefault(import('./chrome/puppeteer')),
'chrome/selenium': () => _interopDefault(import('./chrome/selenium')),
'edge': () => _interopDefault(import('./edge')),
'edge/browserstack': () => _interopDefault(import('./edge/browserstack')),
'edge/browserstack/local': () => _interopDefault(import('./edge/browserstack/local')),
'edge/selenium': () => _interopDefault(import('./edge/selenium')),
'firefox': () => _interopDefault(import('./firefox')),
'firefox/browserstack': () => _interopDefault(import('./firefox/browserstack')),
'firefox/browserstack/local': () => _interopDefault(import('./firefox/browserstack/local')),
'firefox/selenium': () => _interopDefault(import('./firefox/selenium')),
'ie': () => _interopDefault(import('./ie')),
'ie/browserstack': () => _interopDefault(import('./ie/browserstack')),
'ie/browserstack/local': () => _interopDefault(import('./ie/browserstack/local')),
'ie/selenium': () => _interopDefault(import('./ie/selenium')),
'puppeteer': () => _interopDefault(import('./puppeteer')),
'puppeteer/core': () => _interopDefault(import('./puppeteer/core')),
'safari': () => _interopDefault(import('./safari')),
'safari/browserstack': () => _interopDefault(import('./safari/browserstack')),
'safari/browserstack/local': () => _interopDefault(import('./safari/browserstack/local')),
'safari/selenium': () => _interopDefault(import('./safari/selenium')),
'saucelabs': () => _interopDefault(import('./saucelabs')),
'selenium': () => _interopDefault(import('./selenium'))
}

0 comments on commit aa6cdd4

Please sign in to comment.