Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
@beaker/core
Advanced tools
Beaker browser's core software. Factored out so that we can build extensions from the same codebase.
Work in progress! Not ready to use.
Here's how we use it in electron (the browser):
import {app, protocol} from 'electron'
import beakerCore from '@beaker/core'
const DISALLOWED_SAVE_PATH_NAMES = [
'home',
'desktop',
'documents',
'downloads',
'music',
'pictures',
'videos'
]
// setup beaker-core
await beakerCore.setup({
// config
userDataPath: app.getPath('userData'),
homePath: app.getPath('home'),
templatesPath: path.join(__dirname, 'assets', 'templates'),
disallowedSavePaths: DISALLOWED_SAVE_PATH_NAMES.map(path => app.getPath(path)),
// APIs
permsAPI: {
async checkLabsPerm({perm, labApi, apiDocsUrl, sender}) {/*...*/},
async queryPermission(perm, sender) {/*...*/},
async requestPermission(perm, sender) {/*...*/},
async grantPermission(perm, senderURL) {/*...*/}
},
uiAPI: {
async showModal(sender, modalName, opts) {/*...*/},
async capturePage(url, opts) {/*...*/}
},
rpcAPI: {
exportAPI(apiName, apiManifest, apiImpl, [guardFn])
},
downloadsWebAPI: {...},
browserWebAPI: {...}
})
// setup the protocol handler
protocol.registerStreamProtocol('dat', beakerCore.dat.protocol.electronHandler, err => {
if (err) throw ProtocolSetupError(err, 'Failed to create protocol: dat')
})
In the webview preload:
import beakerCoreWebview from '@beaker/core/webview'
beakerCoreWebview.setup({
// APIs
rpcAPI: {
importAPI(apiName, apiManifest, opts)
}
})
setup()
getEnvVar()
debugLogger(name)
import {debugLogger} from '@beaker/core'
const debug = debugLogger('dat')
// write to the debug log under 'dat'
debug('dat-related stuff')
getLogFilePath()
getLogFileContent(start, end)
globals
dbs
dbs.archives
dbs.bookmarks
dbs.history
dbs.settings
dbs.sitedata
dbs.templates
dat
dat.library
dat.dns
dat.folderSync
dat.garbageCollector
dat.protocol
dat.debug
setup()
FAQs
Beaker browser's core software
The npm package @beaker/core receives a total of 167 weekly downloads. As such, @beaker/core popularity was classified as not popular.
We found that @beaker/core demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.