Rename resources/scripts-v2 to resources/scripts and drop @v2 alias

Now that the legacy v1 frontend (commit 064bdf53) is gone, the v2 directory is the only frontend and the v2 suffix is just noise. Renames resources/scripts-v2 to resources/scripts via git mv (so git records the move as renames, preserving blame and log --follow), then bulk-rewrites the 152 files that imported via @v2/... to use @/scripts/... instead. The existing @ alias (resources/) covers the new path with no extra config needed.

Drops the now-unused @v2 alias from vite.config.js and points the laravel-vite-plugin entry at resources/scripts/main.ts. Updates the only blade reference (resources/views/app.blade.php) to match. The package.json test script (eslint ./resources/scripts) automatically targets the right place after the rename without any edit.

Verified: npm run build exits clean and the Vite warning lines now reference resources/scripts/plugins/i18n.ts, confirming every import resolved through the new path. git log --follow on any moved file walks back through its scripts-v2 history.
This commit is contained in:
Darko Gjorgjijoski
2026-04-07 12:50:16 +02:00
parent 064bdf5395
commit 71388ec6a5
448 changed files with 381 additions and 382 deletions

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { User } from '@v2/types/domain/user'
import type { ApiResponse } from '@v2/types/api'
import type { User } from '@/scripts/types/domain/user'
import type { ApiResponse } from '@/scripts/types/api'
export interface LoginPayload {
email: string

View File

@@ -1,9 +1,9 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { User, UserSetting } from '@v2/types/domain/user'
import type { Company } from '@v2/types/domain/company'
import type { Currency } from '@v2/types/domain/currency'
import type { Ability } from '@v2/types/domain/role'
import type { User, UserSetting } from '@/scripts/types/domain/user'
import type { Company } from '@/scripts/types/domain/company'
import type { Currency } from '@/scripts/types/domain/currency'
import type { Ability } from '@/scripts/types/domain/role'
export interface MenuItem {
title: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Company } from '@v2/types/domain/company'
import type { ApiResponse } from '@v2/types/api'
import type { Company } from '@/scripts/types/domain/company'
import type { ApiResponse } from '@/scripts/types/api'
export interface UpdateCompanyPayload {
name: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { CustomField } from '@v2/types/domain/custom-field'
import type { ApiResponse, ListParams } from '@v2/types/api'
import type { CustomField } from '@/scripts/types/domain/custom-field'
import type { ApiResponse, ListParams } from '@/scripts/types/api'
export interface CustomFieldListParams extends ListParams {
model_type?: string

View File

@@ -1,11 +1,11 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Customer, CreateCustomerPayload } from '@v2/types/domain/customer'
import type { Customer, CreateCustomerPayload } from '@/scripts/types/domain/customer'
import type {
ApiResponse,
ListParams,
DeletePayload,
} from '@v2/types/api'
} from '@/scripts/types/api'
export interface CustomerListParams extends ListParams {
display_name?: string

View File

@@ -1,6 +1,6 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { ApiResponse, ListParams, PaginatedResponse } from '@v2/types/api'
import type { ApiResponse, ListParams, PaginatedResponse } from '@/scripts/types/api'
export type DiskDriverValue =
| 'local'

View File

@@ -1,14 +1,14 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Estimate, CreateEstimatePayload } from '@v2/types/domain/estimate'
import type { Invoice } from '@v2/types/domain/invoice'
import type { Estimate, CreateEstimatePayload } from '@/scripts/types/domain/estimate'
import type { Invoice } from '@/scripts/types/domain/invoice'
import type {
ApiResponse,
ListParams,
DateRangeParams,
NextNumberResponse,
DeletePayload,
} from '@v2/types/api'
} from '@/scripts/types/api'
export interface EstimateListParams extends ListParams, DateRangeParams {
status?: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { ExchangeRateProvider, Currency } from '@v2/types/domain/currency'
import type { ApiResponse, ListParams } from '@v2/types/api'
import type { ExchangeRateProvider, Currency } from '@/scripts/types/domain/currency'
import type { ApiResponse, ListParams } from '@/scripts/types/api'
export interface CreateExchangeRateProviderPayload {
driver: string

View File

@@ -1,12 +1,12 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Expense, ExpenseCategory, CreateExpensePayload } from '@v2/types/domain/expense'
import type { Expense, ExpenseCategory, CreateExpensePayload } from '@/scripts/types/domain/expense'
import type {
ApiResponse,
ListParams,
DateRangeParams,
DeletePayload,
} from '@v2/types/api'
} from '@/scripts/types/api'
export interface ExpenseListParams extends ListParams, DateRangeParams {
expense_category_id?: number

View File

@@ -1,6 +1,6 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Invoice, CreateInvoicePayload } from '@v2/types/domain/invoice'
import type { Invoice, CreateInvoicePayload } from '@/scripts/types/domain/invoice'
import type {
ApiResponse,
PaginatedResponse,
@@ -8,7 +8,7 @@ import type {
DateRangeParams,
NextNumberResponse,
DeletePayload,
} from '@v2/types/api'
} from '@/scripts/types/api'
export interface InvoiceListParams extends ListParams, DateRangeParams {
status?: string

View File

@@ -1,11 +1,11 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Item, Unit } from '@v2/types/domain/item'
import type { Item, Unit } from '@/scripts/types/domain/item'
import type {
ApiResponse,
ListParams,
DeletePayload,
} from '@v2/types/api'
} from '@/scripts/types/api'
export interface ItemListParams extends ListParams {
filter?: Record<string, unknown>

View File

@@ -1,8 +1,8 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { User } from '@v2/types/domain/user'
import type { CompanyInvitation } from '@v2/types/domain/company'
import type { ApiResponse, PaginatedResponse, ListParams } from '@v2/types/api'
import type { User } from '@/scripts/types/domain/user'
import type { CompanyInvitation } from '@/scripts/types/domain/company'
import type { ApiResponse, PaginatedResponse, ListParams } from '@/scripts/types/api'
export interface MemberListParams extends ListParams {
display_name?: string

View File

@@ -1,6 +1,6 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { ApiResponse } from '@v2/types/api'
import type { ApiResponse } from '@/scripts/types/api'
export interface Module {
name: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Note } from '@v2/types/domain/note'
import type { ApiResponse, ListParams } from '@v2/types/api'
import type { Note } from '@/scripts/types/domain/note'
import type { ApiResponse, ListParams } from '@/scripts/types/api'
export interface CreateNotePayload {
type: string

View File

@@ -1,12 +1,12 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Payment, PaymentMethod, CreatePaymentPayload } from '@v2/types/domain/payment'
import type { Payment, PaymentMethod, CreatePaymentPayload } from '@/scripts/types/domain/payment'
import type {
ApiResponse,
ListParams,
NextNumberResponse,
DeletePayload,
} from '@v2/types/api'
} from '@/scripts/types/api'
export interface PaymentListParams extends ListParams {
customer_id?: number

View File

@@ -1,11 +1,11 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { RecurringInvoice, CreateRecurringInvoicePayload } from '@v2/types/domain/recurring-invoice'
import type { RecurringInvoice, CreateRecurringInvoicePayload } from '@/scripts/types/domain/recurring-invoice'
import type {
ApiResponse,
ListParams,
DeletePayload,
} from '@v2/types/api'
} from '@/scripts/types/api'
export interface RecurringInvoiceListParams extends ListParams {
status?: string

View File

@@ -1,6 +1,6 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { DateRangeParams } from '@v2/types/api'
import type { DateRangeParams } from '@/scripts/types/api'
export interface ReportParams extends DateRangeParams {
report_type?: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Role, Ability } from '@v2/types/domain/role'
import type { ApiResponse, ListParams } from '@v2/types/api'
import type { Role, Ability } from '@/scripts/types/domain/role'
import type { ApiResponse, ListParams } from '@/scripts/types/api'
export interface CreateRolePayload {
name: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { Country } from '@v2/types/domain/customer'
import type { Currency } from '@v2/types/domain/currency'
import type { Country } from '@/scripts/types/domain/customer'
import type { Currency } from '@/scripts/types/domain/currency'
export interface DateFormat {
display_date: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { TaxType } from '@v2/types/domain/tax'
import type { ApiResponse, ListParams } from '@v2/types/api'
import type { TaxType } from '@/scripts/types/domain/tax'
import type { ApiResponse, ListParams } from '@/scripts/types/api'
export interface CreateTaxTypePayload {
name: string

View File

@@ -1,7 +1,7 @@
import { client } from '../client'
import { API } from '../endpoints'
import type { User } from '@v2/types/domain/user'
import type { ApiResponse } from '@v2/types/api'
import type { User } from '@/scripts/types/domain/user'
import type { ApiResponse } from '@/scripts/types/api'
export interface UpdateProfilePayload {
name: string

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import SpinnerIcon from '@v2/components/icons/SpinnerIcon.vue'
import SpinnerIcon from '@/scripts/components/icons/SpinnerIcon.vue'
type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'
type ButtonVariant =

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import type { Address, Country } from '@v2/types/domain'
import type { Address, Country } from '@/scripts/types/domain'
interface DisplayAddress {
address_street_1?: string | null

View File

@@ -4,14 +4,14 @@ import { computed, ref } from 'vue'
import { useI18n } from 'vue-i18n'
import { useDebounceFn } from '@vueuse/core'
import { useRoute } from 'vue-router'
import { useUserStore } from '@v2/stores/user.store'
import { useModalStore } from '@v2/stores/modal.store'
import { ABILITIES } from '@v2/config/abilities'
import { useCustomerStore } from '@v2/features/company/customers/store'
import { useInvoiceStore } from '@v2/features/company/invoices/store'
import { useEstimateStore } from '@v2/features/company/estimates/store'
import { useRecurringInvoiceStore } from '@v2/features/company/recurring-invoices/store'
import CustomerModal from '@v2/features/company/customers/components/CustomerModal.vue'
import { useUserStore } from '@/scripts/stores/user.store'
import { useModalStore } from '@/scripts/stores/modal.store'
import { ABILITIES } from '@/scripts/config/abilities'
import { useCustomerStore } from '@/scripts/features/company/customers/store'
import { useInvoiceStore } from '@/scripts/features/company/invoices/store'
import { useEstimateStore } from '@/scripts/features/company/estimates/store'
import { useRecurringInvoiceStore } from '@/scripts/features/company/recurring-invoices/store'
import CustomerModal from '@/scripts/features/company/customers/components/CustomerModal.vue'
type DocumentType = 'estimate' | 'invoice' | 'recurring-invoice'

View File

@@ -81,8 +81,8 @@ import { Vietnamese } from 'flatpickr/dist/l10n/vn.js'
import { Mandarin } from 'flatpickr/dist/l10n/zh.js'
import type { CustomLocale, Locale } from 'flatpickr/dist/types/locale'
import { computed, reactive, watch, ref, useSlots } from 'vue'
import { useCompanyStore } from '@v2/stores/company.store'
import { useUserStore } from '@v2/stores/user.store'
import { useCompanyStore } from '@/scripts/stores/company.store'
import { useUserStore } from '@/scripts/stores/user.store'
interface FlatPickrInstance {
fp: { open: () => void }

View File

@@ -144,7 +144,7 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useDialogStore } from '@v2/stores/dialog.store'
import { useDialogStore } from '@/scripts/stores/dialog.store'
import {
Dialog,
DialogOverlay,

View File

@@ -46,7 +46,7 @@
<script setup lang="ts">
import { Menu, MenuButton, MenuItems } from '@headlessui/vue'
import { computed, nextTick } from 'vue'
import { usePopper } from '@v2/composables/use-popper'
import { usePopper } from '@/scripts/composables/use-popper'
import type { Placement } from '@popperjs/core'
interface Props {

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { EstimateStatus } from '@v2/types/domain'
import { EstimateStatus } from '@/scripts/types/domain'
interface Props {
status?: string

View File

@@ -379,8 +379,8 @@
<script setup lang="ts">
import { ref, onMounted, watch } from 'vue'
import { client as http } from '@v2/api/client'
import * as utils from '@v2/utils/format-money'
import { client as http } from '@/scripts/api/client'
import * as utils from '@/scripts/utils/format-money'
interface LocalFile {
fileObject?: File

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useCompanyStore } from '@v2/stores/company.store'
import { useCompanyStore } from '@/scripts/stores/company.store'
import { formatMoney } from '../../utils/format-money'
import type { CurrencyConfig } from '../../utils/format-money'

View File

@@ -13,7 +13,7 @@
</template>
<script setup lang="ts">
import MainLogo from '@v2/components/icons/MainLogo.vue'
import MainLogo from '@/scripts/components/icons/MainLogo.vue'
interface Props {
showBgOverlay?: boolean

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { InvoiceStatus, InvoicePaidStatus } from '@v2/types/domain'
import { InvoiceStatus, InvoicePaidStatus } from '@/scripts/types/domain'
interface Props {
status?: string

View File

@@ -1,13 +1,13 @@
<script setup lang="ts">
import { computed, reactive, ref, nextTick } from 'vue'
import { useI18n } from 'vue-i18n'
import { useUserStore } from '@v2/stores/user.store'
import { useModalStore } from '@v2/stores/modal.store'
import { useItemStore } from '@v2/features/company/items/store'
import { ABILITIES } from '@v2/config/abilities'
import ItemModal from '@v2/features/company/items/components/ItemModal.vue'
import type { Item } from '@v2/types/domain'
import type { Tax } from '@v2/types/domain'
import { useUserStore } from '@/scripts/stores/user.store'
import { useModalStore } from '@/scripts/stores/modal.store'
import { useItemStore } from '@/scripts/features/company/items/store'
import { ABILITIES } from '@/scripts/config/abilities'
import ItemModal from '@/scripts/features/company/items/components/ItemModal.vue'
import type { Item } from '@/scripts/types/domain'
import type { Tax } from '@/scripts/types/domain'
interface LineItem {
item_id: number | null

View File

@@ -92,7 +92,7 @@
</template>
<script setup lang="ts">
import { useModalStore } from '@v2/stores/modal.store'
import { useModalStore } from '@/scripts/stores/modal.store'
import { computed, watch, useSlots } from 'vue'
import {
Dialog,

View File

@@ -19,7 +19,7 @@
import { computed } from 'vue'
import { Money3Component } from 'v-money3'
import { useCompanyStore } from '@v2/stores/company.store'
import { useCompanyStore } from '@/scripts/stores/company.store'
const money3 = Money3Component

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { RecurringInvoiceStatus } from '@v2/types/domain'
import { RecurringInvoiceStatus } from '@/scripts/types/domain'
interface Props {
status?: string

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { EstimateStatus } from '@v2/types/domain'
import { EstimateStatus } from '@/scripts/types/domain'
interface Props {
status?: EstimateStatus | string

View File

@@ -1,8 +1,8 @@
<script setup lang="ts">
import type { Invoice } from '@v2/types/domain'
import type { Currency } from '@v2/types/domain'
import type { Company } from '@v2/types/domain'
import type { Customer } from '@v2/types/domain'
import type { Invoice } from '@/scripts/types/domain'
import type { Currency } from '@/scripts/types/domain'
import type { Company } from '@/scripts/types/domain'
import type { Customer } from '@/scripts/types/domain'
interface InvoiceInfo {
paid_status: string

View File

@@ -2,11 +2,11 @@
import { ref, computed } from 'vue'
import type { Ref, ComputedRef } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { client } from '@v2/api/client'
import { client } from '@/scripts/api/client'
import InvoiceInformationCard from './InvoiceInformationCard.vue'
import type { Currency } from '@v2/types/domain'
import type { Company } from '@v2/types/domain'
import type { Customer } from '@v2/types/domain'
import type { Currency } from '@/scripts/types/domain'
import type { Company } from '@/scripts/types/domain'
import type { Customer } from '@/scripts/types/domain'
declare global {
interface Window {

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { InvoiceStatus, InvoicePaidStatus } from '@v2/types/domain'
import { InvoiceStatus, InvoicePaidStatus } from '@/scripts/types/domain'
type InvoiceBadgeStatus =
| InvoiceStatus

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { InvoicePaidStatus } from '@v2/types/domain'
import { InvoicePaidStatus } from '@/scripts/types/domain'
type PaidBadgeStatus = InvoicePaidStatus | 'OVERDUE' | string

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { RecurringInvoiceStatus } from '@v2/types/domain'
import { RecurringInvoiceStatus } from '@/scripts/types/domain'
interface Props {
status?: RecurringInvoiceStatus | string

View File

@@ -8,7 +8,7 @@
import { Chart } from 'chart.js/auto'
import type { ChartConfiguration, ChartDataset } from 'chart.js/auto'
import { ref, computed, onMounted, watchEffect, inject } from 'vue'
import { useCompanyStore } from '@v2/stores/company.store'
import { useCompanyStore } from '@/scripts/stores/company.store'
interface FormatUtils {
formatMoney: (amount: number, currency: CurrencyInfo) => string

View File

@@ -88,7 +88,7 @@ import {
RedoIcon,
CodeBlockIcon,
MenuCenterIcon,
} from '@v2/components/editor/icons/index'
} from '@/scripts/components/editor/icons/index'
import {
Bars3BottomLeftIcon,
Bars3BottomRightIcon,

Some files were not shown because too many files have changed in this diff Show More