Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ TODO
- [ ] start:native
- [x] build:web
- [ ] build:native
- [ ] release:web
- [x] release:web
- [ ] release:native
- [ ] lint
- [ ] lint:fix
Expand All @@ -52,8 +52,8 @@ TODO

## Support platforms

- [ ] Web
- [ ] Basic Functions
- [x] Web
- [x] Basic Functions
- [ ] Linter and Formatting
- [ ] TDD Functions
- [ ] Native
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@repixelcorp/hyper-pwt",
"version": "0.0.4",
"version": "0.1.0",
"description": "A faster, more modern, superior alternative for Mendix PWT.",
"repository": {
"type": "git",
Expand Down
11 changes: 10 additions & 1 deletion src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@ program.version(packageJson.version, '-v, --version', 'display current version')
program
.command('build:web')
.summary('build web widget')
.action(buildWebCommand);
.action(async () => {
await buildWebCommand();
});

program
.command('release:web')
.summary('release web widget')
.action(async () => {
await buildWebCommand(true);
});

program
.command('start:web')
Expand Down
10 changes: 5 additions & 5 deletions src/commands/build/web/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import getWidgetName from '../../../utils/getWidgetName';
import getWidgetPackageJson from '../../../utils/getWidgetPackageJson';
import getMendixWidgetDirectory from '../../../utils/getMendixWidgetDirectory';

const buildWebCommand = async () => {
const buildWebCommand = async (isProduction: boolean = false) => {
try {
showMessage('Remove previous builds');

Expand Down Expand Up @@ -40,9 +40,9 @@ const buildWebCommand = async () => {
if (viteConfigIsExists) {
const userConfig: UserConfig = await import(customViteConfigPath);

resultViteConfig = await getViteDefaultConfig(userConfig);
resultViteConfig = await getViteDefaultConfig(isProduction, userConfig);
} else {
resultViteConfig = await getViteDefaultConfig();
resultViteConfig = await getViteDefaultConfig(isProduction);
}

const widgetName = await getWidgetName();
Expand All @@ -56,8 +56,8 @@ const buildWebCommand = async () => {

showMessage('Start build');

const editorConfigViteConfig = await getEditorConfigDefaultConfig();
const editorPreviewViteConfig = await getEditorPreviewDefaultConfig();
const editorConfigViteConfig = await getEditorConfigDefaultConfig(isProduction);
const editorPreviewViteConfig = await getEditorPreviewDefaultConfig(isProduction);
const viteBuildConfigs: InlineConfig[] = [
{
...resultViteConfig,
Expand Down
20 changes: 12 additions & 8 deletions src/configurations/vite/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,16 @@ import getWidgetName from "../../utils/getWidgetName";
import { PROJECT_DIRECTORY, WEB_OUTPUT_DIRECTORY } from "../../constants";
import getViteOutputDirectory from "../../utils/getViteOutputDirectory";

export const getEditorConfigDefaultConfig = async (): Promise<UserConfig> => {
export const getEditorConfigDefaultConfig = async (isProduction: boolean): Promise<UserConfig> => {
const widgetName = await getWidgetName();

return {
plugins: [],
build: {
outDir: WEB_OUTPUT_DIRECTORY,
minify: 'esbuild',
minify: isProduction ? 'esbuild' : false,
emptyOutDir: false,
sourcemap: isProduction ? false : true,
lib: {
entry: path.join(PROJECT_DIRECTORY, `/src/${widgetName}.editorConfig.ts`),
name: `${widgetName}.editorConfig`,
Expand All @@ -27,7 +28,7 @@ export const getEditorConfigDefaultConfig = async (): Promise<UserConfig> => {
};
};

export const getEditorPreviewDefaultConfig = async (): Promise<UserConfig> => {
export const getEditorPreviewDefaultConfig = async (isProduction: boolean): Promise<UserConfig> => {
const widgetName = await getWidgetName();

return {
Expand All @@ -38,8 +39,9 @@ export const getEditorPreviewDefaultConfig = async (): Promise<UserConfig> => {
},
build: {
outDir: WEB_OUTPUT_DIRECTORY,
minify: 'esbuild',
minify: isProduction ? 'esbuild' : false,
emptyOutDir: false,
sourcemap: isProduction ? false : true,
lib: {
entry: path.join(PROJECT_DIRECTORY, `/src/${widgetName}.editorPreview.tsx`),
name: `${widgetName}.editorPreview`,
Expand All @@ -62,21 +64,23 @@ export const getEditorPreviewDefaultConfig = async (): Promise<UserConfig> => {
};
};

export const getViteDefaultConfig = async (userCustomConfig?: UserConfig): Promise<UserConfig> => {
export const getViteDefaultConfig = async (isProduction: boolean, userCustomConfig?: UserConfig): Promise<UserConfig> => {
const widgetName = await getWidgetName();
const viteOutputDirectory = await getViteOutputDirectory();

return {
plugins: [react()],
define: {
'process.env': {},
'process.env.NODE_ENV': '"production"'
'process.env.NODE_ENV': isProduction ? '"production"' : '"development"'
},
build: {
outDir: viteOutputDirectory,
minify: 'esbuild',
cssMinify: 'esbuild',
minify: isProduction ? 'esbuild' : false,
cssMinify: isProduction ? 'esbuild' : false,
sourcemap: isProduction ? false : true,
lib: {
formats: isProduction ? ['umd'] : ['es', 'umd'],
entry: path.join(PROJECT_DIRECTORY, `/src/${widgetName}.tsx`),
name: widgetName,
fileName: (format, entry) => {
Expand Down
Loading