Skip to content

Commit

Permalink
Deno / JSR WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanblock committed Mar 4, 2024
1 parent ef5561b commit b016692
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 0 deletions.
40 changes: 40 additions & 0 deletions scripts/jsr/copy-src-tree.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#! /usr/bin/env node

import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
import { join } from 'node:path'
import pluginList from '../../plugins.mjs'

const start = Date.now()
const cwd = process.cwd()
const denoDir = join(cwd, 'node_modules', '.deno')
if (!existsSync(denoDir)) {
throw Error('Deno has not yet installed dependencies for the test run')
}

const deps = readdirSync(denoDir)

const existingAwsLiteDirs = deps.filter(i => i.startsWith('@aws-lite+'))
if (existingAwsLiteDirs.length) {
existingAwsLiteDirs.forEach(dir => {
rmSync(join(denoDir, dir), { recursive: true, force: true })
})
}

const dirs = [
cwd,
...pluginList.map(({ service }) => join(cwd, 'plugins', service))
]
dirs.forEach(dir => {
const pkg = JSON.parse(readFileSync(join(dir, 'package.json')))
const name = pkg.name.replace('/', '+')
const ver = pkg.version.split('-')[0]
const verDir = join(denoDir, `${name}@${ver}`)

const dest = join(verDir, 'node_modules', '@aws-lite', pkg.name.split('/')[1])
mkdirSync(dest, { recursive: true })
writeFileSync(join(verDir, '.initialized'), '')

cpSync(join(dir, 'package.json'), join(dest, 'package.json'))
cpSync(join(dir, 'src'), join(dest, 'src'), { recursive: true })
})
console.error(`Prepared ${dirs.length} Deno node_modules dirs in ${Date.now() - start} ms`)
3 changes: 3 additions & 0 deletions scripts/jsr/deno.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
test/scripts/copy-src-tree.mjs

# deno run --allow-read --allow-write --allow-env --allow-net --node-modules-dir test/unit/src/whatever.mjs | tap-arc
2 changes: 2 additions & 0 deletions scripts/jsr/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Deno + JSR support is still experimental
See: https://github.com/architect/aws-lite/issues/109

0 comments on commit b016692

Please sign in to comment.