-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.2.0: New structure, features, plugin, and SDK #9
base: main
Are you sure you want to change the base?
Conversation
- Moving to src directory - Stricter TypeScript config - More complete gitignore - Disabled bun telemetry - Enabled lock - Removed extra deps
- Keeping sync from v1 - Adding example - Adding os matching - Adding runtimes - Adding TypeScript path re-write for relative imports
@@ -1,7 +1,187 @@ | |||
node_modules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer we don't make this .gitignore
change - the previous state was intentionally simple and focused on stuff that matters to us, I'm always happy to add more in to cover the fair needs of contributors, but a lot of the stuff in here is from things that as of right now should never be used in this repo and as far as I'm aware would never be used as a consequence of a contributor's setup (e.g. anything vue, parcel, npm/pnpm/yarn, or dynamodb related)
Can we revert the change here? Let me know if there's a specific item you want added in, but if there is let's just add it into the previous form of this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the default .gitignore you get for node_modules, also for bun init. I think it has sane defaults. I added the ones you had too like *.pem
. I don't care much about it though. Can revert.
preload = ["./src/plugin/register.ts"] | ||
|
||
[install.lockfile] | ||
print = "yarn" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also don't think we should use the yarn.lock
file, if we do want to commit a lockfile I prefer bun.lockb
- you can optionally configure a yarn-style diff like this in your personal .gitconfig
to see it in git diffs:
[diff "lockb"]
textconv = bun
binary = true
Overall though, this falls into the set of things I'd like to just keep simple and ideally not even have to use, not having a lockfile to begin with was intentional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think not having a lockfile is the right way to go, we need to be able to see when/how our dependencies change at the very least
"peerDependencies": { | ||
"typescript": "^5.3.3" | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the default on bun init
. Also we don't have any dependency on typescript (neither do consumers of bundown
as a lib). That's why it isn't in the dependencies array.
os: { type: 'string', multiple: false }, | ||
} | ||
}) | ||
const expectedBunVersion = '^1.0.27' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please move this back to the package.json
import and set it back to 1.0.24
?
The intent here is to require the minimum viable Bun version that can run Bundown, which so far means the earliest version supporting the $
Bun Shell. That information should just come from the package.json
dependency.
This is also why the $
import was happening after the throw.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good.
import "fmt" | ||
|
||
func main() { | ||
fmt.Println("Go works too!") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please change this tab to 2 or 4 spaces for now - the actual fix here should be a follow-up PR but currently it seems that tabs break our box drawing in print mode, so we should find and replace them with a set number of spaces when code is printed before string widths are calculated etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(When I say follow up PR in this case I just mean a future fix, doesn't necessarily have to be anybody specific implementing it or on any timeline, I don't consider it an urgent issue.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I think the tabs were because of this just being copy-pasted from default go "hello world". I will fix.
|
||
/* Re-write import paths */ | ||
"paths": { | ||
"@/*": ["./*"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style nit, let's use ~
instead of @
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good.
Up next
run
v1 into v2, with new run semanticssync
v1 into v2, with new sync semantics, sources, and destinationsnpm
bun
Zig runtime loader table and use--loader
fallbackfiles: []
array topackage.json
for automatictar
-ing of what we want to send tonpm
List of changes
@/src/plugin/example.md
tsconfig
and a relative local path (at least for now)--os
block flagbash
andts
)^1.0.27
exitCode
mechanism$
exit codegithub://<org>/<repo>
gist://<user>/<id>
import README from './README.md'
README.markdown.tree
,README.blocks
,README.run()
import goProgram from './some/go/program.go'
const { exitCode, stdout, stderr } = goProgram.call()
import pythonProgram from './some/python/program.py'
import shellProgram from './some/python/program.sh'
bun ./README.md
bun <file>
forsh
,py
, andgo
(andmd
, see above)bun <file>
with custom runtimes with--bundown-runtime
or--brrr