compile before symlink
This commit is contained in:
@@ -130,6 +130,51 @@ main() {
|
||||
echo
|
||||
print_info "Installing extension..."
|
||||
|
||||
# Compile the extension before creating symlink
|
||||
print_info "Compiling extension..."
|
||||
cd "$EXTENSION_SOURCE" || {
|
||||
print_error "Failed to change to extension directory: $EXTENSION_SOURCE"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Check if nvm is available and use it if .nvmrc exists
|
||||
if [ -f ".nvmrc" ] && command -v nvm &> /dev/null; then
|
||||
print_info "Using nvm to set Node.js version from .nvmrc"
|
||||
source ~/.nvm/nvm.sh
|
||||
nvm use || {
|
||||
print_warning "Failed to use nvm, continuing with system Node.js"
|
||||
}
|
||||
elif [ -f ".nvmrc" ] && [ -s "$NVM_DIR/nvm.sh" ]; then
|
||||
print_info "Loading nvm and using Node.js version from .nvmrc"
|
||||
source "$NVM_DIR/nvm.sh"
|
||||
nvm use || {
|
||||
print_warning "Failed to use nvm, continuing with system Node.js"
|
||||
}
|
||||
fi
|
||||
|
||||
# Install dependencies if node_modules doesn't exist
|
||||
if [ ! -d "node_modules" ]; then
|
||||
print_info "Installing npm dependencies..."
|
||||
npm install || {
|
||||
print_error "Failed to install npm dependencies"
|
||||
exit 1
|
||||
}
|
||||
else
|
||||
print_info "Dependencies already installed, skipping npm install"
|
||||
fi
|
||||
|
||||
# Compile TypeScript
|
||||
print_info "Compiling TypeScript..."
|
||||
npm run compile || {
|
||||
print_error "Failed to compile TypeScript"
|
||||
exit 1
|
||||
}
|
||||
|
||||
print_success "Extension compiled successfully!"
|
||||
|
||||
# Return to original directory
|
||||
cd - > /dev/null
|
||||
|
||||
# Check if destination already exists
|
||||
if [ -e "$EXTENSION_DEST" ]; then
|
||||
print_warning "Destination already exists: $EXTENSION_DEST"
|
||||
|
||||
1
vscode-extension-ashes/.nvmrc
Normal file
1
vscode-extension-ashes/.nvmrc
Normal file
@@ -0,0 +1 @@
|
||||
v22
|
||||
@@ -2,16 +2,45 @@
|
||||
|
||||
## Quick Installation
|
||||
|
||||
1. **Copy the extension folder** to your VS Code extensions directory:
|
||||
### Automated Installation (Recommended)
|
||||
|
||||
Use the provided installation script for the easiest setup:
|
||||
|
||||
```bash
|
||||
./install-extension.sh
|
||||
```
|
||||
|
||||
This script will:
|
||||
1. **Compile the extension** using npm and the correct Node.js version (via nvm if available)
|
||||
2. **Create a symlink** to your VS Code extensions directory
|
||||
3. **Handle dependencies** automatically
|
||||
|
||||
### Manual Installation
|
||||
|
||||
1. **Compile the extension**:
|
||||
```bash
|
||||
cd vscode-extension-ashes
|
||||
|
||||
# Use nvm if available (recommended)
|
||||
nvm use # Uses version from .nvmrc
|
||||
|
||||
# Install dependencies
|
||||
npm install
|
||||
|
||||
# Compile TypeScript
|
||||
npm run compile
|
||||
```
|
||||
|
||||
2. **Copy the extension folder** to your VS Code extensions directory:
|
||||
- **Linux**: `~/.vscode/extensions/`
|
||||
- **macOS**: `~/.vscode/extensions/`
|
||||
- **Windows**: `%USERPROFILE%\.vscode\extensions\`
|
||||
|
||||
2. **Rename the folder** to `ashes-language-support-0.1.0` (or similar)
|
||||
3. **Rename the folder** to `ashes-language-support-0.1.0` (or similar)
|
||||
|
||||
3. **Reload VS Code** or restart the application
|
||||
4. **Reload VS Code** or restart the application
|
||||
|
||||
4. **Test the extension** by opening any `.esc` file
|
||||
5. **Test the extension** by opening any `.esc` file
|
||||
|
||||
## Alternative Installation (Development Mode)
|
||||
|
||||
@@ -27,17 +56,23 @@
|
||||
|
||||
## Building from Source
|
||||
|
||||
1. **Install dependencies**:
|
||||
1. **Set up Node.js version** (recommended):
|
||||
```bash
|
||||
# Use nvm if available to get the correct Node.js version
|
||||
nvm use # Uses version from .nvmrc (v22)
|
||||
```
|
||||
|
||||
2. **Install dependencies**:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
2. **Compile TypeScript**:
|
||||
3. **Compile TypeScript**:
|
||||
```bash
|
||||
npm run compile
|
||||
```
|
||||
|
||||
3. **Package the extension** (optional):
|
||||
4. **Package the extension** (optional):
|
||||
```bash
|
||||
npx vsce package
|
||||
```
|
||||
@@ -79,6 +114,12 @@
|
||||
- Press `Ctrl+Space` to manually trigger completion
|
||||
- Check that the extension is activated (should show in the Extensions panel)
|
||||
|
||||
### Compilation errors
|
||||
- Make sure you're using the correct Node.js version: `nvm use` (uses v22 from .nvmrc)
|
||||
- Clear node_modules and reinstall: `rm -rf node_modules && npm install`
|
||||
- Check that TypeScript is installed: `npm list typescript`
|
||||
- Ensure all dependencies are installed: `npm install`
|
||||
|
||||
## Uninstalling
|
||||
|
||||
Simply delete the extension folder from your VS Code extensions directory and restart VS Code.
|
||||
|
||||
Reference in New Issue
Block a user