@_linked/cli 1.2.11 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.changeset/README.md +20 -0
- package/.changeset/config.json +14 -0
- package/.github/workflows/changeset-check.yml +44 -0
- package/.github/workflows/ci.yml +43 -0
- package/.github/workflows/publish.yml +42 -0
- package/CHANGELOG.md +36 -0
- package/README.md +97 -10
- package/defaults/package/package.json +4 -6
- package/defaults/setup-publish/changeset/README.md +20 -0
- package/defaults/setup-publish/changeset/config.json +14 -0
- package/defaults/setup-publish/dual-branch/changeset/README.md +20 -0
- package/defaults/setup-publish/dual-branch/changeset/config.json +14 -0
- package/defaults/setup-publish/dual-branch/github/workflows/changeset-check.yml +43 -0
- package/defaults/setup-publish/dual-branch/github/workflows/ci.yml +44 -0
- package/defaults/setup-publish/dual-branch/github/workflows/publish.yml +122 -0
- package/defaults/setup-publish/github/workflows/changeset-check.yml +44 -0
- package/defaults/setup-publish/github/workflows/ci.yml +43 -0
- package/defaults/setup-publish/github/workflows/publish.yml +42 -0
- package/lib/cjs/cli-deprecated.js +17 -7
- package/lib/cjs/cli-deprecated.js.map +1 -1
- package/lib/cjs/cli-methods.d.ts.map +1 -1
- package/lib/cjs/cli-methods.js +88 -33
- package/lib/cjs/cli-methods.js.map +1 -1
- package/lib/cjs/cli.js +33 -7
- package/lib/cjs/cli.js.map +1 -1
- package/lib/cjs/commands/build-package.js +1 -2
- package/lib/cjs/commands/build-package.js.map +1 -1
- package/lib/cjs/commands/safe-yarn.js +1 -2
- package/lib/cjs/commands/safe-yarn.js.map +1 -1
- package/lib/cjs/commands/setup-publish.d.ts.map +1 -0
- package/lib/cjs/commands/setup-publish.js +357 -0
- package/lib/cjs/commands/setup-publish.js.map +1 -0
- package/lib/cjs/config-webpack-app.d.ts.map +1 -1
- package/lib/cjs/config-webpack-app.js +17 -7
- package/lib/cjs/config-webpack-app.js.map +1 -1
- package/lib/cjs/config-webpack.js +18 -9
- package/lib/cjs/config-webpack.js.map +1 -1
- package/lib/cjs/defineConfig.js +1 -2
- package/lib/cjs/defineConfig.js.map +1 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +7 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/loaders/css-loader.mjs +5 -12
- package/lib/cjs/loaders/css-loader.mjs.map +1 -1
- package/lib/cjs/package.json +4 -5
- package/lib/cjs/plugins/check-imports.js +1 -1
- package/lib/cjs/plugins/check-imports.js.map +1 -1
- package/lib/cjs/plugins/declaration-plugin.d.ts.map +1 -1
- package/lib/cjs/plugins/declaration-plugin.js +17 -7
- package/lib/cjs/plugins/declaration-plugin.js.map +1 -1
- package/lib/cjs/plugins/externalise-modules.d.ts.map +1 -1
- package/lib/cjs/tailwind.config.js +2 -2
- package/lib/cjs/tailwind.config.js.map +1 -1
- package/lib/cjs/utils.d.ts.map +1 -1
- package/lib/cjs/utils.js +30 -20
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/cli-methods.d.ts.map +1 -1
- package/lib/esm/cli-methods.js +76 -31
- package/lib/esm/cli-methods.js.map +1 -1
- package/lib/esm/cli.js +16 -0
- package/lib/esm/cli.js.map +1 -1
- package/lib/esm/commands/setup-publish.d.ts.map +1 -0
- package/lib/esm/commands/setup-publish.js +347 -0
- package/lib/esm/commands/setup-publish.js.map +1 -0
- package/lib/esm/config-webpack-app.d.ts.map +1 -1
- package/lib/esm/config-webpack-app.js +7 -7
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +5 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/package.json +4 -5
- package/lib/esm/plugins/declaration-plugin.d.ts.map +1 -1
- package/lib/esm/plugins/externalise-modules.d.ts.map +1 -1
- package/lib/esm/tailwind.config.js +1 -1
- package/lib/esm/tailwind.config.js.map +1 -1
- package/lib/esm/utils.d.ts.map +1 -1
- package/package.json +4 -5
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Changeset Check
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
changeset-check:
|
|
10
|
+
name: Check for changeset
|
|
11
|
+
# Skip the check on the automated Release PR.
|
|
12
|
+
if: ${{ github.head_ref != 'changeset-release/main' }}
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout
|
|
16
|
+
uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
|
|
20
|
+
- name: Check for changeset files
|
|
21
|
+
uses: actions/github-script@v7
|
|
22
|
+
with:
|
|
23
|
+
script: |
|
|
24
|
+
const { data: files } = await github.rest.pulls.listFiles({
|
|
25
|
+
owner: context.repo.owner,
|
|
26
|
+
repo: context.repo.repo,
|
|
27
|
+
pull_number: context.issue.number,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const hasChangeset = files.some(f =>
|
|
31
|
+
f.filename.startsWith('.changeset/') &&
|
|
32
|
+
f.filename.endsWith('.md') &&
|
|
33
|
+
f.filename !== '.changeset/README.md'
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
if (!hasChangeset) {
|
|
37
|
+
await github.rest.issues.createComment({
|
|
38
|
+
owner: context.repo.owner,
|
|
39
|
+
repo: context.repo.repo,
|
|
40
|
+
issue_number: context.issue.number,
|
|
41
|
+
body: "No changeset found. If this PR should trigger a release, run `npx changeset` and commit the generated file.\n\nIf this change doesn't need a release (docs, CI config, etc.), you can ignore this message."
|
|
42
|
+
});
|
|
43
|
+
core.warning('No changeset file found in this PR.');
|
|
44
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-and-test:
|
|
10
|
+
name: Build & Test
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- name: Detect Release PR
|
|
14
|
+
id: rpr
|
|
15
|
+
run: |
|
|
16
|
+
if [[ "${{ github.event.pull_request.head.ref }}" == "changeset-release/main" ]]; then
|
|
17
|
+
echo "is_release_pr=true" >> $GITHUB_OUTPUT
|
|
18
|
+
echo "Release PR from changesets/action detected — skipping build/test (auto-generated version+CHANGELOG only)."
|
|
19
|
+
else
|
|
20
|
+
echo "is_release_pr=false" >> $GITHUB_OUTPUT
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
- name: Checkout
|
|
24
|
+
if: steps.rpr.outputs.is_release_pr == 'false'
|
|
25
|
+
uses: actions/checkout@v4
|
|
26
|
+
|
|
27
|
+
- name: Setup Node.js
|
|
28
|
+
if: steps.rpr.outputs.is_release_pr == 'false'
|
|
29
|
+
uses: actions/setup-node@v4
|
|
30
|
+
with:
|
|
31
|
+
node-version: 22.16.0
|
|
32
|
+
|
|
33
|
+
- name: Install dependencies
|
|
34
|
+
if: steps.rpr.outputs.is_release_pr == 'false'
|
|
35
|
+
run: npm ci --legacy-peer-deps
|
|
36
|
+
|
|
37
|
+
- name: Build
|
|
38
|
+
if: steps.rpr.outputs.is_release_pr == 'false'
|
|
39
|
+
run: npm run build
|
|
40
|
+
|
|
41
|
+
- name: Test
|
|
42
|
+
if: steps.rpr.outputs.is_release_pr == 'false'
|
|
43
|
+
run: npm test --if-present
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
release:
|
|
12
|
+
name: Publish Release
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
permissions:
|
|
15
|
+
contents: write
|
|
16
|
+
pull-requests: write
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Setup Node.js
|
|
22
|
+
uses: actions/setup-node@v4
|
|
23
|
+
with:
|
|
24
|
+
node-version: 22.16.0
|
|
25
|
+
registry-url: 'https://registry.npmjs.org'
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: npm ci --legacy-peer-deps
|
|
29
|
+
|
|
30
|
+
- name: Build
|
|
31
|
+
run: npm run build
|
|
32
|
+
|
|
33
|
+
- name: Create release Pull Request or Publish
|
|
34
|
+
uses: changesets/action@v1
|
|
35
|
+
with:
|
|
36
|
+
publish: npx changeset publish
|
|
37
|
+
title: 'chore: release'
|
|
38
|
+
commit: 'chore: release'
|
|
39
|
+
env:
|
|
40
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
41
|
+
NODE_AUTH_TOKEN: ${{ secrets.{{NPM_SECRET_NAME}} }}
|
|
42
|
+
NPM_TOKEN: ${{ secrets.{{NPM_SECRET_NAME}} }}
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
if (!process.env.LINKED_SUPPRESS_DEPRECATION) {
|
|
26
36
|
process.stderr.write("\x1b[33m⚠️ 'lincd' is deprecated and will be removed in a future release. Use 'linked' instead.\x1b[0m\n");
|
|
27
37
|
process.env.LINKED_SUPPRESS_DEPRECATION = '1';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-deprecated.js","sourceRoot":"","sources":["../../src/cli-deprecated.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-deprecated.js","sourceRoot":"","sources":["../../src/cli-deprecated.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2GAA2G,CAC5G,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,GAAG,CAAC;AAChD,CAAC;AACD,kDAAO,UAAU,IAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-methods.d.ts","sourceRoot":"","sources":["../../src/cli-methods.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAkC5C,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"cli-methods.d.ts","sourceRoot":"","sources":["../../src/cli-methods.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/cli-methods.js
CHANGED
|
@@ -15,18 +15,34 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
28
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.removeOldFiles = exports.executeCommandForPackage = exports.addCapacitor = exports.addLinesToFile = exports.executeCommandForEachPackage = exports.buildUpdated = exports.publishPackage = exports.publishUpdated = exports.compilePackageCJS = exports.compilePackageESM = exports.compilePackage = exports.buildPackage = exports.register = exports.createPackage = exports.upgradePackages = exports.buildBackend = exports.buildFrontend = exports.buildApp = exports.startServer = exports.runMethod = exports.runScript = exports.ensureEnvironmentLoaded = exports.depCheck = exports.depCheckStaged = exports.checkImports = exports.createComponent = exports.createSetComponent = exports.createShape = exports.getScriptDir = exports.setNameVariables = exports.createOntology = exports.
|
|
39
|
+
exports.removeOldFiles = exports.executeCommandForPackage = exports.addCapacitor = exports.addLinesToFile = exports.executeCommandForEachPackage = exports.buildUpdated = exports.publishPackage = exports.publishUpdated = exports.compilePackageCJS = exports.compilePackageESM = exports.compilePackage = exports.buildPackage = exports.register = exports.createPackage = exports.upgradePackages = exports.buildBackend = exports.buildFrontend = exports.buildApp = exports.startServer = exports.runMethod = exports.runScript = exports.ensureEnvironmentLoaded = exports.depCheck = exports.depCheckStaged = exports.checkImports = exports.createComponent = exports.createSetComponent = exports.createShape = exports.getScriptDir = exports.setNameVariables = exports.createOntology = exports.createApp = void 0;
|
|
40
|
+
exports.warn = warn;
|
|
41
|
+
exports.logError = logError;
|
|
42
|
+
exports.developPackage = developPackage;
|
|
43
|
+
exports.runOnPackagesGroupedByDependencies = runOnPackagesGroupedByDependencies;
|
|
44
|
+
exports.buildAll = buildAll;
|
|
45
|
+
exports.getLincdPackages = getLincdPackages;
|
|
30
46
|
const chalk_1 = __importDefault(require("chalk"));
|
|
31
47
|
const child_process_1 = require("child_process");
|
|
32
48
|
const depcheck_1 = __importDefault(require("depcheck"));
|
|
@@ -41,7 +57,7 @@ const fs_1 = require("fs");
|
|
|
41
57
|
const LinkedFileStorage_1 = require("@_linked/core/utils/LinkedFileStorage");
|
|
42
58
|
// import pkg from 'lincd/utils/LinkedFileStorage';
|
|
43
59
|
// const { LinkedFileStorage } = pkg;
|
|
44
|
-
// const config = require('
|
|
60
|
+
// const config = require('@_linked/server/site.webpack.config');
|
|
45
61
|
const glob_1 = require("glob");
|
|
46
62
|
const webpack_1 = __importDefault(require("webpack"));
|
|
47
63
|
const ora_1 = __importDefault(require("ora"));
|
|
@@ -154,13 +170,11 @@ function warn(...messages) {
|
|
|
154
170
|
// console.log(chalk.red(message));
|
|
155
171
|
});
|
|
156
172
|
}
|
|
157
|
-
exports.warn = warn;
|
|
158
173
|
function logError(...errors) {
|
|
159
174
|
errors.forEach((error) => {
|
|
160
175
|
console.error(chalk_1.default.redBright('Error: ') + error);
|
|
161
176
|
});
|
|
162
177
|
}
|
|
163
|
-
exports.logError = logError;
|
|
164
178
|
function developPackage(target, mode) {
|
|
165
179
|
if (!target)
|
|
166
180
|
target = 'es6';
|
|
@@ -186,7 +200,6 @@ function developPackage(target, mode) {
|
|
|
186
200
|
console.warn('unknown build target. Use es5 or es6');
|
|
187
201
|
}
|
|
188
202
|
}
|
|
189
|
-
exports.developPackage = developPackage;
|
|
190
203
|
function checkWorkspaces(rootPath, workspaces, res) {
|
|
191
204
|
// console.log('checking workspaces at '+rootPath+": "+workspaces.toString());
|
|
192
205
|
if (workspaces.packages) {
|
|
@@ -240,7 +253,7 @@ function runOnPackagesGroupedByDependencies(lincdPackages, onBuildStack, onStack
|
|
|
240
253
|
var pack = (0, utils_js_1.getPackageJSON)(pkg.path);
|
|
241
254
|
if (pack) {
|
|
242
255
|
//get lincd related dependencies and get the actual package details from the package map by removing '@dacore/' from the package name
|
|
243
|
-
let packageDependencies = Object.keys(pack.dependencies)
|
|
256
|
+
let packageDependencies = Object.keys(pack.dependencies || {})
|
|
244
257
|
.filter((dependency) => lincdPackages.has(dependency))
|
|
245
258
|
.map((dependency) => {
|
|
246
259
|
return lincdPackages.has(dependency)
|
|
@@ -398,7 +411,6 @@ function runOnPackagesGroupedByDependencies(lincdPackages, onBuildStack, onStack
|
|
|
398
411
|
}
|
|
399
412
|
return deferredPromise;
|
|
400
413
|
}
|
|
401
|
-
exports.runOnPackagesGroupedByDependencies = runOnPackagesGroupedByDependencies;
|
|
402
414
|
function hasDependency(pkg, childPkg, dependencies, depth = 1) {
|
|
403
415
|
console.log('Does ' + pkg.packageName + ' have dep ' + childPkg.packageName + ' ?');
|
|
404
416
|
let deps = dependencies.get(pkg);
|
|
@@ -574,6 +586,7 @@ function buildAll(options) {
|
|
|
574
586
|
}
|
|
575
587
|
(0, utils_js_1.debugInfo)('Now building: ' + chalk_1.default.blue(packageGroup.map((i) => i.packageName)));
|
|
576
588
|
return async (pkg) => {
|
|
589
|
+
var _a;
|
|
577
590
|
let command;
|
|
578
591
|
let skipping = false;
|
|
579
592
|
//if we're skipping builds until a certain package
|
|
@@ -591,16 +604,26 @@ function buildAll(options) {
|
|
|
591
604
|
}
|
|
592
605
|
//unless told otherwise, build the package
|
|
593
606
|
if (!command) {
|
|
594
|
-
|
|
595
|
-
//
|
|
596
|
-
//
|
|
597
|
-
//
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
607
|
+
// Invoke the package's own `yarn build` script. This lets each package
|
|
608
|
+
// own its build pipeline — e.g. @_linked/core uses direct tsc, pure-CSS
|
|
609
|
+
// packages may have no-op builds, and linkedPackage: true packages
|
|
610
|
+
// typically call `yarn linked build` internally.
|
|
611
|
+
const pkgDir = path_1.default.join(process.cwd(), pkg.path);
|
|
612
|
+
const pkgJson = (0, utils_js_1.getPackageJSON)(pkgDir);
|
|
613
|
+
const hasBuildScript = !!((_a = pkgJson === null || pkgJson === void 0 ? void 0 : pkgJson.scripts) === null || _a === void 0 ? void 0 : _a.build);
|
|
614
|
+
if (!hasBuildScript) {
|
|
615
|
+
// No build script — skip gracefully (e.g. a pure-assets package).
|
|
616
|
+
command = Promise.resolve(true);
|
|
617
|
+
}
|
|
618
|
+
else {
|
|
619
|
+
command = (0, utils_js_1.execPromise)('yarn build', false, false, {
|
|
620
|
+
cwd: pkgDir,
|
|
621
|
+
})
|
|
622
|
+
.then((res) => res === '' || typeof res === 'string')
|
|
623
|
+
.catch((err) => ({
|
|
624
|
+
error: err.stdout || err.stderr || String(err),
|
|
625
|
+
}));
|
|
626
|
+
}
|
|
604
627
|
log(chalk_1.default.cyan('Building ' + pkg.packageName));
|
|
605
628
|
process.stdout.write(packagesLeft + ' packages left\r');
|
|
606
629
|
}
|
|
@@ -747,7 +770,6 @@ function buildAll(options) {
|
|
|
747
770
|
}
|
|
748
771
|
}, sync);
|
|
749
772
|
}
|
|
750
|
-
exports.buildAll = buildAll;
|
|
751
773
|
function getDependentPackages(dependencies, pkg) {
|
|
752
774
|
let dependentModules = [];
|
|
753
775
|
dependencies.forEach((dModuleDependencies, dModule) => {
|
|
@@ -799,7 +821,6 @@ function getLincdPackages(rootPath = process.cwd()) {
|
|
|
799
821
|
checkWorkspaces(rootPath, pack.workspaces, res);
|
|
800
822
|
return res;
|
|
801
823
|
}
|
|
802
|
-
exports.getLincdPackages = getLincdPackages;
|
|
803
824
|
function setVariable(name, replacement) {
|
|
804
825
|
//prepare name for regexp
|
|
805
826
|
name = name.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
|
|
@@ -1054,6 +1075,10 @@ exports.createComponent = createComponent;
|
|
|
1054
1075
|
//if there is an import that imports something from outside the src folder, then warn
|
|
1055
1076
|
const checkImports = async (sourceFolder = getSourceFolder(), depth = 0, // Used to check if the import is outside the src folder
|
|
1056
1077
|
invalidImports = new Map()) => {
|
|
1078
|
+
if (!fs_extra_1.default.existsSync(sourceFolder)) {
|
|
1079
|
+
// Package has no src/ folder (e.g. pure-CSS packages). Nothing to check.
|
|
1080
|
+
return true;
|
|
1081
|
+
}
|
|
1057
1082
|
const dir = fs_extra_1.default.readdirSync(sourceFolder);
|
|
1058
1083
|
// Start checking each file in the source folder
|
|
1059
1084
|
for (const file of dir) {
|
|
@@ -1126,8 +1151,9 @@ invalidImports = new Map()) => {
|
|
|
1126
1151
|
res += chalk_1.default.red(message + '\n');
|
|
1127
1152
|
});
|
|
1128
1153
|
});
|
|
1154
|
+
// Throw so buildStep aborts the compile pipeline — relative imports MUST
|
|
1155
|
+
// have .js (or .scss) extensions for native-ESM-compatible output.
|
|
1129
1156
|
throw res;
|
|
1130
|
-
// process.exit(1);
|
|
1131
1157
|
}
|
|
1132
1158
|
else if (depth === 0 && invalidImports.size === 0) {
|
|
1133
1159
|
// console.info('All imports OK');
|
|
@@ -1294,7 +1320,7 @@ const runMethod = async (packageName, method, options) => {
|
|
|
1294
1320
|
lincdConfig.server.loadRoutes = async () => await Promise.resolve(`${path_1.default.join(process.cwd(), 'src', 'routes.tsx')}`).then(s => __importStar(require(s)));
|
|
1295
1321
|
}
|
|
1296
1322
|
//@ts-ignore
|
|
1297
|
-
const ServerClass = (await Promise.resolve().then(() => __importStar(require('
|
|
1323
|
+
const ServerClass = (await Promise.resolve().then(() => __importStar(require('@_linked/server/shapes/LincdServer'))))
|
|
1298
1324
|
.LincdServer;
|
|
1299
1325
|
await Promise.resolve(`${path_1.default.join(process.cwd(), 'scripts', 'storage-config.js')}`).then(s => __importStar(require(s)));
|
|
1300
1326
|
let server = new ServerClass(lincdConfig);
|
|
@@ -1384,7 +1410,7 @@ const startServer = async (initOnly = false, ServerClass = null) => {
|
|
|
1384
1410
|
// hook.hook('.module.css', scssLoadcall);
|
|
1385
1411
|
if (!ServerClass) {
|
|
1386
1412
|
//@ts-ignore
|
|
1387
|
-
ServerClass = (await Promise.resolve().then(() => __importStar(require('
|
|
1413
|
+
ServerClass = (await Promise.resolve().then(() => __importStar(require('@_linked/server/shapes/LincdServer')))).LincdServer;
|
|
1388
1414
|
}
|
|
1389
1415
|
await Promise.resolve(`${path_1.default.join(process.cwd(), 'scripts', 'storage-config.js')}`).then(s => __importStar(require(s)));
|
|
1390
1416
|
// Set default loadAppComponent if not provided
|
|
@@ -1887,6 +1913,21 @@ const buildPackage = async (target, target2, packagePath = process.cwd(), logRes
|
|
|
1887
1913
|
}
|
|
1888
1914
|
// Always use the resolved absolute path
|
|
1889
1915
|
packagePath = currentPath;
|
|
1916
|
+
// Guard: `linked build` only makes sense for linkedPackage. Apps must use
|
|
1917
|
+
// `linked build-app`. Plain packages (no linked flag) have no build pipeline
|
|
1918
|
+
// defined here and should have their own build script.
|
|
1919
|
+
const pkgJson = JSON.parse(fs_extra_1.default.readFileSync(path_1.default.join(packagePath, 'package.json'), 'utf8'));
|
|
1920
|
+
const isPackage = pkgJson.linkedPackage === true || pkgJson.lincd === true;
|
|
1921
|
+
const isApp = pkgJson.linkedApp === true || pkgJson.lincdApp === true;
|
|
1922
|
+
if (!isPackage) {
|
|
1923
|
+
if (isApp) {
|
|
1924
|
+
console.error(chalk_1.default.red(`'${pkgJson.name || packagePath}' is a linkedApp, not a linkedPackage. Use 'linked build-app' instead of 'linked build'.`));
|
|
1925
|
+
}
|
|
1926
|
+
else {
|
|
1927
|
+
console.error(chalk_1.default.red(`'${pkgJson.name || packagePath}' does not have 'linkedPackage: true' in package.json. 'linked build' only builds linked packages. Add the flag or run a different build command.`));
|
|
1928
|
+
}
|
|
1929
|
+
return false;
|
|
1930
|
+
}
|
|
1890
1931
|
let spinner;
|
|
1891
1932
|
if (logResults) {
|
|
1892
1933
|
//TODO: replace with listr so we can show multiple processes at once
|
|
@@ -1976,7 +2017,14 @@ const buildPackage = async (target, target2, packagePath = process.cwd(), logRes
|
|
|
1976
2017
|
buildStep({
|
|
1977
2018
|
name: 'Dual package support',
|
|
1978
2019
|
apply: () => {
|
|
1979
|
-
|
|
2020
|
+
// Skip if no tsconfig files (e.g. pure-CSS packages).
|
|
2021
|
+
if (!fs_extra_1.default.existsSync(path_1.default.join(packagePath, 'tsconfig-esm.json')) ||
|
|
2022
|
+
!fs_extra_1.default.existsSync(path_1.default.join(packagePath, 'tsconfig-cjs.json'))) {
|
|
2023
|
+
return Promise.resolve(true);
|
|
2024
|
+
}
|
|
2025
|
+
// Resolve the binary from the nearest node_modules (supports both
|
|
2026
|
+
// per-package and workspace-root installs of tsconfig-to-dual-package).
|
|
2027
|
+
return (0, utils_js_1.execPromise)('npx tsconfig-to-dual-package ./tsconfig-cjs.json ./tsconfig-esm.json', false, false, { cwd: packagePath }).then((res) => {
|
|
1980
2028
|
return res === '';
|
|
1981
2029
|
});
|
|
1982
2030
|
},
|
|
@@ -2060,15 +2108,22 @@ const compilePackage = async (packagePath = process.cwd()) => {
|
|
|
2060
2108
|
};
|
|
2061
2109
|
exports.compilePackage = compilePackage;
|
|
2062
2110
|
const compilePackageESM = async (packagePath = process.cwd()) => {
|
|
2063
|
-
//
|
|
2064
|
-
|
|
2111
|
+
// Skip packages without a tsconfig-esm.json (e.g. pure-CSS packages).
|
|
2112
|
+
if (!fs_extra_1.default.existsSync(path_1.default.join(packagePath, 'tsconfig-esm.json'))) {
|
|
2113
|
+
return true;
|
|
2114
|
+
}
|
|
2115
|
+
let compileCommand = `npx tsc -p tsconfig-esm.json`;
|
|
2065
2116
|
return (0, utils_js_1.execPromise)(compileCommand, false, false, { cwd: packagePath }).then((res) => {
|
|
2066
2117
|
return res === '';
|
|
2067
2118
|
});
|
|
2068
2119
|
};
|
|
2069
2120
|
exports.compilePackageESM = compilePackageESM;
|
|
2070
2121
|
const compilePackageCJS = async (packagePath = process.cwd()) => {
|
|
2071
|
-
|
|
2122
|
+
// Skip packages without a tsconfig-cjs.json.
|
|
2123
|
+
if (!fs_extra_1.default.existsSync(path_1.default.join(packagePath, 'tsconfig-cjs.json'))) {
|
|
2124
|
+
return true;
|
|
2125
|
+
}
|
|
2126
|
+
let compileCommand = `npx tsc -p tsconfig-cjs.json`;
|
|
2072
2127
|
return (0, utils_js_1.execPromise)(compileCommand, false, false, { cwd: packagePath })
|
|
2073
2128
|
.then((res) => {
|
|
2074
2129
|
return res === '';
|