Skip to content

Commit

Permalink
fix: add special target for Cloudflare Workers (#151)
Browse files Browse the repository at this point in the history
* fix: create a new package for workers

* add workers package for datadog and lightstep too

* add package for stdout

* remove flush

* make sure data is sent from the examples

* unify packages for stdout

* unify packages for honeycomb

* update wrangler

* unify packages for lightstep

* unify packages for datadog

* fix tests
  • Loading branch information
mhmd-azeez committed Jan 8, 2024
1 parent 790c9af commit 2806fe4
Show file tree
Hide file tree
Showing 61 changed files with 7,096 additions and 343 deletions.
14 changes: 9 additions & 5 deletions js/esbuild/esbuild.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,21 @@ program
.option('-p, --platform <string>')
.option('-f, --format <string>')
.option('-g, --generateTypes')
.option('-w, --workerd')
program.parse();

const options = program.opts();

// conditional logic for polyfilling deno
const plugins = [
// conditional logic for Cloudflare Workers
const plugins = options.workerd ? [] : [
wasmPlugin,
]

// conditional logic for Cloudflare Workers
const loader = options.workerd ? {
'.wasm': 'copy',
} : {}

esbuild.build({
entryPoints: [options.entrypoint],
bundle: options.bundle,
Expand All @@ -80,8 +86,6 @@ esbuild.build({
outfile: options.outfile,
platform: options.platform,
format: options.format,
// loader: {
// '.data': 'binary'
// },
loader,
plugins,
})
14 changes: 12 additions & 2 deletions js/packages/observe-sdk-datadog/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,25 @@
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"types": "./dist/types/index.d.ts",
"exports": {
"workerd": "./dist/workerd/index.js",
"default": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/index.js",
"require": "./dist/cjs/index.js"
}
},
"scripts": {
"build:esm": "node ../../esbuild/esbuild.js -b -e ./index.js -o ../observe-sdk-datadog/dist/esm/index.js -p browser -f esm",
"build:cjs": "node ../../esbuild/esbuild.js -b -e ./index.js -o ../observe-sdk-datadog/dist/cjs/index.js -p browser -f cjs",
"build:workerd": "node ../../esbuild/esbuild.js -b -e ./index.js -o ./dist/workerd/index.js -p browser -f esm --workerd",
"build:types": "tsc -b",
"build": "npm run build:esm && npm run build:cjs && npm run build:types",
"build": "npm run build:esm && npm run build:cjs && npm run build:workerd && npm run build:types",
"build:web-test": "node ../../esbuild/esbuild.js -b -e ./test/web/index.js -o ./test/web/build.js -p browser",
"test:node": "node test/node/index.js",
"test:deno": "deno run -A test/deno/index.ts",
"test:web": "npm run build:web-test && npx serve ./test/web"
"test:web": "npm run build:web-test && npx serve ./test/web",
"test:workerd": "npx wrangler dev -c ./test/workerd/wrangler.toml"
},
"keywords": [
"dylibso",
Expand Down
24 changes: 24 additions & 0 deletions js/packages/observe-sdk-datadog/test/node/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion js/packages/observe-sdk-datadog/test/node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
"license": "ISC",
"dependencies": {
"@dylibso/observe-sdk-datadog": "file:../.."
}
}
13 changes: 13 additions & 0 deletions js/packages/observe-sdk-datadog/test/workerd/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# http://editorconfig.org
root = true

[*]
indent_style = tab
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.yml]
indent_style = space
172 changes: 172 additions & 0 deletions js/packages/observe-sdk-datadog/test/workerd/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
# Logs

logs
_.log
npm-debug.log_
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)

report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json

# Runtime data

pids
_.pid
_.seed
\*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover

lib-cov

# Coverage directory used by tools like istanbul

coverage
\*.lcov

# nyc test coverage

.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)

.grunt

# Bower dependency directory (https://bower.io/)

bower_components

# node-waf configuration

.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)

build/Release

# Dependency directories

node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)

web_modules/

# TypeScript cache

\*.tsbuildinfo

# Optional npm cache directory

.npm

# Optional eslint cache

.eslintcache

# Optional stylelint cache

.stylelintcache

# Microbundle cache

.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history

.node_repl_history

# Output of 'npm pack'

\*.tgz

# Yarn Integrity file

.yarn-integrity

# dotenv environment variable files

.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)

.cache
.parcel-cache

# Next.js build output

.next
out

# Nuxt.js build / generate output

.nuxt
dist

# Gatsby files

.cache/

# Comment in the public line in if your project uses Gatsby and not Next.js

# https://nextjs.org/blog/next-9-1#public-directory-support

# public

# vuepress build output

.vuepress/dist

# vuepress v2.x temp and cache directory

.temp
.cache

# Docusaurus cache and generated files

.docusaurus

# Serverless directories

.serverless/

# FuseBox cache

.fusebox/

# DynamoDB Local files

.dynamodb/

# TernJS port file

.tern-port

# Stores VSCode versions used for testing VSCode extensions

.vscode-test

# yarn v2

.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.\*

# wrangler project

.dev.vars
.wrangler/
6 changes: 6 additions & 0 deletions js/packages/observe-sdk-datadog/test/workerd/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"printWidth": 140,
"singleQuote": true,
"semi": true,
"useTabs": true
}
Loading

0 comments on commit 2806fe4

Please sign in to comment.