Skip to content

Commit 2d9fa1c

Browse files
authored
Merge pull request #184 from sugarlabs/develop
Release v4.1.0
2 parents 717c8ed + 799e6d4 commit 2d9fa1c

File tree

13 files changed

+549
-285
lines changed

13 files changed

+549
-285
lines changed

src/CHANGELOG.md renamed to CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 4.1.0 [2022-03-05]
4+
5+
- Updates README text.
6+
- Adds the feature to author programs in the _Editor_ using _YAML_.
7+
- Updates vulnerable dependent package `url-parse` version.
8+
39
## 4.0.1 [2022-02-15]
410

511
- Updates core dependency `musicblocks-v4-lib` version from `1.0.1` to prerelease `0.2.0`.

README.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ of ideas (Sugar Labs is a meritocracy)._
172172

173173
## Tech Stack
174174

175-
Music Blocks v4 shall be built using `TypeScript 4`and `React 17 (with hooks)`. In addition, `SCSS`
175+
Music Blocks v4 shall be built using `TypeScript 4` and `React 17 (with hooks)`. In addition, `SCSS`
176176
shall be used for styling; `Webpack` will be configured to transpile and bundle the source code, for
177177
deployment on a web browser.
178178

@@ -181,7 +181,7 @@ deployment on a web browser.
181181
### Without Docker
182182

183183
This is a _**TypeScript**_ project that uses _**React**_. You'll just need
184-
_[**Node.js**](https://nodejs.org/en/)_ and _**npm**_ installed on your development machine_.
184+
_[**Node.js**](https://nodejs.org/en/) v16_ and _**npm**_ installed on your development machine.
185185
Although, this is sufficient to run, build, and test the project as a whole, you might need some
186186
extra tools for other development tasks.
187187

@@ -209,11 +209,11 @@ node -v && npm -v && tsc -v && ts-node -v && http-server -v
209209
Output should look like
210210

211211
```bash
212-
v14.17.0
213-
6.14.13
214-
Version 4.3.2
215-
v10.0.0
216-
v0.12.3
212+
v16.14.0
213+
8.3.1
214+
Version 4.6.2
215+
v10.6.0
216+
v14.1.0
217217
```
218218

219219
### With Docker
@@ -241,13 +241,13 @@ Windows) this repository using
241241
4. Build _docker image_ and launch _docker network_.
242242

243243
_**Note:**_ A
244-
[built initial development image](https://github.com/sugarlabs/musicblocks-v4/pkgs/container/musicblocks/2948273?tag=4.0.0-dev)
244+
[built initial development image](https://github.com/sugarlabs/musicblocks-v4/pkgs/container/musicblocks/16217005?tag=4-dev)
245245
has been published to
246246
[_Sugar Labs GitHub Container Registry_ (_GHCR_)](https://github.com/orgs/sugarlabs/packages?ecosystem=container),
247247
which can be pulled directly, so you don't have to build it again. Pull using
248248

249249
```bash
250-
docker pull ghcr.io/sugarlabs/musicblocks:4.0.0-dev
250+
docker pull ghcr.io/sugarlabs/musicblocks:4-dev
251251
```
252252

253253
Nagivate inside the project directory and launch the _docker network_ using
@@ -270,11 +270,11 @@ Windows) this repository using
270270
5. In a second terminal, run
271271
272272
```bash
273-
docker attach musicblocks-4.0.0-dev
273+
docker attach musicblocks-4-dev
274274
```
275275
276-
The _Alpine shell_ in the _docker container_ named _musicblocks-4.0.0-dev_ is spawned and
277-
standard input/output is connected to the terminal.
276+
The _Alpine shell_ in the _docker container_ named _musicblocks-4-dev_ is spawned and standard
277+
input/output is connected to the terminal.
278278
279279
6. _**Node.js**_ (_Node.js Runtime_), _**npm**_ (_Node.js Package Manager_), _**tsc**_ (_TypeScript
280280
Compiler_), _**ts-node**_ (_Node.js executable for TypeScript_), and _**http-server**_ (_a HTTP
@@ -287,11 +287,11 @@ Windows) this repository using
287287
Output should look like
288288
289289
```bash
290-
v14.17.0
291-
6.14.13
292-
Version 4.3.2
293-
v10.0.0
294-
v0.12.3
290+
v16.14.0
291+
8.3.1
292+
Version 4.6.2
293+
v10.6.0
294+
v14.1.0
295295
```
296296
297297
7. To shut down the _docker network_, run (in the terminal where you ran `docker-compose up -d` or
@@ -357,8 +357,6 @@ After you are set-up, the steps you take depend on what you want to do:
357357
on host. Visit `localhost:5000` in a browser to view the web page served. If you are not
358358
using the container, visit `localhost:3000`.
359359

360-
Currently this will open a page with a "Hello world!" message.
361-
362360
- For testing, run
363361

364362
```bash

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ version: "3.8"
22
services:
33
musicblocks:
44
build: ./
5-
image: ghcr.io/sugarlabs/musicblocks:4.0.0-dev
5+
image: ghcr.io/sugarlabs/musicblocks:4-dev
66
env_file:
77
- ./env/development.env
88
ports:
99
- "5000:3000"
1010
- "5001:80"
1111
volumes:
1212
- ./:/app/
13-
container_name: musicblocks-4.0.0-dev
13+
container_name: musicblocks-4-dev
1414
stdin_open: true
1515
tty: true

package-lock.json

Lines changed: 24 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "musicblocks",
3-
"version": "4.0.1",
3+
"version": "4.1.0",
44
"description": "A complete overhaul of Music Blocks",
55
"private": true,
66
"repository": {
@@ -22,6 +22,7 @@
2222
"@types/jest": "^27.4.0",
2323
"@types/jquery": "^3.5.8",
2424
"@types/jqueryui": "^1.12.16",
25+
"@types/js-yaml": "^4.0.5",
2526
"@types/node": "^16.11.21",
2627
"@types/p5": "^1.3.3",
2728
"@types/react": "^17.0.38",
@@ -47,6 +48,7 @@
4748
"dependencies": {
4849
"@sugarlabs/musicblocks-v4-lib": "^0.2.0",
4950
"jquery": "^3.6.0",
51+
"js-yaml": "^3.14.1",
5052
"p5": "^1.4.0",
5153
"react": "^17.0.2",
5254
"react-dom": "^17.0.2",

src/components/editor/@types/index.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/** Reresents a literal code argument. */
2+
export type ICodeArgumentLiteral = boolean | number | string;
3+
4+
/** Represents the interface for a code argument snapshot object. */
5+
export interface ICodeArgumentObj {
6+
[key: string]: ICodeArgumentLiteral | ICodeArgumentObj;
7+
}
8+
9+
/** Represents the interface for a code argument element. */
10+
export type ICodeArgument = ICodeArgumentLiteral | ICodeArgumentObj;
11+
12+
/** Represents the interface for a code instruction element object. */
13+
export interface ICodeInstructionObj {
14+
[instruction: string]: ICodeArgument;
15+
}
16+
17+
/** Represents the interface for a code instruction element. */
18+
export type ICodeInstruction = string | ICodeInstructionObj;

0 commit comments

Comments
 (0)