Giter Club home page Giter Club logo

modules's People

Contributors

8kdesign avatar angelsl avatar anonymxtrix avatar anthony-halim avatar chang-ch avatar cloud7050 avatar dependabot[bot] avatar geshuming avatar gok99 avatar hou-rui avatar houruomu avatar joelchanzhiyang avatar joeng03 avatar larrywang0701 avatar leeyi45 avatar marcustxk avatar martin-henz avatar mfjkri avatar montypython28 avatar richdom2185 avatar sayomaki avatar sciffany avatar solarrabbit99 avatar srj31 avatar stanleyneoh avatar tituschewxj avatar violinyap avatar yeluriketan avatar yongbeom-kim avatar yongxiangng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

modules's Issues

[MODULES]: wrong names are silently ignored

Prerequisites

Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Expected Behavior

Importing of wrong names should give an error.

Current Behavior

Wrong names are silently ignored. The name is get_wave, not fetch_wave:

Screenshot 2021-07-09 at 3 25 16 PM

Failure Information (for bugs)

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

See above

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Current sourceacademy.org, Chrome on macOS.

Failure Logs

see above

[CURVE and RUNE]: drawing should not depend on evaluation result

Feature

import {draw_connected_full_view, unit_circle } from "curve";
draw_connected_full_view(500)(unit_circle);
0;

should draw the circle. Currently the drawers only draw when the result of the evaluation is a drawing. With the separate curve window, we can eliminate this hack.

[CURVE]: wrong module name and import not working

Prerequisites

Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Expected Behavior

Gallery entry in Developer documentation
https://github.com/source-academy/modules/wiki/%5Bcurve%5D-Developer-Documentation
should work

Current Behavior

Bugs as follows.

Failure Information (for bugs)

Screenshot 2021-06-27 at 1 32 05 PM

then you get:

Screenshot 2021-06-27 at 1 35 51 PM

should be "curve" not "curves"

After correcting this, the import fails:

Screenshot 2021-06-27 at 1 36 11 PM

Steps to Reproduce

see above

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Version used: currently deployed Source Academy: https://sourceacademy.org/
  • Browser Name and version: Chrome
  • Operating System and version (desktop or mobile): MacOS Big Sur

Failure Logs

see above

[WIKI]: Documentation for RollupJS bundler

Feature

Ever since the introduction of our module bundler RollupJS, I feel that documenting in the code alone is insufficient. We should include a page in the wiki to explain the choices and the build flow (eg. TypeScript -> ESNext -> ES2015) and the intermediate steps within the bundler system (eg. CopyFilePlugin and Polyfills).

Checklist

  • I checked the documentation and found that it does not already exist
  • I checked to make sure that this issue has not already been filed

[pix_n_flix]: Importing sound in addition to pix_n_flix crashes the frontend

Prerequisites

Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Expected Behavior

This should work:

import {} from "sound";

import { start } from "pix_n_flix";

start();

Current Behavior

It crashes the frontend.

Failure Information (for bugs)

https://share.sourceacademy.nus.edu.sg/lc0d3

Steps to Reproduce

Just presss "Run".

Context

Failure Logs

Add eslint and prettier for code validation and formatting to the modules repository

ESLint provides JavaScript linting and analyzes the modules' code for errors. This linter will help to enforce rules that modules need to conform to. Furthermore, it will provide a better developer experience for the cadets.

Prettier is there to format code, especially line endings (just use LF) which can lead to commits that modify entire files (and therefore lose the git blame).

[SOUND]: play_concurrently vs play return types

Expected Behavior

play() and play_concurrently() should both spawn sound tab if either of which is the last statement of the program, regardless of which to store as the downloadable audio file.

Current Behavior

play() returns AudioPlayed while play_concurrently() is purely a consumer. Hence, no sound tab is spawned.

Steps to Reproduce

  1. Proceed to source academy deployment playground
  2. Paste the following code in:
import {
    play,
    play_concurrently,
    noise_sound
} from "sound";

play(noise_sound(0.5));
play_concurrently(noise_sound(0.5));
  1. Click on Run

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Version used: master branch
  • Browser Name and version: Google Chrome (Version 91.0.4472.114)
  • Operating System and version (desktop or mobile): macOS Catalina

[rune] Inaccurate Rune rotate() rad param documentation

In the Rune module docs, rotate() takes two params - rad and rune. It states that rad should be a "fraction between 0 and 1", which is the same documented text as the stack/beside/overlay_frac functions' frac params.

However, the method itself is said to "[rotate] a given Rune by a given angle, given in radians, in anti-clockwise direction". I have found that supplying 2 * math_PI rads is a full rotation, and numbers higher than that also work.

[CURVE]: 3D and 2D draw functions do not differentiate between 3D and 2D points

Prerequisites

Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Expected Behavior

2D Draw methods should throw an error when passed a 3D curve, and 3D draw methods should throw
an error when passed a 2D curve.

Current Behavior

The 2D draw methods like draw_connected accept 3D points created by make_3D_point, and
3D draw methods like draw_3D_connected accept 2D points created by make_2D_point.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

import { draw_connected, draw_3D_connected, make_point, make_3D_point } from 'curve';

draw_connected(200)(t => make_3D_point(t, t, t)); // works with no error
draw_3D_connected(200)(t => make_point(t, t)); // works with no error

[binary_tree]: wrongly named "binary_trees" in documentation

Prerequisites

Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Expected Behavior

The documention (wiki and module documentation) should use the proper name: binary_tree

Current Behavior

It is called binary_trees (with "s")

Importing modules in assessments

The current mission format allows us to select from a fixed set of libraries, such as TWO_DIM_RUNES, as in

    <DEPLOYMENT interpreter="2">
        <EXTERNAL name="TWO_DIM_RUNES">
            <SYMBOL>beside</SYMBOL>
            <SYMBOL>make_cross</SYMBOL>
            ...

These libraries are currently hard-wired into the Source Academy frontend. I suggest that we instead use JavaScript modules that we take from a folder lib in this assessments repository. More specifically, the IMPORT tag will include a relative path that is extended by the Source Academy to a full path to the master assessment repository of the Source Academy github organization.

Example:

    <DEPLOYMENT interpreter="2">
        <IMPORT module="cs1101s_1920/two_dim_runes">
            <SYMBOL>beside</SYMBOL>
            <SYMBOL>make_cross</SYMBOL>

This assessment would load the following module:

https://github.com/source-academy/assessments/tree/master/lib/cs1101s_1920/two_dim_runes.js

as if it was imported as follows:

import { beside, make_cross } from 'two_dim_runes';

assuming that the module two_dim_runes is written like this:

export function beside(x, y) {
    return ...;
}
export function make_cross(x) {
    return ...;
}

Views?

[Tabs]: Spawn Tab does not change name when modules are changed

Not sure if this issue is related to previous issue, but when I change the module I'm importing from, the spawn tab's tag does not change. For example. if I import something from repeat module, then import from another module, the spawn tab's tag remains as Repeat Test Tab.

Screenshot 2021-03-22 at 1 29 16 PM

Screenshot 2021-03-22 at 1 29 57 PM

Maybe this issue is related to the previous one and would be fixed simultaneously.

Edit: other spawn tab bugs
Screenshot 2021-03-22 at 1 50 35 PM

  • I cannot concurrently import 2 modules.
  • The functions from the 2nd modules are all undefined.
  • 2 Spawn tabs appear but both have the same tag (Repeat Test Tab)
  • 2nd spawn tab is unclickable

[Modules]: Create a setting for module authors to limit the Source evaluation mode

Source Module evaluationMode setting

After looking at the developer documentation for Source Module rpc, I realised that it may be essential for Source Module developers to have some control over the mode of evaluation by the Source Interpreter js-slang.

I'm proposing a field evaluationMode in modules.json that can be set to either all, interpreter or transpiler which will be checked in the module loader of js-slang which will either continue the module loading process or throw a corresponding error message.

ie.

{
  "rpc": {
    "evaluationMode": "all",
    "tabs": [ "Rpc" ]
  }
}

The updating of the evaluationMode field can be added into the Source Module command- line application.

Checklist

  • I checked the requested feature does not already exist
  • I checked to make sure that this issue has not already been filed

[WIKI]: Document using Source functions in modules

Feature

How can I use Source functions in the implementation of a module?

Maybe

import { array_length } from "sicp";

Checklist

  • I checked the requested feature does not already exist
  • I checked to make sure that this issue has not already been filed

[RUNE] Change repl string for runes which have been shown.

This is to communicate to students show(Rune) doesn't produce a rune, therefore the output does not go into things which require a Rune.

I propose something like the following:

class Rune {
    constructor() {
        this.drawMethod = '';
    }
    toReplString() {
        return this.drawMethod === '' ? '<RUNE>' : '<RENDERING>'
    }
}

[Rollup]: Wrong settings in resolve plugin causing some packages to not be compiled in browser environment

import firebase from "firebase/app";
import "firebase/firestore";

Expected Behavior

Using the code snippet above inside a bundle or a tab should compile into the expected IIFE function by rollup with no function parameters.

Current Behavior

However, the current compilation by rollup results in a function with many function parameters as shown in the picture below.
image

Failure Information (for bugs)

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Create a bundle and import firebase and firebase/firestore as shown in the code snippet above.
  2. Run the build command yarn build to see the output file in ./build/bundle/.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Version used: 69915ea
  • Browser Name and version: Chrome/89.0.4389.90
  • Operating System and version (desktop or mobile): Windows 10 Home version 1909

Failure Logs

N/A

[SICP]: add empty sicp module

Feature

The problem: We will prefix the SICP JS textbook programs with

import "sicp";

Those programs would work in Source Academy, if we have an empty module here.

Checklist

  • I checked the requested feature does not already exist
  • I checked to make sure that this issue has not already been filed

[PIX_N_FLIX]: Running without start() causes a crash;

Prerequisites

Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Expected Behavior

Source Academy does not crash

Current Behavior

What is the current behavior?

Source Academy crashes

Failure Information (for bugs)

image

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Head to Source Academy's playground
  2. Run the following code:
import {
	red_of,
	green_of,
	blue_of,
	alpha_of,
	set_rgba,
	copy_image,
	install_filter,
	reset_filter,
	video_height,
	video_width
} from "pix_n_flix";

[Curves]: Dependencies not exporting functions correctly

Prerequisites

I require "debounce" dependency for "three" and "three-react-fiber". The package supposedly exports "debounce" function as follows:

Screenshot 2021-03-29 at 3 38 50 PM

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Current Behavior

The project is unable to build.

Failure Information (for bugs)

Screenshot 2021-03-29 at 3 39 21 PM

Steps to Reproduce

  1. Checkout to graphics/three-react-fiber
  2. Run yarn install to install all additional dependencies required
  3. Run yarn build

Context

  • Version used: 753176e
  • Browser Name and version: N.A.
  • Operating System and version (desktop or mobile): macOS Catalina version 10.15.7

[Tabs]: Tabs not appearing when using Source interpreter to evaluate code

"enable verbose";

import { repeat } from "repeat";

repeat(x => x + 1);

Expected Behavior

When running the above code snippet, a side content tab should appear as shown in the image below.
image

Current Behavior

Nothing is rendered in the side content panel. The REPL shows the function output as expected.

Failure Information

Steps to Reproduce

  1. Run a local instance of Source Academy cadet-frontend with a local server serving the static modules' JavaScript files.
  2. Evaluate the code snippet provided at the top of this issue. (It will be evaluated using the Source interpreter)
  3. Encounter the error.

Context

  • Version used: a58c40a
  • Browser Name and version: Chrome/89.0.4389.90
  • Operating System and version (desktop or mobile): Windows 10 Home version 1909

Failure Logs

N/A

⚠ Update the modules repository documentation

With all the recent breaking changes to the modules repository, a detailed documentation of how to properly use it is needed. This is especially so for module development teams who are going to start to move their modules into our system.

  • Add more detailed instructions to serve modules locally for cadet-frontend to consume.
  • Add detailed instructions on how to create a new module using the template loader.
  • Create a documented section on the extent/limitations of the current module system.

[RUNE]: small bug in error message

(from @ZhengHanLee)
anaglyph(show(scale(0.5, overlay(scale(0.25, orange(circle)), circle)))); shows error message "Error: show expects a rune as argument." instead of "Error: anaglyph expects a rune as argument."

See #80.

[WIKI]: Documentation for Jest unit testing

Feature

Unit testing capabilities have been added to the modules repository in pull request #37. This new feature requires documentation on how to create tests and how the tests are involved in the deployment flow of our modules.

Checklist

  • I checked the documentation and found that it does not already exist
  • I checked to make sure that this issue has not already been filed

[Wiki]: Advanced Developer guide

Feature

Add a guide to teach creators of modules on how to pass functions from the bundle to the front end.
This is for more complex modules that require interactions with the tab's content (eg. curves, pixNFlix) or user interaction (eg. buttons)

Checklist

  • I checked the documentation and found that it does not already exist
  • I checked to make sure that this issue has not already been filed

[MODULES]: Load modules asynchronously

Feature

Is your feature request related to a problem? Please describe.

We need to load the module asynchronously and somehow indicate to the user that module loading is in progress. This should be analogous to Sling sending a program to the robot.

Describe the solution you'd like

When there is a module load, we should do the following upon Run:
(1) indicate that module loading is in progress
(2) load the module(s) asynchronously
(3) when (2) is successful, indicate that module loading is done
(3) run the program

While (2) is under way, the user should be able to interact with the system.

Checklist

  • I checked the requested feature does not already exist
  • I checked to make sure that this issue has not already been filed

rune: Function resulting in deep call stack fails multiple times before succeeding

Attempting to run the following snippet multiple times will result in Maximum call stack size exceeded (at least on Chrome 84), but repeated attempts will eventually result in successful execution (usually 5 times, but sometimes a bit more).

Note that this program will likely cause your JS engine to run out of memory too.. but that might be a separate issue entirely. You'll know that it's running once the tab hangs.

function hook(frac) {
    return beside_frac(
        1 - frac,
        stack(square, blank),
        square);
}

function spiral(thickness, depth) {
    return depth === 0
        ? blank
        : stack_frac(
            thickness,
            hook(thickness * 0.5),
            quarter_turn_right(spiral(thickness, depth - 1)));
}

function fractal(pic, n) {
    return n === 1
        ? pic
        : beside(
            pic,
            fractal(stackn(2, pic), n - 1));
}
show(fractal(spiral(1/5, 1000), 15));

Interestingly enough, each failed attempt to run that snippet will result in the aforementioned error occurring at a different line number -- usually one of -1, 2, 3, 4, or 14.

Runes Library: Anaglyph and Hollusion renders an 'inverted'/ 'mirrored' rune

Expected Behavior

image

Current Behavior (inverted)

image

Steps to Reproduce

function cone(n, rune) {
    const scale_factor = (n-1)/n;
    return n === 0
        ? blank
        : overlay_frac(scale_factor, scale(scale_factor, cone(n-1, rune)), rune);
}

anaglyph(cone(4, nova));
// hollusion(cone(4, nova));

Context

Latest deployed master

Use of IMPORT for hidden prepended functions

Now that we have an IMPORT node, I think we can load symbols from external libraries so that we achieve the effect of prepending functions while hiding their implementation.

We can still keep the PREPEND node for prepend programs that do not need to be hidden.

[Modules]: Change `__params` into a global variable

Feature

Is your feature request related to a problem? Please describe.

I'm always frustrated when TypeDoc API generator requires functions/mock functions to be defined in functions.ts in the root directory of the Source Module Bundles.

I would like to change the default export function in Source Module Bundle's index.ts to regular export function ... for every function provided by the Source Module. The __params should be changed into a global variable (ie. __dirname).

Checklist

  • I checked the requested feature does not already exist
  • I checked to make sure that this issue has not already been filed

[COPYGC/MARKSWEEP]: Source Academy randomly crashes

Expected Behavior

Source Academy playground should be running smoothly.

Current Behavior

Currently, while using the copy_gc and mark_sweep modules, Source Academy randomly crashes.

Failure Information (for bugs)

Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Fetch the master branch from this remote.
  2. Checkout violin/modules/master to a new branch.
  3. Build and serve the modules using yarn build and yarn serve.
  4. Play around in playground until you encounter the error.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Version used: f9997c3
  • Browser Name and version: Chrome/89.0.4389.90
  • Operating System and version (desktop or mobile): Windows 10 Home version 1909

Failure Logs

image

[Corrective Sky Surgery Q3]: Incorrect array length returned

Prerequisites

Expected Behavior

Running display(array_length(src)) should return the height of the video/image.

Current Behavior

Correct values are only returned when HEIGHT is set between 300 and 500. For any values <300 or >500, display(array_length(src)) returns 300.

Failure Information (for bugs)

Steps to Reproduce

Run the code in Q3 of the mission: Expected result: 150, Actual result: 300

const WIDTH = 400;
const HEIGHT = 150;

function zoom(factor) {
    
    return (src, dest) => display(array_length(src));
}

install_filter(zoom(2));

set_dimensions(WIDTH, HEIGHT);
start();

Context

  • Version used: -
  • Browser Name and version: Firefox v93.0
  • Operating System and version (desktop or mobile): macOS Big Sur V11.6

[Repeat] Repeat function example has less args

The repeat module's repeat() function is said to take (func: Function, n: number) as params, but its documented example only supplies a function, similar to twice().

repeat(x => x + 2)

[Bundles]: Unable to change modules without refreshing.

Unable to change modules without refreshing. For example, if I first import from repeat, it works fine. Without refreshing, if I import curve again, it doesn't work.

Screenshot 2021-03-22 at 1 29 16 PM

Screenshot 2021-03-22 at 1 29 57 PM

under src/bundles/curve/index.ts I defined curve as this.

function curve() {
  return 'curve';
}

If I call curve() it says Line 2: Calling non-function value undefined.

Note:
Same issues arises if I import curve then import repeat.
Issue does not arise if I try to change the functions I want to import from within the same module.

[Modules]: Module errors not caught in interpreter mode

"enable verbose";

import { sample_function } from "asdasd";
import { repeat } from "repeat";

repeat(sample_function);

Expected Behavior

The code snippet above should result in the following error message returned in the REPL of Source Academy.
Line 3: Module "asdasd" not found.

Current Behavior

The current behaviour of Source Academy is to crash the site with the logs attatched in the Failure Logs section of this issue.

Failure Information (for bugs)

Steps to Reproduce

  1. Run a local instance of Source Academy cadet-frontend with a local server serving the static modules' JavaScript files.
  2. Evaluate the code snippet provided at the top of this issue. (It will be evaluated using the Source interpreter)
  3. Encounter the error.

Context

  • Version used: js-slang commit bf53d72, modules commit a58c40a, cadet-frontend commit d66683c.
  • Browser Name and version: Chrome/89.0.4389.90
  • Operating System and version (desktop or mobile):

Failure Logs

Unhandled Rejection (Error): The error you provided does not contain a stack trace.
▼ 4 stack frames were expanded.
S
C:/.../cadet-frontend/node_modules/react-error-overlay/lib/index.js:1
V
C:/.../cadet-frontend/node_modules/react-error-overlay/lib/index.js:1
(anonymous function)
C:/.../cadet-frontend/node_modules/react-error-overlay/lib/index.js:1
Module.oe
C:/.../cadet-frontend/node_modules/react-error-overlay/lib/index.js:1
▲ 4 stack frames were expanded.
(anonymous function)
C:/.../cadet-frontend/src/commons/sagas/SafeEffects.ts:22
19 |
20 | // eslint-disable-next-line @typescript-eslint/ban-ts-comment
21 | // @ts-ignore
22 | import('react-error-overlay').then(reo => reo.reportRuntimeError(error));
| ^ 23 | }
24 | Sentry.captureException(error);
25 | console.error(error);
View compiled
This screen is visible only in development. It will not appear if the app crashes in production.
Open your browser’s developer console to further inspect this error. Click the 'X' or hit ESC to dismiss this message.

[Eslint]: Wrong detection for no-unused-vars rule

Expected Behavior

function initCurveBuffer(gl: any, func: (t: number) => Point, num: number) { ... }

In the function above, if func is used in the function, eslint should not be highlighting any errors.

Current Behavior

Eslint saying that t is defined but never used, although func is used somewhere in the function.

Failure Information

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Open your favourite editor. (ie. VSCode)
  2. Write the following function in any .ts file under src directory.
function initCurveBuffer(gl: any, func: (t: number) => Point, num: number) {
  const num = 0;
  for (let i = 0; i <= num; i += 1) {
    const point = func(i / num);
  }
}
  1. Enjoy the erroneous (and irritating) eslint errors!

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Version used: a58c40a
  • Browser Name and version: N/A
  • Operating System and version (desktop or mobile): macOS Catalina version 10.15.7

Failure Logs

N/A

[RUNE]: slowness when hollusion is run repeatedly

Description

When hollusion() is run repeatedly, the browser starts to freeze and cpu consumption goes up.

Example code

hollusion(heart);
Then click run several times

Current behaviour

CPU consumption goes up and browser become slow

Expected behaviour

Browser should not become slow

[PIXNFLIX]: Dimension buttons bug

Prerequisites

  • I am running the latest version
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Expected Behavior

Pressing the buttons on the spawned pix n flix tab for the height and width should modify the dimensions of the video.

Current Behavior

Nothing happens, buttons remain greyed off

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Run the latest version of cadet-frontend and modules
  2. Run import { start } from 'pix_n_flix'; start();
  3. Click the buttons to modify the dimensions

[Modules]: import { foo as bar } ...

Feature

With the possibility of importing multiple modules comes the need to resolve name clashes. For that, JavaScript allows "import as". Suggested syntax:

import-directive ::= imports { imports } from string;
imports ::= epsilon | import (, imports)...
import ::= name | name as name

Checklist

  • I checked the requested feature does not already exist
  • I checked to make sure that this issue has not already been filed

[SOUND]: [display_waveform]

Feature

We used to have a display_waveform function, see
source-academy/frontend#935

Would be nice to revive this

Checklist

  • I checked the requested feature does not already exist
  • I checked to make sure that this issue has not already been filed

[WIKI]: Guidelines for developer documentation for Source modules

Feature

Add to the developer guide the detailed outline of the following:

  • Add detailed readme in the source folder of their bundle
  • Add detailed readme in the source folder of their tab
  • Add module developer documentation wiki page entry in the modules wiki

Checklist

  • I checked the documentation and found that it does not already exist
  • I checked to make sure that this issue has not already been filed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.