Skip to content

New Compiler&Bundler #28

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

Merged
merged 247 commits into from
Jan 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
247 commits
Select commit Hold shift + click to select a range
91473cb
feat: add aleph-swc compiler basic code
Oct 29, 2020
461b8e6
chore: update git ignore rules
Oct 29, 2020
2e11883
chore: update vscode workspace settings
Oct 30, 2020
1e08ad0
chore(swc): update deps
Oct 30, 2020
4bacd57
feat: implement basic jsx visit
Oct 30, 2020
4006327
chore(swc): update test.ts
Oct 30, 2020
cb634d5
chore(swc): update deps
Oct 31, 2020
d307632
chore(swc): add build.sh
Oct 31, 2020
4015ba2
doc(swc): update readme
Oct 31, 2020
c20b913
refactor: add resolve mod(not implement)
Oct 31, 2020
2f5f95d
refactor(swc): remove `.cjs` source type
Oct 31, 2020
ad12e44
refactor(swc): add fast_refresh mod(no implement)
Oct 31, 2020
ab60e26
refactor(swc): cleanup
Oct 31, 2020
4c4ddf5
refactor(swc): remove get_location fn of ParsedModule
Oct 31, 2020
899dec1
refactor: copy fast-refresh code(not implement) from @vovacodes
Oct 31, 2020
3820e7c
chore(swc): update deps
Nov 1, 2020
55110cb
feat(swc): implement sign_use_deno_hook
Nov 1, 2020
76a1ee6
chore(swc): update deps
Nov 1, 2020
f9cf0b7
chore(swc): update test.ts
Nov 1, 2020
0c43903
chore(swc): update cargo config
Nov 1, 2020
9dc1e84
refactor(swc): remove wee_alloc
Nov 1, 2020
1264faf
refactor(swc): imporve swc fold in jsx
Nov 1, 2020
21be7cf
refactor(swc): improve resolver
Nov 1, 2020
17dc200
chore(swc): update test.ts
Nov 1, 2020
9e11d9f
doc: update readme
Nov 3, 2020
4f68ca9
doc: update rsDoc
Nov 3, 2020
12978bc
refactor: cleanup
Nov 14, 2020
e96ee6e
chore(swc): update deps
Nov 15, 2020
9946684
chore(swc): remove test.ts and update banchmark.ts
Nov 15, 2020
59cb936
refactor(swc): cleanup
Nov 15, 2020
b91f787
chore(swc): update dependencies
Nov 17, 2020
ef69889
feat(swc): implement resolver
Nov 17, 2020
a0d967b
chore(swc): update banchmark
Nov 17, 2020
d4075e3
chore(swc): update dependencies
Nov 17, 2020
ed39415
feat(swc): implement dep_graph collection
Nov 17, 2020
d517c0a
chore(github): update github workflows config
Nov 17, 2020
fbdb52c
doe(swc): update readme
Nov 17, 2020
5ccddc1
chore(github): update github workflows
Nov 17, 2020
9144a32
chore(swc): update dependencies
Nov 17, 2020
dc95cd6
refactor(swc): ensure to slash
Nov 17, 2020
0a2d7b5
refactor(swc): improve fix_import_url
Nov 17, 2020
38db04b
fix(swc): fix dep_graph in windows port
Nov 17, 2020
10b36d5
refactor(swc): slash!
Nov 17, 2020
68c36b7
chore(swc): update github workflows config
Nov 17, 2020
0182b59
fix(swc): fix resolve fn on windows port
Nov 17, 2020
200a504
feat(swc): implement import map resolve
Nov 20, 2020
954e23a
chore(swc): add fast-refresh plugin tests
Nov 20, 2020
3c0236a
chore(swc): remove tests
Nov 20, 2020
577c0df
doc(swc): update readme
Nov 20, 2020
57d5d51
refactor(swc): clean up
Nov 20, 2020
b56e1c3
feat(swc): inject baisc RefreshSig code
Nov 21, 2020
d038b58
chore(vscode): update vscode workspace settings
Nov 21, 2020
7960467
chore(swc): update deps
Nov 21, 2020
c9245f9
feat: implement basic fast-refresh transform
Nov 21, 2020
002f185
refactor(swc): support `React.useEffect`
Nov 21, 2020
1c6f018
refactor(swc): clean up
Nov 22, 2020
613c54f
refactor(swc): improve fast-refresh transform
Nov 22, 2020
113f5e1
refactor(swc): clean up
Nov 22, 2020
2ca5ba4
chore(swc): add sha-1 dependency
Nov 22, 2020
36bb6fa
feat(swc): add emit_full_signatures option for fast-refresh transformer
Nov 22, 2020
207767d
refactor(swc): clean up
Nov 22, 2020
4f3b7aa
refactor(swc/fast-refresh): support `const Bar = () => <div/>`
Nov 22, 2020
e0875f1
refactor(swc/fast-refresh): support exotic signature
Nov 22, 2020
0028a4d
fix(swc/fast-refresh): fix exotic signature
Nov 22, 2020
baa1d50
refactor(swc/fast-refresh): support hoc
Nov 22, 2020
6e03ae6
refactor(swc): clean up
Nov 22, 2020
8757a7a
refact(swc): support signature of hoc callback
Nov 23, 2020
f9a0fd3
chore(swc): update dependencies
Nov 23, 2020
dda17d6
chore(swc): update banchmark.ts
Nov 23, 2020
48913a1
doc(swc): update readme
Nov 23, 2020
704705a
refactor(swc/fast-refresh): support return expr signature
Nov 24, 2020
d40914c
refactor(swc): clean up
Nov 24, 2020
de201c7
feat(swc): rename builtin jsx element
Nov 24, 2020
114e3c6
feat(swc): implement jsx builtin resolve
Nov 24, 2020
c7bbb8a
chore(swc): update banckmark script
Nov 24, 2020
aa29484
doc(swc): update readme
Nov 24, 2020
9099fa3
chore(swc): update banchmark script
Nov 24, 2020
4c344b9
Merge branch 'master' into swc
Nov 24, 2020
9cef8c5
chore: add desp.ts
Nov 24, 2020
8622928
refactor(swc): add source_map option
Nov 24, 2020
235fb64
chore: update deps
Nov 24, 2020
03f2c5b
chore: update deps
Nov 24, 2020
3d179a3
chore(swc): add build script
Nov 24, 2020
91a1e4a
refactor(swc): update swc options
Nov 24, 2020
e201598
chore(swc): update banchmark script
Nov 24, 2020
c9289b5
doc(swc): update readme
Nov 24, 2020
993105e
feat(swc): first build
Nov 24, 2020
21dbb87
chore: remove import map
Nov 24, 2020
0b93e4b
fix: fix import url
Nov 24, 2020
5c5dca4
chore(CI): update aleph_in_deno action
Nov 24, 2020
e2520ca
refactor(swc): improve fix_import_url function
Nov 25, 2020
0bea559
refactor(swc): improve DependencyDescriptor
Nov 25, 2020
93b5a5e
refactor(swc): use deps instead of dep_graph in TransformOutput
Nov 25, 2020
4969c8b
refactor(swc): improve resolve
Nov 25, 2020
dbaf438
chore: remove tsc code
Nov 25, 2020
96e3ab0
refactor(swc): update mod.ts
Nov 25, 2020
c7ce9bf
refactor(swc): improve resolve
Nov 25, 2020
ba01f28
refactor(swc): use static version
Nov 25, 2020
f47bd82
refactor(swc): improve builtin `a` jsx tag transform
Nov 25, 2020
3a3f6da
chore(swc): update banchmark script
Nov 25, 2020
9354613
refactor(swc): update mod.ts
Nov 25, 2020
c9059f2
chore(swc): update bancmark script
Nov 25, 2020
802e570
refactor(swc): resolve react/react-dom/react-server urls
Nov 25, 2020
47e3677
refactor(swc) renam filename to url
Nov 25, 2020
b82a9fe
chore(swc): rename
Nov 25, 2020
354f76c
refactor(cli): improve upgrade command
Nov 25, 2020
e3b8619
refactor(swc): improve resolve
Nov 26, 2020
4ee5e8b
fix(swc): fix react url resolve
Nov 26, 2020
956ad62
refactor(swc): improve link tag transform
Nov 26, 2020
9cd27b7
fix: fix link tag resolve
Nov 26, 2020
0d4c65a
refactor(swc): improve link tag transform
Nov 26, 2020
f694d9b
refactor(swc): add `__styleId` for style tag
Nov 26, 2020
bd9ea03
refactor(swc): update DependencyDescriptor
Nov 26, 2020
9849e85
refactor(cli): improve init command
Nov 26, 2020
cdf544f
chore(swc): build
Nov 26, 2020
616e638
feat: use new compiler
Nov 26, 2020
518bfe6
chore: update examples
Nov 26, 2020
2538e8d
doc(swc): update rsDoc
Nov 26, 2020
0c6f164
refactor(swc): improve inline style transform
Nov 27, 2020
885f954
refactor(swc): improve inline style resolve
Nov 27, 2020
81c28dd
refactor(swc): improve inline-style resolve
Nov 27, 2020
e3ec9e8
chore(swc): build
Nov 27, 2020
73ee234
feat: support inline style
Nov 27, 2020
45f4dc0
chore: update examples
Nov 27, 2020
8c2fe7a
chore: move testings
Nov 27, 2020
9094c82
fix: fix js minify
Nov 27, 2020
b671b74
fix(swc): fix url resolve
Nov 27, 2020
6689c96
chore(swc): build wasm
Nov 27, 2020
74215ec
doc: update readme
Nov 27, 2020
f0ee66d
chore(swc): fix banchmark script
Nov 27, 2020
bd2f9ce
chore(swc): update deps
Nov 28, 2020
c4bdf4f
refactor(swc): clean up
Nov 28, 2020
5b911d7
feat(swc): resolve for bundling
Nov 28, 2020
318e4a4
refactor(swc): add es5 target
Nov 28, 2020
63f4c21
refactor(swc): add `__ALEPH` namespace
Nov 28, 2020
9ba347b
refactor(swc): improve resolve
Nov 28, 2020
8e2d7fd
refactor: clean up
Nov 28, 2020
5c8942f
refactor(swc): slash!
Nov 28, 2020
148b7c9
refactor(swc): add bundle_mode option
Nov 28, 2020
518e2fd
refactor: improve project class
Nov 28, 2020
609323f
refactor(swc): add `bundle_local_paths` option
Nov 28, 2020
838d599
fix: workaround for denoland/deno/issues/8530
Nov 28, 2020
b7dbae7
chore(swc): build wasm
Nov 28, 2020
921a125
refactor(swc): add compat pass
Nov 28, 2020
77bbd56
chore(swc): build wasm
Nov 28, 2020
6239fef
feat: implement deps bundle
Nov 28, 2020
17af507
refactor: clean up
Nov 28, 2020
912bc26
refactor(cli): clean up
Nov 28, 2020
83a18bb
refactor: remove deno-dom
Nov 28, 2020
0cb5d70
chore: update deps
Nov 29, 2020
ca1d995
refactor: improve remote dependency resolve
Nov 29, 2020
177678a
chore: add core directory
Nov 29, 2020
48dee34
refactor: clean up
Nov 29, 2020
2298d7f
refactor(swc): improve jsx transform for bundle mode
Nov 29, 2020
5144e6a
refactor(swc): improve link component transform
Nov 29, 2020
1c7d3a1
refactor: improve link component
Nov 29, 2020
3bc9c0f
refactor(swc): improve link jsx transform
Nov 29, 2020
c1afcaa
refactor: improve compile&bundle
Nov 29, 2020
d0dddb6
fix: workaround for denoland/deno/issues/8541
Nov 29, 2020
ddc2fc1
chore(swc): build wasm
Nov 29, 2020
7e3bedb
refactor: update __ALEPH object
Nov 29, 2020
927069f
refactor(swc): improve export resolve for bundling
Nov 30, 2020
6248006
refactor: improve postcss config loading
Nov 30, 2020
b56202b
chore: update contributing
Nov 30, 2020
503509f
chore: update examples
Nov 30, 2020
dc8f0b6
doc: update contributing doc
Nov 30, 2020
b5887e8
refacotor(swc): improve wasm load speed
Nov 30, 2020
d30c8af
refactor(swc): build wasm
Nov 30, 2020
5b290cc
refactor: update Module types
Nov 30, 2020
802bb1a
fix: fix module metadata file
Nov 30, 2020
c439638
feat: add importModule function
Nov 30, 2020
a2de3c0
refactor: update project structure
Dec 1, 2020
622cfe0
feat: add aleph component concept doc
Dec 1, 2020
d6a22b6
fix: fix dev import map
Dec 1, 2020
715fad6
refactor(swc): rename 'bundleLocalPaths' to 'bundledPaths'
Dec 2, 2020
cf87f05
chore(swc): build wasm
Dec 2, 2020
f77d7b1
doc: update contributing doc
Dec 2, 2020
91b34e1
refactor: improve compile for bundling
Dec 2, 2020
6006b10
refactor: improve bundling
Dec 3, 2020
cced9bc
refactor(swc): remove export expr transform
Dec 3, 2020
788d087
refactor: improve jsx builtin module resolve
Dec 3, 2020
84d1679
chore(swc): rename
Dec 3, 2020
1ab35db
refactor(compiler): update fold passes
Dec 3, 2020
08d08b1
chore(compiler): update initSWC to initWasm
Dec 3, 2020
ce993cc
chore(compiler): update banchmark script
Dec 3, 2020
2c3c2c7
chore: cleanup
Dec 3, 2020
3a80b4a
feat: implement createPageBundle method
Dec 3, 2020
a99254a
chore(compiler): build wasm
Dec 3, 2020
d38d5bc
refactor(framework): avoid to use React namespace
Dec 5, 2020
b020f2d
refactor: remove redirect function to routing module
Dec 5, 2020
6b006fa
feat(compiler): add es5 ployfill
Dec 5, 2020
622cd57
refactor: improve bundler
Dec 5, 2020
adfe310
chore(example): update examples
Dec 5, 2020
5926b05
refactor: wrap bundling code to IIFE
Dec 5, 2020
eab9175
chore: apply master changes
Dec 5, 2020
e952ca0
refactor: improve bundler
Dec 5, 2020
0d33f07
refactor(compiler): remove unnecessary FileName
Dec 13, 2020
0411fa4
feat: 2020-2021
Dec 31, 2020
5684645
doc: update copyinfo
Dec 31, 2020
e34fc6e
refactor(compiler): update dependencies
Dec 31, 2020
7a2971f
chore(compiler): update banchmark script
Dec 31, 2020
b402db8
chore: update std moudles to 0.83
Dec 31, 2020
cba5518
Merge branch 'swc' of https://github.com/alephjs/aleph.js into swc
Dec 31, 2020
75318ff
chore: add bufio std module
Jan 1, 2021
7f22714
refactor: improve API Request class
Jan 1, 2021
f61a3c0
fix: fix for std bytes module breaking changes
Jan 1, 2021
e4d00a7
refactor: remove `readerFromStreamReader` dep
Jan 1, 2021
0cf41fe
chore(compiler): build wasm
Jan 1, 2021
1240429
fix: fix _loadDependency method
Jan 2, 2021
13f4ff1
fix: fix testing
Jan 2, 2021
469b00a
refactor(compiler): update es5 ployfill
Jan 2, 2021
39679a6
fix: fix isHMRable method (#82)
ije Jan 11, 2021
5e25b10
Merge branch 'swc' of https://github.com/alephjs/aleph.js into swc
ije Jan 11, 2021
9bf8ad2
refactor(compiler): improve resolver for react url
Jan 16, 2021
858a849
refactor: update project structure
Jan 16, 2021
cee776c
doc: update contribution doc
Jan 16, 2021
567da93
chore(compiler): build wasm
Jan 16, 2021
79d9d95
core: remove react.ts
Jan 16, 2021
3f354ea
refactor: add constants.ts
Jan 16, 2021
ef1964a
refactor: remove some repitition in match statement
shadowtime2000 Jan 21, 2021
be4456c
docs: banchmark -> benchmark
shadowtime2000 Jan 21, 2021
79a0b87
typo: ployfills -> polyfills
shadowtime2000 Jan 21, 2021
6067e9e
chore: rebuild wasm (i think)
shadowtime2000 Jan 21, 2021
62ecc95
Update resolve.rs
ije Jan 21, 2021
068062f
refactor: remove browser polyfill objects
ije Jan 21, 2021
7a071a9
chore(compiler): update dependencies
ije Jan 21, 2021
50eee10
chore(compiler): update benchmark script
ije Jan 21, 2021
67d274b
doc(compiler): update readme
ije Jan 21, 2021
ad2e99a
refactor: clean up
ije Jan 21, 2021
72a0c84
chore(vscode): update workspace settings
ije Jan 21, 2021
578cd0e
chore(server): clean up
ije Jan 21, 2021
d8bcf0a
refactor: ployfill -> polyfill
ije Jan 21, 2021
eb2c3b8
feat(compiler): add compat fixer
ije Jan 21, 2021
3059b8a
refactor: improve react framework for bundle mode
ije Jan 21, 2021
d532bd1
fix(server): fix `_createPageBundle` method
ije Jan 21, 2021
c4180d7
chore(compiler): build wasm
ije Jan 21, 2021
f6acfc8
refactor(compiler): rewrite useDeno/inline-style signature
ije Jan 21, 2021
2f196bb
chore(compiler): remove `rand` package
ije Jan 21, 2021
0fb2b48
fix: add workaround for https://github.com/denoland/deno/issues/9212
ije Jan 21, 2021
4506966
fix: fix isLikelyReactComponent in bundle mode
ije Jan 21, 2021
2ef2cc1
chore(compiler): build wasm
ije Jan 21, 2021
c942808
fix: fix custom components loading
ije Jan 21, 2021
0d24456
chore: resolve conflicts
shadowtime2000 Jan 21, 2021
a83a30f
chore: update github action for swc testing
shadowtime2000 Jan 21, 2021
d742b8b
test: remove assignment statement to location
shadowtime2000 Jan 21, 2021
39c9f5e
ci: use http://localhost as location for tests
shadowtime2000 Jan 21, 2021
af78991
Merge pull request #96 from alephjs/fix-sass-tests
shadowtime2000 Jan 22, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/aleph_in_deno.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ jobs:
with:
deno-version: v1.x

- name: Cache std modules
run: deno cache std.ts
- name: Cache deps modules
run: deno cache deps.ts

- name: Run tests
run: deno test -A --unstable
run: deno test -A --unstable --location "http://localhost/"
37 changes: 37 additions & 0 deletions .github/workflows/swc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: compiler

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
test:
runs-on: ${{ matrix.os }} # runs a test on macOS, Windows and Ubuntu

strategy:
matrix:
os: [macOS-latest, windows-latest, ubuntu-latest]

steps:
- name: Setup repo
uses: actions/checkout@v2

- name: Setup rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: stable

- name: Setup wasm-pack
uses: jetli/[email protected]
with:
version: latest

- name: Run tests
run: cd compiler && cargo test --all
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.DS_Store
Thumbs.db
compiler/target/
compiler/pkg/
.aleph/
dist/
swc/target/
swc/pkg/
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"recommendations": [
"denoland.vscode-deno"
"denoland.vscode-deno",
"rust-lang.rust"
]
}
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"typescript.format.semicolons": "remove",
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
Expand Down
38 changes: 28 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,50 @@
# Contributing to Aleph.js

Welcome, and thank you for taking time in contributing to Aleph.js!
Welcome, and thank you for taking time in contributing to Aleph.js! You can improve Aleph.js in different ways:

## Code of Conduct

All contributors are expected to follow our [Code of Conduct](CODE_OF_CONDUCT.md).
- ∆ add new features
- ✘ bugfix
- ✔︎ review code
- ☇ write plugins
- 𝔸 improve our [documentation](https://github.com/alephjs/alephjs.org)

## Development Setup

You will need [Deno](https://deno.land/) 1.5+ and [VS Code](https://code.visualstudio.com/) with [deno extension](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno).
You will need [Deno](https://deno.land/) 1.7+.

1. Fork this repository to your own GitHub account.
2. Clone the repository to your local device.
3. Create a new branch `git checkout -b BRANCH_NAME`.
4. Change code then run examples.
4. Change code then run our examples.

```bash
deno run -A --unstable --import-map=import_map.json cli.ts ./examples/hello-world -L debug
# ssr
deno run -A --unstable --import-map=import_map.json cli.ts dev ./examples/hello-world -L debug
# ssg
deno run -A --unstable --import-map=import_map.json cli.ts build ./examples/hello-world -L debug
```

## Testing

Run all tests:

```bash
deno test -A --unstable
deno test -A
```

## Contributing to Documentation
## Project Structure

- **/cli** command code
- **/compiler** compiler in rust with swc
- **/framework** framework code
- **/design** design drawings and assets
- **/examples** examples
- **/plugins** official plugins
- **/server** server code
- **/shared** shared code
- **/test** testings
- **/vendor** packages from npm

You are welcome to improve our [documentation](https://alephjs.org/docs).
## Code of Conduct

All contributors are expected to follow our [Code of Conduct](CODE_OF_CONDUCT.md).
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2020 postUI Lab.
Copyright (c) 2020-2021 postUI Lab.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Aleph.js works in **Deno**, a *simple*, *modern* and *secure* runtime for JavaSc
import React from "https://esm.sh/[email protected]"
import Logo from "../components/logo.tsx"

export default function Home() {
export default function App() {
return (
<div>
<Logo />
Expand All @@ -33,6 +33,7 @@ export default function Home() {

- Zero Config
- Typescript in Deno
- High Performance Comilper
- ES Module Ready
- Import Maps
- HMR with Fast Refresh
Expand Down
233 changes: 0 additions & 233 deletions aleph.ts

This file was deleted.

Loading