Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

update fastboot #1

Merged
merged 146 commits into from
Feb 20, 2020
Merged
Changes from 2 commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
fb8e4b5
Extend FastBoot.config to read other provided config as well.
kratiahuja Aug 27, 2017
fadd166
Merge pull request #164 from ember-fastboot/config-tree
rwjblue Sep 20, 2017
5adeca4
Update dependencies to latest versions.
rwjblue Sep 20, 2017
3cbb937
Update CHANGELOG.md for 1.1.0.
rwjblue Sep 20, 2017
634813c
v1.1.0
rwjblue Sep 20, 2017
78bfb53
chore(package): update mocha to version 4.0.0
greenkeeper[bot] Oct 3, 2017
28ad4c8
fix(package): update rsvp to version 4.7.0
greenkeeper[bot] Oct 3, 2017
2347102
Merge pull request #168 from ember-fastboot/greenkeeper/rsvp-4.7.0
rwjblue Oct 3, 2017
6d7c187
Merge pull request #167 from ember-fastboot/greenkeeper/mocha-4.0.0
rwjblue Oct 5, 2017
e981f63
fix(package): update source-map-support to version 0.5.0
greenkeeper[bot] Oct 3, 2017
1df77df
Allow body attributes
ef4 Oct 25, 2017
20bbbc3
Merge pull request #171 from ef4/body-attributes
ef4 Oct 26, 2017
2825781
Save users from trolling
cibernox Nov 10, 2017
b3c1064
Implement `unknownProperty` in FastbootHeaders to prevent users from …
cibernox Nov 10, 2017
96b5058
Merge pull request #173 from cibernox/save-users-from-trolling
rwjblue Nov 10, 2017
ebd08a9
Update Changelog`
kratiahuja Nov 11, 2017
8a408f6
1.1.1
kratiahuja Nov 11, 2017
cfad9b7
response chunks - super naive approach
marcoow Nov 21, 2017
31a338e
cleanup
marcoow Nov 22, 2017
6ad2029
assert well formed document
marcoow Nov 22, 2017
c66b7c7
fix code for Node 4
marcoow Nov 22, 2017
f9a4df2
don't fail in resilient mode
marcoow Nov 22, 2017
380ba7e
chore(package): update ember-source to version 2.17.0
greenkeeper[bot] Nov 29, 2017
9ea6d87
Merge pull request #176 from simplabs/response-chunks
kratiahuja Nov 29, 2017
4e4027c
Merge pull request #177 from ember-fastboot/greenkeeper/ember-source-…
kratiahuja Nov 29, 2017
6f7296f
1.1.2
kratiahuja Nov 30, 2017
f1b157d
Update changelog
kratiahuja Nov 30, 2017
4ca3ca0
Allow html attributes
Jan 9, 2018
6f92064
Add markers before and after the body to be able to remove rootless apps
cibernox Jan 17, 2018
f17668a
Merge pull request #181 from cibernox/wrap-content-in-markers
rwjblue Jan 17, 2018
1a016c9
chore(package): update mocha to version 5.0.0
greenkeeper[bot] Jan 18, 2018
38d64ad
Update changelog
kratiahuja Jan 18, 2018
3b752ff
1.1.3
kratiahuja Jan 18, 2018
ac5911f
Allow enviroment set _renderMode to be used in Visit
rondale-sc Feb 22, 2018
4cc38c6
Merge pull request #185 from rondale-sc/utilize-rehydration-serializa…
rwjblue Mar 8, 2018
be88b6c
1.1.4-beta.1
kratiahuja Mar 11, 2018
4568734
Update changelog
kratiahuja Mar 11, 2018
b684123
Merge pull request #180 from SergeAstapov/html-attributes
rwjblue May 27, 2018
ac86992
Add 1.2.0 to CHANGELOG.
rwjblue May 27, 2018
251c252
Remove `package-lock.json` (shouldn't have both it and yarn.lock).
rwjblue May 27, 2018
19bb471
Add yarn.lock to .npmignore.
rwjblue May 27, 2018
5a42df5
v1.2.0
rwjblue May 27, 2018
c79fb5c
Normalize headers to lower case
ryanto Jun 16, 2018
e8e570d
Merge pull request #189 from ryanto/normalize-headers
kratiahuja Jul 11, 2018
3a5042d
Moved script tag of fastboot-body-start boundary in _finalizeHTML method
dnalagatla Sep 11, 2018
f61ab1b
Merge pull request #194 from dnalagatla/dnalagatla/update_body_in_dom…
kratiahuja Sep 11, 2018
8562d2d
release v1.2.1 🎉
stefanpenner Sep 17, 2018
411ea83
Fixed small typo
kiwiupover Sep 27, 2018
e5c777d
Merge pull request #197 from kiwiupover/patch-1
rwjblue Sep 27, 2018
ea3b8e7
fix(package): update debug to version 4.1.0
greenkeeper[bot] Oct 8, 2018
0ec6425
Remove usage of deprecated exists-sync
SergeAstapov Nov 21, 2018
ec33ae8
Update Node.js support matrix
bobisjan Nov 21, 2018
2269148
Remove .babelrc configuration file
bobisjan Nov 21, 2018
eeccf23
Merge pull request #203 from zonkyio/remove-babelrc
rwjblue Nov 21, 2018
5d14cf5
Merge pull request #201 from SergeAstapov/remove-exists-sync
rwjblue Nov 21, 2018
b79df75
Merge pull request #202 from zonkyio/node-support-update
rwjblue Nov 21, 2018
f51adc5
Merge branch 'master' into greenkeeper/debug-4.1.0
kratiahuja Nov 21, 2018
708e8da
Allow to require module path from whitelisted dependency
bobisjan Oct 28, 2018
4516747
Merge pull request #200 from zonkyio/require-module-path
kratiahuja Nov 29, 2018
f4d8983
Merge pull request #204 from ember-fastboot/greenkeeper/debug-4.1.0
kratiahuja Nov 29, 2018
4bd6d04
Add yarn.lock.
rwjblue Dec 10, 2018
7a227e6
Update minimum version of simple-dom to 1.4.0.
rwjblue Dec 10, 2018
b45654b
Merge pull request #206 from rwjblue/update-simple-dom
rwjblue Dec 10, 2018
5ba47fa
v1.2.1 package upgrades
izelnakri Jun 7, 2018
e803519
Merge pull request #188 from izelnakri/master
rwjblue Dec 10, 2018
d734ffe
Add lerna-changelog for changelog generation.
rwjblue Dec 10, 2018
1c484c3
Add 2.0.0 to changelog.
rwjblue Dec 10, 2018
8dc7404
2.0.0
rwjblue Dec 10, 2018
3cc767b
Fix to run all tests
kratiahuja Dec 17, 2018
b467f9b
Merge pull request #208 from ember-fastboot/fix-tests
kratiahuja Dec 17, 2018
8128c6b
Add Eslint to this project
kratiahuja Dec 18, 2018
cafd96c
Merge pull request #210 from ember-fastboot/add-eslint
kratiahuja Dec 19, 2018
a34d17f
Fix package.json preversion command
kratiahuja Dec 20, 2018
9d6e0be
Merge pull request #211 from ember-fastboot/fix-package.json
kratiahuja Dec 20, 2018
39a9d66
2.0.1
kratiahuja Dec 20, 2018
3ec09d9
chore(package): update ember-source to version 3.8.0
greenkeeper[bot] Feb 18, 2019
4c85adc
chore(package): update lockfile yarn.lock
greenkeeper[bot] Feb 18, 2019
d4bf21a
Merge pull request #213 from ember-fastboot/greenkeeper/ember-source-…
rwjblue Feb 19, 2019
aa752f7
Fix an incorrect `debug()` call
CvX Apr 28, 2019
7ec19e5
Fix an incorrect `debug()` call (#219)
rwjblue Apr 29, 2019
a2ecaa7
fix(package): update cookie to version 0.4.0
greenkeeper[bot] May 16, 2019
37e54c1
chore(package): update lockfile yarn.lock
greenkeeper[bot] May 16, 2019
57a7633
Merge pull request #222 from ember-fastboot/greenkeeper/cookie-0.4.0
rwjblue May 17, 2019
f97e82e
update node engines to match node versions we are testing against
kiwiupover Jul 12, 2019
f081bd4
drop node 6 and add node 12
kiwiupover Jul 12, 2019
3a618d6
Restore allowing fallback require from working directory
xg-wang Jul 23, 2019
cbafed0
Update readme for npm install in dist
xg-wang Jul 23, 2019
31e0aab
fallback require only for MODULE_NOT_FOUND
xg-wang Jul 24, 2019
a0b5ea2
Update node engines to match node versions we are testing against (#225)
rwjblue Jul 26, 2019
e461dd8
Merge pull request #227 from xg-wang/require
kratiahuja Aug 5, 2019
e3fe7ae
add Fastboot.distPath
stefanpenner Sep 11, 2019
96eabc8
Merge pull request #229 from ember-fastboot/fastboot-dist-path
stefanpenner Sep 11, 2019
0cbf3c3
General cleanup; ES<latest>ification.
rwjblue Oct 24, 2019
dbe14cf
Add prettier setup.
rwjblue Oct 24, 2019
582296c
eslint . --fix
rwjblue Oct 24, 2019
ec02ca6
Fix remaining linting errors.
rwjblue Oct 24, 2019
2500c23
Fix test using `Promise.prototype.finally` in Node 8.
rwjblue Oct 24, 2019
99c6f4d
General repo cleanup. (#231)
rwjblue Oct 24, 2019
9a3243f
Make a single `Sandbox` base class.
rwjblue Oct 24, 2019
a65af2e
Merge pull request #232 from rwjblue/merge-sandbox
rwjblue Oct 25, 2019
854e249
Update dependencies/devDependencies to latest.
rwjblue Oct 25, 2019
f551550
Update dependencies/devDependencies to latest. (#233)
rwjblue Oct 25, 2019
b63b687
Remove `rsvp` dependency.
rwjblue Oct 25, 2019
3b13ce1
Remove `rsvp` dependency. (#234)
rwjblue Oct 25, 2019
a7dc5fb
Document `reload` method.
rwjblue Oct 25, 2019
90a378c
Document `reload` method. (#235)
rwjblue Oct 25, 2019
43f39ef
Add dev script to make tracing easier.
rwjblue Oct 27, 2019
749a4c7
Merge pull request #237 from rwjblue/add-dev-scripts
rwjblue Oct 27, 2019
0c1b2c1
Add basic memory profiling script to `dev/` folder.
rwjblue Oct 29, 2019
5ad17de
Add basic memory profiling script to `dev/` folder. (#238)
rwjblue Oct 29, 2019
97aad84
Make a vm context per visit.
rwjblue Oct 25, 2019
8789fc5
Remove ability to provide custom sandbox class.
rwjblue Oct 25, 2019
1ff2b24
Share script bytecode across vm contexts.
rwjblue Oct 26, 2019
da6bbbb
Refactor `visitRoute` to an async function.
rwjblue Oct 26, 2019
edeeb8f
Remove remains of `this.app` on `src/ember-app.js`
rwjblue Oct 30, 2019
ec2b32d
Refactor destruction (`Ember.Application` and `Ember.ApplicationInsta…
rwjblue Oct 30, 2019
148a75c
Evaluate dist files upon `new FastBoot`
rwjblue Oct 30, 2019
b67703f
Failing test: Add test showing prototype mutation leaking across visi…
rwjblue Oct 30, 2019
0893cec
Failing test: Ember.onerror setup via instance initailizer leaks acro…
rwjblue Oct 30, 2019
53ee52e
Ensure that destroyAppInstanceInMs does not throw if completed
rwjblue Oct 30, 2019
cf0f451
Refactor to use a single sandboxed context per visit request. (#236)
rwjblue Oct 30, 2019
6349fcc
Add automated release setup.
rwjblue Oct 30, 2019
2e261c4
Add automated release setup. (#243)
rwjblue Oct 30, 2019
85a3666
Release 3.0.0-beta.1
rwjblue Oct 30, 2019
cb8bf0e
Remove ember-source from devDependencies.
rwjblue Oct 31, 2019
4e03960
Merge pull request #248 from rwjblue/remove-explicit-ember-dependency
rwjblue Oct 31, 2019
297ff53
Refactor sandboxGlobals -> buildSandboxGlobals
rwjblue Oct 31, 2019
ed9b9d1
Refactor sandboxGlobals -> buildSandboxGlobals (#245)
rwjblue Nov 1, 2019
bab91cf
Remove najax from default set of sandbox globals.
rwjblue Oct 31, 2019
b8e8690
Merge pull request #247 from rwjblue/remove-najax
rwjblue Nov 1, 2019
30af94b
Release 3.0.0-beta.2
rwjblue Nov 1, 2019
909e714
Fix invalid syntax with deferRendering.
rwjblue Nov 1, 2019
beda093
Fix invalid syntax with deferRendering. (#250)
rwjblue Nov 1, 2019
1d0e4c8
Release 3.0.0-beta.3
rwjblue Nov 1, 2019
8b953b5
Expose option to allow a new sandbox per visit
rwjblue Nov 4, 2019
3b28a2e
Update documentation for `buildSandboxPerVisit` option.
rwjblue Jan 31, 2020
d096682
Drop Node 8 support.
rwjblue Jan 31, 2020
d0b9013
Expose option to allow a new sandbox per visit (#252)
rwjblue Jan 31, 2020
a948965
Merge pull request #258 from rwjblue/drop-node-8
rwjblue Jan 31, 2020
baecb8c
Update chalk to 3.x.
rwjblue Jan 31, 2020
5e063b2
Update source-map-support.
rwjblue Jan 31, 2020
737a3a2
Update minimum resolve to latest version.
rwjblue Jan 31, 2020
13651e6
Update devDependencies to latest version.
rwjblue Jan 31, 2020
949fa69
Fix linting RE: `inspector` module.
rwjblue Jan 31, 2020
ea2e6fc
Merge pull request #259 from rwjblue/update-deps
rwjblue Jan 31, 2020
31b8a5b
Release 3.0.0
rwjblue Jan 31, 2020
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
16 changes: 14 additions & 2 deletions src/result.js
Original file line number Diff line number Diff line change
@@ -42,7 +42,7 @@ class Result {
}
}

return insertIntoIndexHTML(this._html, this._head, this._body);
return insertIntoIndexHTML(this._html, this._head, this._body, this._bodyAttributes);
}

/**
@@ -109,6 +109,12 @@ class Result {
let head = this._doc.head;
let body = this._doc.body;

if (body.attributes.length > 0) {
this._bodyAttributes = HTMLSerializer.attributes(body.attributes);
} else {
this._bodyAttributes = null;
}

if (head) {
head = HTMLSerializer.serializeChildren(head);
}
@@ -124,7 +130,7 @@ function missingTag(tag) {
return Promise.reject(new Error(`Fastboot was not able to find ${tag} in base HTML. It could not replace the contents.`));
}

function insertIntoIndexHTML(html, head, body) {
function insertIntoIndexHTML(html, head, body, bodyAttributes) {
if (!html) { return Promise.resolve(html); }
let isBodyReplaced = false;
let isHeadReplaced = false;
@@ -140,6 +146,12 @@ function insertIntoIndexHTML(html, head, body) {
return '';
});

if (bodyAttributes) {
html = html.replace(/<body[^>]*/i, function(match) {
return match + ' ' + bodyAttributes;
});
}

if (head && !isHeadReplaced) {
return missingTag('<!--EMBER_CLI_FASTBOOT_HEAD-->');
}
12 changes: 12 additions & 0 deletions test/fastboot-test.js
Original file line number Diff line number Diff line change
@@ -87,6 +87,18 @@ describe("FastBoot", function() {
});
});

it("outputs body attributes from the fastboot app", function() {
var fastboot = new FastBoot({
distPath: fixture('custom-body-attrs')
});

return fastboot.visit('/')
.then(r => r.html())
.then(html => {
expect(html).to.match(/<body data-foo=1 +class="it-works"/);
});
});

it("can serialize the head and body", function() {
var fastboot = new FastBoot({
distPath: fixture('basic-app')
Loading