Skip to content

Pesde workspace #300

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

Draft
wants to merge 26 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c5e07d3
Setup Pesde
vocksel Nov 23, 2024
1b111d0
Install Fusion as a dev dependency
vocksel Nov 23, 2024
f83e5b5
Change usage of Wally to Pesde
vocksel Nov 23, 2024
e839ea9
Update paths to use roblox_packages
vocksel Nov 23, 2024
e784d1c
Update require paths to use kebab-case package import
vocksel Nov 23, 2024
e50d6c1
Install pesde before trying to use it
vocksel Nov 23, 2024
9658173
Installing only prod dependencies seems broken
vocksel Nov 23, 2024
46a2387
Add a new install script for backwards compat
vocksel Nov 24, 2024
7e7eddf
Revert changes to require paths
vocksel Nov 24, 2024
573cbd7
Pin to Fusion 0.2.0 for code samples
vocksel Nov 24, 2024
dca1332
Update analysis to ignore pesde index
vocksel Nov 24, 2024
486ed85
Fix last analysis error
vocksel Nov 24, 2024
17bf354
Revert change that broke exit codes in run.luau
vocksel Nov 24, 2024
8d2d17c
Stylua
vocksel Nov 24, 2024
bffb1d5
Fix package install
vocksel Nov 24, 2024
dce7bab
Reference existing setup-pesde action
vocksel Nov 24, 2024
5ad3545
Merge remote-tracking branch 'origin/main' into pesde
vocksel Nov 24, 2024
f47a734
Update require paths to packages
vocksel Dec 2, 2024
10d1887
Revert "Update require paths to packages"
vocksel Dec 3, 2024
25122d8
Revert a couple unrelated changes
vocksel Dec 3, 2024
dc31cf4
Remove Wally gitignore rules
vocksel Dec 3, 2024
d2852eb
Setup Pesde workspace
vocksel Dec 3, 2024
90a58b6
Wally compat for workspace
vocksel Dec 3, 2024
6db00b2
Pesde doesn't lock us into kebab-case
vocksel Dec 5, 2024
28cfee8
Merge remote-tracking branch 'origin/pesde' into pesde-workspace
vocksel Dec 6, 2024
ef29559
Update paths to code samples
vocksel Dec 6, 2024
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
2 changes: 1 addition & 1 deletion .darklua.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"current": {
"name": "path",
"sources": {
"@pkg": "./Packages",
"@pkg": "./roblox_packages",
"@root": "./src"
}
},
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Install pesde
uses: 0x5eal/semver-luau/.github/actions/setup-pesde@main

- name: Install packages
run: lune run wally-install
run: pesde install

- name: Lint
run: lune run lint
Expand Down Expand Up @@ -45,11 +48,14 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Install pesde
uses: 0x5eal/semver-luau/.github/actions/setup-pesde@main

- name: Setup Lune typedefs
run: lune setup

- name: Install packages
run: lune run wally-install
run: pesde install

- name: Run Luau analysis
run: lune run analyze
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,16 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Install pesde
uses: 0x5eal/semver-luau/.github/actions/setup-pesde@main

- name: Get model file name
run: |
name=$(jq -r .name default.project.json)
echo "MODEL_FILE=$name.rbxm" >> $GITHUB_ENV

- name: Install packages
run: lune run wally-install
run: pesde install

- name: Build
run: lune run build -- --target prod --output ${{ env.MODEL_FILE }}
Expand All @@ -48,8 +51,11 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Install pesde
uses: 0x5eal/semver-luau/.github/actions/setup-pesde@main

- name: Install packages
run: lune run wally-install
run: pesde install

- name: Publish nightly build to Creator Store
if: github.ref == 'refs/heads/main'
Expand Down
6 changes: 2 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ build
sourcemap*.json
globalTypes.d.luau

# Wally
DevPackages
Packages
wally.lock
# Pesde
roblox_packages

# Python
__pycache__
Expand Down
4 changes: 2 additions & 2 deletions .luaurc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"languageMode": "strict",
"aliases": {
"pkg": "./Packages",
"pkg": "./roblox_packages",
"root": "./src"
}
}
}
4 changes: 2 additions & 2 deletions .lune/analyze.luau
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ run("luau-lsp", {
`--sourcemap={constants.SOURCEMAP_PATH}`,
`--defs={globalDefsPath}`,
"--settings=./.vscode/settings.json",
"--ignore=**/_Index/**",
"--ignore=**/.pesde/**",
constants.SOURCE_PATH,
constants.LUNE_SCRIPTS_PATH,
constants.EXAMPLE_PATH,
Expand All @@ -34,6 +34,6 @@ run("luau-lsp", {
`--sourcemap={constants.SOURCEMAP_PATH}`,
`--defs={globalDefsPath}`,
"--settings=./.vscode/settings.json",
"--ignore=**/_Index/**",
"--ignore=**/.pesde/**",
"code-samples/src",
})
6 changes: 3 additions & 3 deletions .lune/lib/compile.luau
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
local constants = require("./constants")
local fs = require("@lune/fs")
local serde = require("@lune/serde")
local run = require("./run")
local serde = require("@lune/serde")

local wallyToml = serde.decode("toml", fs.readFile("wally.toml"))
local pesdeToml = serde.decode("toml", fs.readFile("pesde.toml"))

type Target = "prod" | "dev"

Expand All @@ -19,7 +19,7 @@ local function compile(target: Target)
local commitHash = run("git", { "rev-parse", "--short", "HEAD" })

local env = {
BUILD_VERSION = wallyToml.package.version,
BUILD_VERSION = pesdeToml.version,
BUILD_CHANNEL = if target == "prod" then "production" else "development",
BUILD_HASH = commitHash,
}
Expand Down
2 changes: 1 addition & 1 deletion .lune/lib/constants.luau
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ return {
-- All paths are relative to the root of the repo
SOURCE_PATH = "src",
BUILD_PATH = "build",
PACKAGES_PATH = "Packages",
PACKAGES_PATH = "roblox_packages",
LUNE_SCRIPTS_PATH = ".lune",
EXAMPLE_PATH = "example",

Expand Down
13 changes: 6 additions & 7 deletions .lune/lib/run.luau
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,15 @@ local function run(program: string, params: { string }, options: Options?)
env = if options then options.env else nil,
})

local out
if result.ok then
out = result.stdout
else
out = result.stderr
if result.code > 0 then
process.exit(result.code)
end

out = out:gsub("\n$", "")
local output = if result.ok then result.stdout else result.stderr

return out, result.ok
output = output:gsub("\n$", "")

return output
end

return run
13 changes: 3 additions & 10 deletions .lune/publish-plugin.luau
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
local process = require("@lune/process")

local parseArgs = require("./lib/parseArgs")
local run = require("./lib/run")
local clean = require("./lib/clean")
local compile = require("./lib/compile")
local parseArgs = require("./lib/parseArgs")
local project = require("../project")
local run = require("./lib/run")

local args = parseArgs(process.args)

Expand Down Expand Up @@ -36,7 +36,7 @@ do -- mini darklua for swapping out globals in the task with real values
end
end

local output, success = run("python3", {
run("python3", {
".lune/open-cloud/upload_and_run_task.py",
"tests.rbxl",
publishPluginAssetTask,
Expand All @@ -47,10 +47,3 @@ local output, success = run("python3", {
ROBLOX_API_KEY = apiKey,
},
})

run("rm", { "tests.rbxl" })

if not success then
print(output)
process.exit(1)
end
19 changes: 0 additions & 19 deletions .lune/wally-install.luau

This file was deleted.

4 changes: 4 additions & 0 deletions .pesde/roblox_sync_config_generator.luau
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
local process = require("@lune/process")
local home_dir = if process.os == "windows" then process.env.userprofile else process.env.HOME

require(home_dir .. "/.pesde/scripts/lune/rojo/roblox_sync_config_generator.luau")
4 changes: 4 additions & 0 deletions .pesde/sourcemap_generator.luau
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
local process = require("@lune/process")
local home_dir = if process.os == "windows" then process.env.userprofile else process.env.HOME

require(home_dir .. "/.pesde/scripts/lune/rojo/sourcemap_generator.luau")
7 changes: 2 additions & 5 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
{
"luau-lsp.sourcemap.rojoProjectFile": "analysis.project.json",
"luau-lsp.require.mode": "relativeToFile",
"luau-lsp.ignoreGlobs": [
"**/_Index/**",
"**/build/**"
],
"luau-lsp.ignoreGlobs": ["**/_Index/**", "**/build/**"],
"luau-lsp.require.directoryAliases": {
"@pkg": "./Packages",
"@pkg": "./roblox_packages",
"@root": "./src",
"@lune/": "~/.lune/.typedefs/0.8.3/"
}
Expand Down
2 changes: 1 addition & 1 deletion analysis.project.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"$className": "DataModel",
"ReplicatedStorage": {
"Packages": {
"$path": "code-samples/Packages"
"$path": "roblox_packages"
},
"CodeSamples": {
"$path": "code-samples"
Expand Down
2 changes: 1 addition & 1 deletion build.project.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "flipbook",
"tree": {
"Packages": {
"$path": "Packages"
"$path": "roblox_packages"
},
"Example": {
"$path": "example"
Expand Down
14 changes: 0 additions & 14 deletions code-samples/default.project.json

This file was deleted.

14 changes: 0 additions & 14 deletions code-samples/wally.toml

This file was deleted.

2 changes: 1 addition & 1 deletion default.project.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "flipbook",
"tree": {
"Packages": {
"$path": "Packages"
"$path": "roblox_packages"
},
"$path": "build"
}
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/contributing/onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ foreman install
lune setup

# Install packages
lune run wally-install
pesde install

```

Expand Down
14 changes: 7 additions & 7 deletions docs/docs/creating-stories/controls.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import CodeBlock from "@theme/CodeBlock";

import DefaultStorybook from "!!raw-loader!@site/../code-samples/src/Default/ProjectName.storybook.luau";
import DefaultStory from "!!raw-loader!@site/../code-samples/src/Default/Button.story.luau";
import ReactStorybook from "!!raw-loader!@site/../code-samples/src/React/React.storybook.luau";
import ReactButton from "!!raw-loader!@site/../code-samples/src/React/ReactButton.luau";
import ReactButtonControls from "!!raw-loader!@site/../code-samples/src/React/ReactButtonControls.luau";
import ReactButtonControlsStory from "!!raw-loader!@site/../code-samples/src/React/ReactButtonControls.story.luau";
import ReactButtonExplicitPackagesStory from "!!raw-loader!@site/../code-samples/src/React/ReactButtonExplicitPackages.story.luau";
import DefaultStorybook from "!!raw-loader!@site/../packages/code-samples/src/Default/ProjectName.storybook.luau";
import DefaultStory from "!!raw-loader!@site/../packages/code-samples/src/Default/Button.story.luau";
import ReactStorybook from "!!raw-loader!@site/../packages/code-samples/src/React/React.storybook.luau";
import ReactButton from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButton.luau";
import ReactButtonControls from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButtonControls.luau";
import ReactButtonControlsStory from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButtonControls.story.luau";
import ReactButtonExplicitPackagesStory from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButtonExplicitPackages.story.luau";

# Controls

Expand Down
12 changes: 6 additions & 6 deletions docs/docs/creating-stories/writing-stories.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ sidebar_position: 1

import CodeBlock from "@theme/CodeBlock";

import DefaultStorybook from "!!raw-loader!@site/../code-samples/src/Default/ProjectName.storybook.luau";
import DefaultStory from "!!raw-loader!@site/../code-samples/src/Default/Button.story.luau";
import ReactStorybook from "!!raw-loader!@site/../code-samples/src/React/React.storybook.luau";
import ReactButton from "!!raw-loader!@site/../code-samples/src/React/ReactButton.luau";
import ReactButtonStory from "!!raw-loader!@site/../code-samples/src/React/ReactButton.story.luau";
import ReactButtonExplicitPackagesStory from "!!raw-loader!@site/../code-samples/src/React/ReactButtonExplicitPackages.story.luau";
import DefaultStorybook from "!!raw-loader!@site/../packages/code-samples/src/Default/ProjectName.storybook.luau";
import DefaultStory from "!!raw-loader!@site/../packages/code-samples/src/Default/Button.story.luau";
import ReactStorybook from "!!raw-loader!@site/../packages/code-samples/src/React/React.storybook.luau";
import ReactButton from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButton.luau";
import ReactButtonStory from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButton.story.luau";
import ReactButtonExplicitPackagesStory from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButtonExplicitPackages.story.luau";

# Writing Stories

Expand Down
10 changes: 5 additions & 5 deletions docs/docs/frameworks/fusion.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import CodeBlock from "@theme/CodeBlock";

import FusionStorybook from "!!raw-loader!@site/../code-samples/src/Fusion/Fusion.storybook.luau";
import FusionStorybookStoryteller from "!!raw-loader!@site/../code-samples/src/FusionStoryteller/Fusion.storybook.luau";
import FusionButton from "!!raw-loader!@site/../code-samples/src/Fusion/FusionButton.luau";
import FusionButtonStory from "!!raw-loader!@site/../code-samples/src/Fusion/FusionButton.story.luau";
import FusionButtonStoryStoryteller from "!!raw-loader!@site/../code-samples/src/FusionStoryteller/FusionButton.story.luau";
import FusionStorybook from "!!raw-loader!@site/../packages/code-samples/src/Fusion/Fusion.storybook.luau";
import FusionStorybookStoryteller from "!!raw-loader!@site/../packages/code-samples/src/FusionStoryteller/Fusion.storybook.luau";
import FusionButton from "!!raw-loader!@site/../packages/code-samples/src/Fusion/FusionButton.luau";
import FusionButtonStory from "!!raw-loader!@site/../packages/code-samples/src/Fusion/FusionButton.story.luau";
import FusionButtonStoryStoryteller from "!!raw-loader!@site/../packages/code-samples/src/FusionStoryteller/FusionButton.story.luau";

# Fusion

Expand Down
10 changes: 5 additions & 5 deletions docs/docs/frameworks/react.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import CodeBlock from "@theme/CodeBlock";

import ReactStorybook from "!!raw-loader!@site/../code-samples/src/React/React.storybook.luau";
import ReactStorybookStoryteller from "!!raw-loader!@site/../code-samples/src/ReactStoryteller/React.storybook.luau";
import ReactButton from "!!raw-loader!@site/../code-samples/src/React/ReactButton.luau";
import ReactButtonStory from "!!raw-loader!@site/../code-samples/src/React/ReactButton.story.luau";
import ReactButtonStoryStoryteller from "!!raw-loader!@site/../code-samples/src/ReactStoryteller/ReactButton.story.luau";
import ReactStorybook from "!!raw-loader!@site/../packages/code-samples/src/React/React.storybook.luau";
import ReactStorybookStoryteller from "!!raw-loader!@site/../packages/code-samples/src/ReactStoryteller/React.storybook.luau";
import ReactButton from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButton.luau";
import ReactButtonStory from "!!raw-loader!@site/../packages/code-samples/src/React/ReactButton.story.luau";
import ReactButtonStoryStoryteller from "!!raw-loader!@site/../packages/code-samples/src/ReactStoryteller/ReactButton.story.luau";

# React

Expand Down
10 changes: 5 additions & 5 deletions docs/docs/frameworks/roact.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import CodeBlock from "@theme/CodeBlock";

import RoactStorybook from "!!raw-loader!@site/../code-samples/src/Roact/Roact.storybook.luau";
import RoactStorybookStoryteller from "!!raw-loader!@site/../code-samples/src/RoactStoryteller/Roact.storybook.luau";
import RoactButton from "!!raw-loader!@site/../code-samples/src/Roact/RoactButton.luau";
import RoactButtonStory from "!!raw-loader!@site/../code-samples/src/Roact/RoactButton.story.luau";
import RoactButtonStoryStoryteller from "!!raw-loader!@site/../code-samples/src/RoactStoryteller/RoactButton.story.luau";
import RoactStorybook from "!!raw-loader!@site/../packages/code-samples/src/Roact/Roact.storybook.luau";
import RoactStorybookStoryteller from "!!raw-loader!@site/../packages/code-samples/src/RoactStoryteller/Roact.storybook.luau";
import RoactButton from "!!raw-loader!@site/../packages/code-samples/src/Roact/RoactButton.luau";
import RoactButtonStory from "!!raw-loader!@site/../packages/code-samples/src/Roact/RoactButton.story.luau";
import RoactButtonStoryStoryteller from "!!raw-loader!@site/../packages/code-samples/src/RoactStoryteller/RoactButton.story.luau";

# Roact

Expand Down
Loading