Compare commits

...

3 Commits

Author SHA1 Message Date
Géry Debongnie d615ffd81b [REL] v1.0.13
# Owl v1.0.13

## Bug fixes

- fix: slots: prevent infinite loop in some cases
2020-10-26 08:32:05 +01:00
Géry Debongnie 8d2b250fef [FIX] slots: prevent infinite loop in some cases
The reviewer for the commit on named slots inside named slots did not
notice that there was an infinite loop.  Because of his sloppiness, Owl
could block in an infinite loop when a named t-slots was defined inside
a subcomponent, but not as a direct child.
2020-10-23 12:14:46 +02:00
aab-odoo 7626cc01b3 [IMP] rollup: properly indent generated files (#774)
Also lint rollup.config.js
2020-10-22 13:58:10 +02:00
7 changed files with 48 additions and 13 deletions
+1 -1
View File
@@ -121,7 +121,7 @@ npm install @odoo/owl
If you want to use a simple `<script>` tag, the last release can be downloaded here:
- [owl-1.0.12](https://github.com/odoo/owl/releases/tag/v1.0.12)
- [owl-1.0.13](https://github.com/odoo/owl/releases/tag/v1.0.13)
## License
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@odoo/owl",
"version": "1.0.12",
"version": "1.0.13",
"description": "Odoo Web Library (OWL)",
"main": "dist/owl.cjs.js",
"browser": "dist/owl.iife.js",
+1 -1
View File
@@ -1,6 +1,6 @@
# 🦉 OWL Roadmap 🦉
- Current version: 1.0.12
- Current version: 1.0.13
- Status: stable
This roadmap is only an attempt at predicting Owl's future. Everything may
+10 -9
View File
@@ -3,26 +3,26 @@ import git from "git-rev-sync";
import typescript from 'rollup-plugin-typescript2';
import { terser } from "rollup-plugin-terser";
const name = "owl"
const extend = true
const name = "owl";
const extend = true;
/**
* Meta data to be added on the __info__ object.
* Meta data to be added on the __info__ object.
* Used to let external tools know the current owl version.
*/
const outro = `
const outro = `
__info__.version = '${pkg.version}';
__info__.date = '${new Date().toISOString()}';
__info__.hash = '${git.short()}';
__info__.url = 'https://github.com/odoo/owl';
`
`;
/**
* Generate from a string depicting a path a new path for the minified version.
* @param {string} pkgFileName file name
* @param {string} pkgFileName file name
*/
function generateMinifiedNameFromPkgName(pkgFileName) {
const parts = pkgFileName.split('.')
const parts = pkgFileName.split('.');
parts.splice(parts.length - 1, 0, "min");
return parts.join('.');
}
@@ -40,8 +40,9 @@ function getConfigForFormat(format, generatedFileName, minified = false) {
name: name,
extend: extend,
outro: outro,
plugins: minified ? [terser()] : []
}
plugins: minified ? [terser()] : [],
indent: ' ', // indent with 4 spaces
};
}
export default {
+1
View File
@@ -436,6 +436,7 @@ QWeb.addDirective({
isInSubComponent = true;
break;
}
el = el.parentElement;
}
if (isInSubComponent) {
continue;
+33
View File
@@ -1052,4 +1052,37 @@ describe("t-slot directive", () => {
"<div><child><p>Ablip</p>default2<child>default1<p>Bblip</p></child></child></div>"
);
});
test("named slot inside slot, part 3", async () => {
class Child extends Component {
static template = xml`
<div>
<t t-slot="brol"/>
<t t-slot="default"/>
</div>`;
}
class Parent extends Component {
static template = xml`
<div>
<Child>
<t t-set-slot="brol">
<p>A<t t-esc="value"/></p>
</t>
<Child>
<t>
<t t-set-slot="brol">
<p>B<t t-esc="value"/></p>
</t>
</t>
</Child>
</Child>
</div>`;
static components = { Child };
value = "blip";
}
const parent = new Parent();
await parent.mount(fixture);
expect(fixture.innerHTML).toBe("<div><div><p>Ablip</p><div><p>Bblip</p></div></div></div>");
});
});
+1 -1
View File
@@ -87,7 +87,7 @@ async function startRelease() {
// ---------------------------------------------------------------------------
log('Step 7/${STEPS}: Creating the release...');
log(`Step 7/${STEPS}: Creating the release...`);
const relaseResult = await execCommand(`gh release create v${next} dist/*.js ${draft} -F release-notes.md`);
if (relaseResult !== 0) {
log("github release failed. Aborting.");